@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP&display=swap");
html {
  font-size: 62.5%;
}

@media screen and (max-width: 1023px) {
  html {
    /*font-size: calc(100vw / 140.0);*/
    font-size: 2.1vw;
  }
}
@media screen and (min-width: 751px) {
  body {
    font-size: 1.6rem;
    line-height: 1.6;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    color: #2E3234;
    background: #fff;
  }
}
@media screen and (max-width: 750px) {
  body {
    font-size: 1.7rem;
    line-height: 1.6;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    color: #2E3234;
    background: #fff;
  }
}
.montserrat, .fair_price.attention .prepend .ttl .en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.tcenter {
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .vsp {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .vpc {
    display: none !important;
  }
}
a {
  color: #2E3234;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

input[type=text],
input[type=email],
input[type=password],
input[type=date],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0.5rem;
  margin: 0;
  border: none;
  box-sizing: border-box;
  width: auto;
  max-width: 100%;
  vertical-align: middle;
  border-width: 1px;
  border-color: #c6c6c6;
  border-style: solid;
  background-color: #fff;
  font-size: 1.6rem;
}

textarea {
  width: 60rem;
  height: 14rem;
}

input[type=date] {
  width: 23rem;
}

input[type=checkbox],
input[type=radio] {
  margin-right: 0.5rem;
  width: 1.3rem;
  height: 1.3rem;
}

@media screen and (max-width: 1023px) {
  textarea {
    width: auto;
    height: 14rem;
  }
}
@media screen and (max-width: 767px) {
  input[type=text],
  input[type=email],
  input[type=password],
  input[type=date],
  textarea {
    width: 100%;
  }
  input[type=date] {
    width: 130px;
    height: 34px;
  }
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0.5rem;
  margin: 0;
  border: none;
  box-sizing: border-box;
  vertical-align: middle;
  border-width: 1px;
  border-color: #c6c6c6;
  border-style: solid;
  background-color: #fff;
  background: #fff url(../img/icon_select.png) calc(100% - 1.5rem) 50%/1rem auto no-repeat;
  font-size: 1.6rem;
  padding-right: 4rem;
}

@media screen and (min-width: 1024px) {
  #body {
    position: relative;
    background: #143c6c;
    padding: 0rem 2rem 0rem 2rem;
  }
  main {
    background: #fff;
    overflow: hidden;
  }
}
@media screen and (max-width: 1023px) {
  #body {
    width: 100%;
    overflow: hidden;
    background: #143c6c;
    padding: 10rem 0rem 0rem 0rem;
    position: relative;
  }
  main {
    background: #fff;
  }
  img {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 780px) {
  #body {
    width: 100%;
    overflow: hidden;
    background: #143c6c;
    padding: 10rem 0rem 0rem 0rem;
  }
  img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
}
/*　　　共通箇所　　 */
section.common-price .table-wrap {
  max-width: 70rem;
}

section.common-price table {
  border: 1px solid #3087c2;
}

section.common-price .table-wrap .text {
  padding: 1.7rem 1.5rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

section.common-price table .price span {
  font-size: 1.8rem;
}

header {
  border: none;
  position: absolute;
  z-index: 100;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  box-sizing: border-box;
  overflow: hidden;
}

@media screen and (min-width: 1024px) {
  header {
    padding: 2rem 2rem 0;
    background: #143c6c;
  }
  main {
    padding: 12rem 0 0 0;
  }
}
@media screen and (max-width: 1023px) {
  header {
    height: 10rem;
    background: #143c6c;
    padding-top: 1.5rem;
  }
  main {
    padding: 0;
  }
}
/*　header中身　*/
header .logo a {
  display: block;
}

@media screen and (min-width: 1024px) {
  header .inner {
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    height: 10rem;
    padding: 1rem 6rem 0 5.5rem;
    background: #fff;
    border-radius: 1rem 1rem 0 0;
  }
  header .logo {
    width: 21.2rem;
  }
  header .logo a {
    transition: opacity 0.2s;
  }
  header .logo a:hover {
    opacity: 0.6;
  }
  header nav {
    display: flex;
    gap: 4rem;
    padding: 1rem 0 0;
  }
  header nav .gnavi {
    display: flex;
    gap: 3.5rem;
  }
  header nav .gnavi > li {
    text-align: center;
    height: 6rem;
  }
  header nav .gnavi > li > .label,
  header nav .gnavi > li > a {
    display: block;
    text-decoration: none;
    position: relative;
    z-index: 1;
    line-height: 1;
    padding-bottom: 3rem;
    font-weight: 700;
    font-size: 1.6rem;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    padding-bottom: 10rem;
  }
  header nav .gnavi > li > .label::after,
  header nav .gnavi > li > a::after {
    content: "";
    position: absolute;
    bottom: 7.5rem;
    left: calc(50% - 0.45rem);
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 100%;
    background: #0e86c2;
  }
  header nav .gnavi > li > .label:hover::after,
  header nav .gnavi > li > a:hover::after {
    background: #8ec43e;
  }
  header nav .button {
    width: 22rem;
  }
  header nav .button a {
    display: block;
    padding: 0 0 0 1rem;
    background: #FFD600 no-repeat;
    background-image: url(../img/ico-contact.png), url(../img/arw01.svg);
    background-position: 3.2rem 50%, calc(100% - 2rem) 50%;
    background-size: 2.2rem auto, 0.6rem auto;
    border-radius: 2.8rem;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 5.6rem;
    text-align: center;
    text-decoration: none;
    transition: opacity 500ms 0s ease;
  }
  header nav .button a:hover {
    opacity: 0.6;
  }
  header .menu {
    display: none;
    position: absolute;
    top: -1.6rem;
    right: 0;
    width: 14rem;
    height: 9rem;
    border-radius: 0 0 0 5rem;
    background: #143c6c;
    cursor: pointer;
    z-index: 1;
  }
  .scrolltop header .menu {
    height: 12rem;
  }
  header .menu span {
    display: block;
    color: #fff;
    padding-top: 6rem;
    text-align: center;
  }
  .scrolltop header .menu span {
    padding-top: 8rem;
  }
  header .menu::before,
  header .menu::after,
  header .menu span::after {
    content: "";
    display: block;
    position: absolute;
    top: 0rem;
    left: 4.4rem;
    width: 5rem;
    height: 0.3rem;
    background: #fff;
    transition: all 200ms 0s ease;
  }
  header .menu::before {
    top: 1.9rem;
  }
  header .menu::after {
    top: 3.4rem;
    left: 3.2rem;
  }
  header .menu span::after {
    top: 4.8rem;
  }
  .scrolltop header .menu::before {
    top: 3.4rem;
  }
  .scrolltop header .menu::after {
    top: 4.9rem;
  }
  .scrolltop header .menu span::after {
    top: 6.3rem;
  }
  header .menu.open::before {
    transform: rotate(-30deg);
    top: 3.5rem;
  }
  header .menu.open::after {
    opacity: 0;
  }
  header .menu.open span::after {
    transform: rotate(30deg);
    top: 3.5rem;
  }
  .scrolltop header .menu.open::before {
    top: 5rem;
  }
  .scrolltop header .menu.open span::after {
    top: 5rem;
  }
}
@media screen and (max-width: 1280px) {
  header nav .gnavi > li > .label,
  header nav .gnavi > li > a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1150px) {
  header nav {
    gap: 2rem;
  }
  header nav .gnavi {
    gap: 2rem;
  }
  header nav .button {
    width: 18rem;
  }
  header nav .button a {
    background-position: 2rem 50%, calc(100% - 2rem) 50%;
  }
  header nav .gnavi > li > .label,
  header nav .gnavi > li > a {
    font-size: 1.3rem;
    white-space: nowrap;
  }
}
@media screen and (max-width: 1023px) {
  header .inner {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background: #fff;
    position: relative;
  }
  header .logo {
    position: absolute;
    top: 1.5rem;
    left: 2rem;
    z-index: 1;
    line-height: 0;
    /*max-width: 26.0rem;*/
    width: 30%;
  }
  header .logo img {
    width: 100%;
    height: auto;
  }
  header nav {
    position: absolute;
    top: 1.5rem;
    left: 22rem;
    width: calc(100% - 22rem - 10rem);
    z-index: 1;
  }
  header nav .gnavi {
    display: none;
  }
  header nav .button {
    width: 100%;
  }
  header nav .button a {
    display: block;
    padding: 0 0 0 1rem;
    background: #FFD600 no-repeat;
    background-image: url(../img/ico-contact.png), url(../img/arw01.svg);
    background-position: 1.6rem 50%, calc(100% - 1.6rem) 50%;
    background-size: 1.7rem auto, 0.6rem auto;
    border-radius: 2.4rem;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 4.8rem;
    text-align: center;
    text-decoration: none;
    transition: opacity 500ms 0s ease;
  }
  header .menu {
    position: absolute;
    top: -1.6rem;
    right: 0;
    width: 8rem;
    height: 8.5rem;
    border-radius: 0 0 0 4rem;
    background: #143c6c;
    cursor: pointer;
    display: block;
    z-index: 1;
  }
  header .menu span {
    display: block;
    color: #fff;
    padding-top: 5.5rem;
    padding-left: 1.5rem;
    text-align: center;
    font-size: 1.3rem;
  }
  header .menu::before,
  header .menu::after,
  header .menu span::after {
    content: "";
    display: block;
    position: absolute;
    top: 0rem;
    left: 3rem;
    width: 3rem;
    height: 0.3rem;
    background: #fff;
    transition: all 200ms 0s ease;
  }
  header .menu::before {
    top: 2.5rem;
  }
  header .menu::after {
    top: 3.7rem;
    left: 3rem;
  }
  header .menu span::after {
    top: 4.8rem;
  }
  header .menu.open::before {
    transform: rotate(-30deg);
    top: 3.5rem;
  }
  header .menu.open::after {
    opacity: 0;
  }
  header .menu.open span::after {
    transform: rotate(30deg);
    top: 3.5rem;
  }
}
@media screen and (min-width: 1024px) {
  nav.gmenu {
    display: block;
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    z-index: 100;
    background: #143c6c;
    padding: 9rem 2rem 1.6rem 2rem;
    box-sizing: border-box;
    height: 200vh;
    opacity: 0;
  }
  .scrolltop nav.gmenu {
    padding-top: 14rem;
  }
  nav.gmenu .inner {
    height: calc(100vh - 9rem - 1.6rem);
    background: #fff;
    border-radius: 0 0 1rem 1rem;
    overflow-y: auto;
    padding: 0 0 0 50rem;
    position: relative;
  }
  .scrolltop nav.gmenu .inner {
    height: calc(100vh - 14rem - 1.6rem);
  }
  nav.gmenu .image {
    position: absolute;
    top: 9rem;
    left: 2rem;
    width: 44.2rem;
    z-index: 1;
    height: calc(100vh - 9rem - 1.6rem);
    overflow: hidden;
    border-radius: 0 3rem 0 1rem;
  }
  .scrolltop nav.gmenu .image {
    top: 14rem;
    height: calc(100vh - 14rem - 1.6rem);
  }
  nav.gmenu .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  nav.gmenu .link-home {
    width: 100%;
    margin-bottom: 4rem;
  }
  nav.gmenu .link-home a {
    background: url(../img/gmenu_icon_arrow.png) 100% 50% no-repeat;
    padding-right: 1.5rem;
    text-decoration: none;
    font-size: 1.4rem;
    transition: opacity 500ms 0s ease;
  }
  nav.gmenu .link-home a:hover {
    opacity: 0.6;
  }
  nav.gmenu .link-block-wrap {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    padding-right: 5rem;
  }
  nav.gmenu .link-block-wrap::after {
    content: "";
    display: block;
    width: 30%;
    height: 0;
  }
  nav.gmenu .link-block {
    width: 30%;
    margin-bottom: 4rem;
  }
  nav.gmenu .link-block .heading {
    max-width: 20rem;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
    border-bottom: solid 2px #3087c2;
    font-size: 1.8rem;
    font-weight: 700;
    color: #3087c2;
  }
  nav.gmenu .link-block .heading a {
    display: block;
    background: url(../img/gmenu_icon_arrow.png) 100% 50% no-repeat;
    padding-right: 1.5rem;
    transition: opacity 500ms 0s ease;
    font-size: 1.8rem;
    color: #3087c2;
  }
  nav.gmenu .link-block .heading a:hover {
    opacity: 0.6;
  }
  nav.gmenu .link-block li {
    margin-bottom: 10px;
  }
  nav.gmenu .link-block a {
    background: url(../img/gmenu_icon_arrow.png) 0% 50% no-repeat;
    text-decoration: none;
    font-size: 1.5rem;
    padding-left: 1.5rem;
    transition: opacity 500ms 0s ease;
  }
  nav.gmenu .link-block a:hover {
    opacity: 0.6;
  }
  nav.gmenu .button-block {
    display: flex;
    justify-content: center;
    width: 100%;
    padding-bottom: 2rem;
    margin: 0 -2rem;
  }
  nav.gmenu .button-block .button {
    width: calc(50% - 1rem);
    max-width: 37rem;
    margin: 0 2rem;
  }
  nav.gmenu .button-block .name {
    display: block;
    font-size: 1.8rem;
  }
  nav.gmenu .button-block .tel {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 1.9rem;
    padding-left: 2.8rem;
    background: url(../img/icon_tel_white.png) 0% 50%/2.3rem auto no-repeat;
  }
  nav.gmenu .button-block a:hover .tel {
    background: url(../img/icon_tel_blue.png) 0% 50%/2.3rem auto no-repeat;
  }
  nav.gmenu .button-block .time {
    display: block;
    font-size: 1.5rem;
  }
  nav.gmenu .button-block a {
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: block;
    color: #fff;
    text-align: center;
    border-radius: 0.5rem;
    padding: 1rem;
  }
  nav.gmenu .button-block .button:nth-child(1) a {
    background: #3771c8;
    border: solid 0.2rem #3771c8;
  }
  nav.gmenu .button-block .button:nth-child(1) a:hover {
    color: #3771c8;
    background: #fff;
  }
  nav.gmenu .button-block .button:nth-child(2) a {
    background: #0e86c2;
    border: solid 0.2rem #0e86c2;
  }
  nav.gmenu .button-block .button:nth-child(2) a:hover {
    color: #0e86c2;
    background: #fff;
  }
}
@media screen and (max-width: 1023px) {
  nav.gmenu {
    display: block;
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    z-index: 100;
    background: #fff;
    padding: 10rem 0rem 0rem 0rem;
    box-sizing: border-box;
    opacity: 0;
  }
  nav.gmenu .inner {
    height: calc(100vh - 10rem);
    background: #fff;
    overflow-y: auto;
    padding: 2rem;
    position: relative;
  }
  nav.gmenu .image {
    display: none;
  }
  nav.gmenu .link-home {
    margin: 0 2rem;
    margin-bottom: 2rem;
  }
  nav.gmenu .link-home a {
    text-decoration: none;
    font-size: 1.4rem;
  }
  nav.gmenu .link-block {
    margin: 0 2rem;
  }
  nav.gmenu .link-block .heading {
    padding: 1.5rem;
    margin-bottom: 0.5rem;
    border-bottom: dotted 1px;
    font-size: 1.6rem;
    font-weight: 600;
    background: url(../img/sp_gmenu_icon_plus.png) calc(100% - 0.5rem) 50%/1.5rem auto no-repeat;
  }
  nav.gmenu .link-block.open .heading {
    background: url(../img/sp_gmenu_icon_minus.png) calc(100% - 0.5rem) 50%/1.5rem auto no-repeat;
  }
  nav.gmenu .link-block .heading a {
    display: block;
    pointer-events: none;
  }
  nav.gmenu .link-block .heading.link {
    background: url(../img/sp_gmenu_icon_arrow.png) calc(100% - 0.5rem) 50%/1.5rem auto no-repeat;
  }
  nav.gmenu .link-block .heading.link a {
    pointer-events: auto;
  }
  nav.gmenu .link-block ul {
    padding-left: 2rem;
    margin-bottom: 1rem;
    overflow: hidden;
    max-height: 0;
    transition: all 200ms 0s ease;
  }
  nav.gmenu .link-block.open ul {
    display: block;
    max-height: 50vh;
    background-color: #e9f0f5;
  }
  nav.gmenu .link-block a {
    text-decoration: none;
    font-size: 1.5rem;
    padding: 1rem 0;
    display: block;
  }
  nav.gmenu .button-block {
    width: 100%;
    padding-top: 3rem;
  }
  nav.gmenu .button-block .button {
    margin: 2rem 0;
  }
  nav.gmenu .button-block .name {
    display: block;
    font-size: 1.8rem;
  }
  nav.gmenu .button-block .tel {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 1.9rem;
    padding-left: 2.8rem;
    background: url(../img/icon_tel_white.png) 0% 50%/2.3rem auto no-repeat;
  }
  nav.gmenu .button-block a:hover .tel {
    background: url(../img/icon_tel_blue.png) 0% 50%/2.3rem auto no-repeat;
  }
  nav.gmenu .button-block .time {
    display: block;
    font-size: 1.5rem;
  }
  nav.gmenu .button-block a {
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: block;
    color: #fff;
    text-align: center;
    border-radius: 0.5rem;
    padding: 1rem;
  }
  nav.gmenu .button-block .button:nth-child(1) a {
    background: #3771c8;
    border: solid 0.2rem #3771c8;
  }
  nav.gmenu .button-block .button:nth-child(1) a:hover {
    color: #3771c8;
    background: #fff;
  }
  nav.gmenu .button-block .button:nth-child(2) a {
    background: #0e86c2;
    border: solid 0.2rem #0e86c2;
  }
  nav.gmenu .button-block .button:nth-child(2) a:hover {
    color: #0e86c2;
    background: #fff;
  }
}
@media screen and (min-width: 1024px) {
  .mainvisual {
    padding: 0 5.3rem;
    position: relative;
  }
  .mainvisual .mainimage {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 0 0 3rem 0;
    padding-bottom: 3rem;
  }
  .mainvisual .mainimage img {
    width: 100%;
    height: auto;
  }
  .mainvisual .title {
    position: absolute;
    bottom: -1rem;
    left: 5.3rem;
    background: #fff;
    border-radius: 0 2rem 2rem 0;
    overflow: hidden;
    z-index: 2;
    padding: 4rem 5rem 4rem 5rem;
    font-weight: 500;
    /* font-family: "Zen Maru Gothic", serif; */
  }
  .mainvisual .title::before {
    content: "";
    display: block;
    width: 80%;
    height: 0.5rem;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #0e86c2;
  }
  .mainvisual .title .jp {
    display: inline-block;
    font-size: 2.8rem;
  }
  .mainvisual .title .en {
    display: inline-block;
    color: #0e86c2;
    font-family: "Montserrat", sans-serif;
    margin-left: 5rem;
    font-size: 1.8rem;
  }
  .mainvisual .breadcrumb {
    position: absolute;
    bottom: 0;
    right: 5.3rem;
    z-index: 1;
  }
  .mainvisual .breadcrumb ul {
    margin-right: 2rem;
  }
  .mainvisual .breadcrumb ul li {
    display: inline-block;
    background: url(../img/icon_arrow_breadcrumb.png) calc(100% - 0.5rem) calc(50% + 0.2rem)/0.6rem auto no-repeat;
    padding-right: 2.3rem;
    font-size: 1.2rem;
  }
  .mainvisual .breadcrumb ul li:last-child {
    background: none;
    padding-right: 0;
  }
}
@media screen and (max-width: 1023px) {
  .mainvisual {
    padding: 2rem;
    position: relative;
  }
  .mainvisual .mainimage {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 0 0 3rem 0;
  }
  .mainvisual .mainimage img {
    width: 100%;
    height: 40vw;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .mainvisual .title {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    background: #fff;
    border-radius: 0 2rem 2rem 0;
    overflow: hidden;
    z-index: 2;
    padding: 2rem;
  }
  .mainvisual .title::before {
    content: "";
    display: block;
    width: 80%;
    height: 0.5rem;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #0e86c2;
  }
  .mainvisual .title .jp {
    display: inline-block;
    font-size: 1.6rem;
  }
  .mainvisual .title .en {
    display: inline-block;
    color: #0e86c2;
    font-family: "Montserrat", sans-serif;
    margin-left: 2rem;
    font-size: 1.4rem;
  }
  .mainvisual .breadcrumb {
    text-align: right;
    position: absolute;
    right: auto;
    left: 2rem;
  }
  .mainvisual .breadcrumb ul {
    margin-right: 2rem;
  }
  .mainvisual .breadcrumb ul li {
    display: inline-block;
    background: url(../img/icon_arrow_breadcrumb.png) calc(100% - 0.5rem) calc(50% + 0.2rem)/0.6rem auto no-repeat;
    padding-right: 2.3rem;
    font-size: 1.2rem;
  }
  .mainvisual .breadcrumb ul li:last-child {
    background: none;
    padding-right: 0;
  }
}
@media screen and (max-width: 780px) {
  .mainvisual .title {
    position: absolute;
    bottom: 2rem;
    left: 1rem;
    background: #fff;
    border-radius: 0 2rem 0 0;
    overflow: hidden;
    z-index: 2;
    padding: 1.5rem;
  }
  .mainvisual .title::before {
    content: "";
    display: block;
    width: 90%;
    height: 0.3rem;
    position: absolute;
    bottom: 0;
    left: 1rem;
    background: #0e86c2;
  }
  .mainvisual .title .jp {
    display: inline-block;
    font-size: 1.5rem;
  }
  .mainvisual .title .en {
    display: inline-block;
    color: #0e86c2;
    font-family: "Montserrat", sans-serif;
    margin-left: 2rem;
    font-size: 1.3rem;
  }
  .mainvisual .breadcrumb ul li {
    display: inline-block;
    background: url(../img/icon_arrow_breadcrumb.png) calc(100% - 0.5rem) calc(50% + 0.2rem)/0.6rem auto no-repeat;
    padding-right: 2.3rem;
    font-size: 1.2rem;
  }
  .mainvisual .breadcrumb ul li:last-child {
    background: none;
    padding-right: 0;
  }
}
/*　footer　*/
footer .footer-info .detail-right .bnr-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

footer .footer-info .detail-right .bnr-list li {
  width: calc(50% - 0.5rem);
}

footer .footer-info .detail-right .bnr-list a {
  display: block;
  transition: opacity 0.2s;
}

footer .footer-info .detail-right .bnr-list a:hover {
  opacity: 0.8;
}

footer .footer-info .detail-right .bnr-list-three {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

footer .footer-info .detail-right .bnr-list-three li a {
  display: block;
}

footer .footer-info .detail-right .bnr-list-three li a.gaiso {
  margin-bottom: 1rem;
}

footer .footer-info .detail-right .bnr-list-two {
  display: flex;
  align-items: center;
  gap: 1rem;
}

footer .footer-link .link-block {
  align-self: stretch;
}

footer .footer-link .link-block p.heading {
  font-weight: 600;
  color: #3087c2;
}

@media screen and (min-width: 1024px) {
  footer {
    position: relative;
    padding-bottom: 9rem;
    background: #143c6c;
  }
  footer::before {
    content: url("../img/ashirai_town.png");
    position: absolute;
    right: 0;
    top: -132px;
    z-index: 0;
  }
  .home footer::before {
    content: none;
  }
  footer .inner {
    background: #fff;
    padding-bottom: 5rem;
  }
  .footer-contact-wrap {
    background: url(../img/footer_contact_bg.jpg) center/cover no-repeat;
    padding: 9.5rem 0;
  }
  .footer-contact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    max-width: 110rem;
    margin: 0 auto;
    padding: 0 2rem;
  }
  .footer-contact .heading-block {
    color: #fff;
  }
  .footer-contact .heading-block .heading {
    margin-bottom: 4rem;
  }
  .footer-contact .heading-block .heading .en {
    font-family: "Montserrat", sans-serif;
    font-size: 5.2rem;
    display: block;
    font-weight: normal;
    line-height: 1.4;
    margin-bottom: 0rem;
  }
  .footer-contact .heading-block .heading .jp {
    font-size: 2rem;
  }
  .footer-contact .heading-block .text {
    /*text-decoration: underline;*/
    line-height: 2.5;
  }
  .footer-contact .button-block {
    max-width: 65rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .footer-contact .button-block .button-contact {
    width: 100%;
    margin-bottom: 1rem;
  }
  .footer-contact .button-block .button-tel {
    width: calc(50% - 0.5rem);
  }
  .footer-contact .button-block .button-contact a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 12.2rem;
    padding: 0 2rem 0 4rem;
    background: #fff;
    border-radius: 1rem;
    text-decoration: none;
    transition: all 500ms 0s ease;
  }
  .footer-contact .button-block .button-contact a:hover {
    background: #E8F6FD;
  }
  .footer-contact .button-block .button-contact a .lead {
    display: block;
    padding: 0 0 0 4rem;
    background: url(../img/footer_contact_icon_mail.png) 0 50% no-repeat;
    font-size: 2.5rem;
    line-height: 1.5;
    font-weight: 700;
  }
  .footer-contact .button-block .button-contact a .lead span {
    display: block;
  }
  .footer-contact .button-block .button-contact a .caption {
    display: grid;
    place-items: center;
    width: 28rem;
    height: 5rem;
    background: #FFD600 url(../img/arw01.svg) calc(100% - 1.4rem) 50%/0.7rem auto no-repeat;
    border-radius: 2.5rem;
    font-size: 1.6rem;
    font-weight: 700;
  }
  .footer-contact .button-block .button-tel a {
    background: #fff;
    border-radius: 1rem;
    text-align: center;
    display: block;
    width: 100%;
    height: 100%;
    padding: 2rem 0;
    text-decoration: none;
    transition: all 500ms 0s ease;
  }
  .footer-contact .button-block .button-tel a:hover {
    background: #E8F6FD;
  }
  .footer-contact .button-block .button-tel a .name {
    display: block;
    width: fit-content;
    margin: 0 auto;
    padding: 0 1rem;
    background: #0E86C2;
    border-radius: 10rem;
    color: #fff;
  }
  .footer-contact .button-block .button-tel a .tel {
    display: inline-block;
    background: url(../img/icon_tel_blue.png) 0 50% no-repeat;
    padding-left: 3rem;
    font-size: 3.2rem;
    font-weight: 600;
  }
  .footer-contact .button-block .button-tel a .time {
    display: block;
    font-size: 1.2rem;
  }
  footer .footer-google {
    width: 100%;
    background: #eaf1f5;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 7px 0 3px;
  }
  footer .footer-google .heading {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0.5rem;
  }
  footer .footer-google .review {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  footer .footer-google .kakegawa {
    margin-right: 30px;
  }
  footer .footer-google .logo {
    margin-right: 0.5rem;
    width: 80px;
  }
  footer .footer-google .label {
    margin-right: 2.5rem;
    font-size: 1.4rem;
  }
  footer .footer-google .star {
    margin-right: 1.5rem;
    width: auto;
    font-size: 1.4rem;
    font-weight: 600;
    display: flex;
  }
  footer .footer-google .star span {
    margin-right: 10px;
  }
  footer .footer-google .star img {
    width: 100px;
    object-fit: contain;
  }
  footer .footer-google .review .point a {
    font-size: 1.4rem;
    font-weight: 500;
  }
  footer .footer-info {
    display: flex;
    justify-content: left;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    max-width: 110rem;
    padding: 5rem 1.5rem 7rem;
  }
  footer .footer-info .detail {
    width: 50%;
    font-size: 1.4rem;
  }
  footer .footer-info .detail .logo {
    margin-bottom: 5rem;
  }
  footer .footer-info .detail .address {
    margin-bottom: 2rem;
  }
  footer .footer-info .detail .time {
    margin-bottom: 1rem;
    padding-left: 5em;
    text-indent: -5em;
  }
  footer .footer-info .detail-right {
    max-width: 54rem;
    width: 50%;
  }
  footer .footer-info .detail-right .text {
    padding: 3rem 3rem;
    background: #e2f0f8;
    border-radius: 1rem;
    font-size: 1.4rem;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  footer .footer-info .detail-right .text .area-map {
    width: 45%;
  }
  footer .footer-info .detail-right .text .area-list {
    width: 50%;
  }
  footer .footer-info .detail-right .text .area-list h4 {
    font-weight: 700;
    margin-bottom: 10px;
  }
  footer .footer-info .detail-right .text .area-list ul {
    display: flex;
    flex-wrap: wrap;
  }
  footer .footer-info .detail-right .text .area-list ul li {
    width: 48%;
    margin-bottom: 5px;
  }
  footer .footer-link {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    max-width: 110rem;
    margin: 0 auto;
    padding: 0 2rem;
  }
  footer .footer-link .link-block {
    width: 26%;
    border-left: solid 1px #c5e4fb;
    padding-left: 2rem;
  }
  footer .footer-link .link-block.wide {
    align-self: flex-start;
    width: 48%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border-left: none;
    padding-left: 0rem;
  }
  footer .footer-link .link-block.wide p.heading {
    width: 100%;
  }
  footer .footer-link .link-block.wide ul {
    width: 50%;
  }
  footer .footer-link .link-line {
    width: 100%;
    text-align: center;
    margin: 6rem 0;
  }
  footer .footer-link .link-block p.heading {
    background: url(../img/footer_link_icon_house.png) 0 50% no-repeat;
    padding-left: 3rem;
    margin-bottom: 1rem;
    font-size: 1.5rem;
  }
  footer .footer-link .link-block ul {
    padding-left: 3rem;
  }
  footer .footer-link .link-block ul a {
    text-decoration: none;
    transition: opacity 500ms 0s ease;
    font-size: 1.4rem;
  }
  footer .footer-link .link-block ul a:hover {
    opacity: 0.6;
  }
  footer .footer-link .link-line ul {
    text-align: center;
  }
  footer .footer-link .link-line ul li {
    display: inline-block;
  }
  footer .footer-link .link-line ul li::after {
    content: " | ";
    color: #d2d2d2;
    margin: 0 0.5rem;
  }
  footer .footer-link .link-line ul li:last-child::after {
    content: none;
  }
  footer .footer-link .link-line ul li a {
    text-decoration: none;
    transition: opacity 500ms 0s ease;
    font-size: 1.4rem;
  }
  footer .footer-link .link-line ul li a:hover {
    opacity: 0.6;
  }
  footer .copyright {
    text-align: center;
    font-size: 1.2rem;
    letter-spacing: 0.06em;
  }
  footer .footer-fixed {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  footer {
    position: relative;
    padding-bottom: 2rem;
    background: #143c6c;
  }
  footer::before {
    content: "";
    background-image: url("../img/ashirai_town.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 60vw;
    height: 13.6vw;
    display: inline-block;
    position: absolute;
    right: 0;
    top: -12vw;
    z-index: 0;
  }
  footer .inner {
    background: #fff;
    padding-bottom: 2rem;
  }
  .footer-contact-wrap {
    background: #2a5182 url(../img/sp_footer_contact_bg.jpg) 0% 100%/100% auto no-repeat;
    padding: 2rem;
  }
  .footer-contact {
    margin: 0 auto;
    padding-bottom: 4rem;
    text-align: center;
  }
  .footer-contact .heading-block {
    color: #fff;
    margin-bottom: 2rem;
  }
  .footer-contact .heading-block .heading {
    margin-bottom: 2rem;
  }
  .footer-contact .heading-block .heading .en {
    font-family: "Montserrat", sans-serif;
    font-size: 3rem;
    display: block;
  }
  .footer-contact .heading-block .heading .jp {
    font-size: 2rem;
  }
  .footer-contact .heading-block .text {
    text-decoration: underline;
    line-height: 2;
  }
  .footer-contact .button-block .button-contact {
    width: 100%;
    margin-bottom: 2rem;
  }
  .footer-contact .button-block .button-tel {
    margin-bottom: 2rem;
  }
  .footer-contact .button-block .button-contact a {
    display: block;
    padding: 2.5rem 0 1.5rem;
    text-align: center;
    text-decoration: none;
  }
  .footer-contact .button-block .button-contact a .lead {
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
  }
  .footer-contact .button-block .button-contact a .lead .pc {
    display: none;
  }
  .footer-contact .button-block .button-contact a .lead::before, .footer-contact .button-block .button-contact a .lead::after {
    content: "/";
    display: inline-block;
    font-size: 2.8rem;
    margin: 0 0.5em;
  }
  .footer-contact .button-block .button-contact a .lead::before {
    scale: -1 1;
  }
  .footer-contact .button-block .button-contact a .caption {
    display: grid;
    place-items: center;
    width: 34rem;
    height: 5.6rem;
    margin: 1rem auto 0;
    font-size: 1.8rem;
    font-weight: 700;
    background: #FFD600 no-repeat;
    background-image: url(../img/sp_footer_contact_icon_mail.png), url(../img/arw01.svg);
    background-position: 2rem 50%, calc(100% - 2rem) 50%;
    background-size: 1.7rem auto, 0.6rem auto;
    border-radius: 2.8rem;
  }
  .footer-contact .button-block .button-tel a {
    container-type: inline-size;
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: auto 1fr auto;
    gap: 0 1.4492753623cqw;
    padding: 0 0 0 2.8985507246cqw;
    background: #fff;
    border-radius: 3.768115942cqw;
    text-decoration: none;
  }
  .footer-contact .button-block .button-tel a .name {
    grid-row: 1/2;
    grid-column: 1/2;
    align-self: center;
    display: grid;
    place-items: center;
    width: 17.3913043478cqw;
    height: 6.9565217391cqw;
    background: #0E86C2;
    border-radius: 3.4782608696cqw;
    color: #fff;
    font-size: 4.0579710145cqw;
  }
  .footer-contact .button-block .button-tel a .tel {
    grid-row: 1/2;
    grid-column: 2/3;
    font-size: 8.6956521739cqw;
    line-height: 15.9420289855cqw;
    text-align: left;
  }
  .footer-contact .button-block .button-tel a .time {
    grid-row: 2/3;
    grid-column: 1/3;
    padding: 0 0 2.8985507246cqw;
    text-align: left;
    font-size: 3.4782608696cqw;
    line-height: 1;
  }
  .footer-contact .button-block .button-tel a::after {
    content: "発信 >";
    grid-row: 1/3;
    grid-column: 3/4;
    width: 20.2898550725cqw;
    padding: 16.231884058cqw 0 0;
    background: #E2F0F8 url(../img/ico-tel02.svg) 50% 5.2173913043cqw/8.6956521739cqw auto no-repeat;
    border-radius: 0 3.768115942cqw 3.768115942cqw 0;
    color: #0E86C2;
    font-size: 3.4782608696cqw;
    line-height: 1;
    text-align: center;
  }
  /*.footer-contact .button-block .button-tel a .name {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background: #fae4c0;
    border-radius: 10rem;
    padding: 0 2rem;
    display: block;
    margin: 0 auto;
  }

  .footer-contact .button-block .button-tel a .tel {
    display: inline-block;
    background: url(../img/sp_icon_tel.png) 0 50%/2rem auto no-repeat;
    padding-left: 3rem;
    font-size: 2rem;
  }

  .footer-contact .button-block .button-tel a .time {
    display: block;
    font-size: 1.2rem;
  }*/
  footer .footer-google {
    width: 100%;
    background: #eaf1f5;
    padding: 1rem;
  }
  footer .footer-google .heading {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0.5rem;
  }
  footer .footer-google .review {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: 1.2rem;
  }
  footer .footer-google .logo {
    margin-right: 0.5rem;
  }
  footer .footer-google .label {
    margin-right: 2.5rem;
  }
  footer .footer-google .star {
    margin-top: -0.8rem;
    margin-right: 0.5rem;
    width: auto;
    display: flex;
  }
  footer .footer-google .star span {
    margin-right: 10px;
    width: 100%;
  }
  footer .footer-google .star img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  footer .footer-google .point {
    font-size: 1.1rem;
  }
  footer .footer-info {
    margin: 0 auto;
    margin-bottom: 3rem;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
  }
  footer .footer-info .detail {
    padding: 0;
    text-align: left;
    font-size: 1.1rem;
    width: 55%;
  }
  footer .footer-info .detail .logo {
    max-width: 20rem;
    margin-bottom: 2rem;
  }
  footer .footer-info .detail .address {
    margin-bottom: 1rem;
  }
  footer .footer-info .detail .tel {
    text-align: left;
  }
  footer .footer-info .detail .time {
    text-align: left;
    margin-bottom: 1rem;
    padding-left: 5em;
    text-indent: -5em;
  }
  footer .footer-info .detail .holiday {
    text-align: left;
  }
  footer .footer-info .text {
    padding: 1.5rem;
    background: #e2f0f8;
    border-radius: 1rem;
    font-size: 1rem;
    margin-bottom: 20px;
    line-height: 1.5;
  }
  footer .footer-info .detail-right {
    width: 40%;
  }
  footer .footer-info .detail-right .bnr-blc li a:hover {
    opacity: 0.9;
  }
  footer .footer-link {
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  footer .footer-link .link-block {
    margin-bottom: 2rem;
    width: 45%;
  }
  footer .footer-link .link-block.wide {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border-left: none;
    padding-left: 0rem;
    width: 100%;
  }
  footer .footer-link .link-block.wide p.heading {
    width: 100%;
  }
  footer .footer-link .link-block.wide ul {
    width: 50%;
  }
  footer .footer-link .link-line {
    width: 100%;
    text-align: center;
    margin: 3rem 0;
  }
  footer .footer-link .link-block p.heading {
    background: url(../img/footer_link_icon_house.png) 0 50%/1.5rem auto no-repeat;
    padding-left: 2rem;
    margin-bottom: 1rem;
  }
  footer .footer-link .link-block ul {
    padding-left: 2rem;
  }
  footer .footer-link .link-block ul a {
    text-decoration: underline;
    font-size: 1.1rem;
  }
  footer .footer-link .link-line ul {
    text-align: center;
  }
  footer .footer-link .link-line ul li {
    display: inline-block;
  }
  footer .footer-link .link-line ul li::after {
    content: " | ";
    color: #d2d2d2;
    margin: 0 0.5rem;
  }
  footer .footer-link .link-line ul li:last-child::after {
    content: none;
  }
  footer .footer-link .link-line ul li a {
    text-decoration: underline;
    font-size: 70%;
  }
  footer .copyright {
    text-align: center;
    font-size: 1rem;
    letter-spacing: 0;
  }
  footer .footer-fixed {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  footer .footer-info {
    flex-direction: column;
    gap: 3rem;
    padding: 3rem 2rem 0;
  }
  footer .footer-info .detail,
  footer .footer-info .detail-right {
    width: auto;
  }
  footer .bnr-list {
    gap: 0.5rem;
  }
  footer .bnr-list li {
    width: calc(50% - 0.25rem);
  }
}
@media screen and (max-width: 780px) {
  footer::before {
    width: 60vw;
    height: 13.6vw;
    top: -12.5vw;
  }
  footer .footer-google .review {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: 1.3rem;
  }
  footer .footer-google .star {
    font-size: 1.3rem;
  }
  footer .footer-info .detail {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 1024px) {
  section .container {
    margin: 0 auto;
    box-sizing: border-box;
    max-width: 140rem;
    padding: 0 5rem;
  }
}
@media screen and (max-width: 1023px) {
  section .container {
    width: 100%;
    padding: 4rem 2.2rem;
  }
}
/* anchor */
#wall,
#wall-repair,
#roof,
#roof-cover,
#roof-fukikae,
#repair,
#reform,
#greeting,
#philosophy,
#media,
#origin,
#information,
#sdgs,
#history,
#yuka,
#wall,
#amadoi,
#amamori,
#shutter,
#reservation,
#mailform {
  padding-top: 20rem;
  margin-top: -20rem;
}

@media screen and (min-width: 1024px) {
  section.point {
    background: url(../img/bg_point.png) center;
  }
  section.point .container {
    padding-top: 10.5rem;
  }
  section.blue {
    background: #E2F0F8;
    padding: 80px 0;
  }
  section.blue .container {
    padding-top: 10.5rem;
    background-color: #FFF;
    border-radius: 35px;
    width: 95%;
  }
  section .page-title {
    text-align: center;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 0 1rem;
    margin-bottom: 3rem;
    font-weight: 700;
    letter-spacing: 2px;
  }
  section .page-title .sub {
    color: #3087c2;
    font-size: 2.2rem;
    font-weight: 600;
    display: block;
    margin-bottom: 1.5rem;
  }
  section .page-title .main {
    font-size: 4rem;
    position: relative;
    z-index: 1;
    display: block;
    line-height: 1;
  }
  section .page-title::before {
    content: "";
    display: block;
    width: 100%;
    height: 1.5rem;
    background: #D6E7BA;
    position: absolute;
    bottom: -0.3rem;
    left: 0;
    z-index: 0;
  }
  section .page-subtitle {
    text-align: center;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 0 1rem;
    margin-bottom: 8rem;
    font-weight: 700;
    letter-spacing: 2px;
  }
  section .page-subtitle .sub {
    font-size: 1.8rem;
    display: block;
    margin-bottom: 1.5rem;
    color: #0E86C2;
  }
  section .page-subtitle .en {
    font-family: "Montserrat", sans-serif;
    font-size: 1.6rem;
    display: block;
    margin-bottom: 2rem;
    color: #0E86C2;
  }
  section .page-subtitle .main {
    font-size: 3rem;
    /* font-family: "Zen Maru Gothic", serif; */
    font-weight: 600;
    position: relative;
    z-index: 1;
    display: block;
    line-height: 1;
  }
  /* section .page-subtitle .main::before {
    content: '';
    background-color: #3087c2;
    width: 50px;
    height: 4px;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
  } */
  section .page-subtitle2 {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 3rem;
    margin-bottom: 7rem;
    font-weight: 500;
    /* font-family: "Zen Maru Gothic", serif; */
  }
  section .page-subtitle2 span {
    position: relative;
    z-index: 1;
  }
  section .page-subtitle2::before {
    content: "";
    display: block;
    width: 100%;
    height: 0.8rem;
    background: #D6E7BA;
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    z-index: 0;
  }
  section .page-subtitle3 {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 3rem;
    margin-bottom: 7rem;
    font-weight: 500;
    /* font-family: "Zen Maru Gothic", serif; */
  }
  section .page-subtitle3 span {
    position: relative;
    z-index: 1;
  }
  section .page-subtitle3::before {
    content: "";
    display: block;
    width: 100%;
    height: 0.8rem;
    background: #FEF283;
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    z-index: 0;
  }
}
@media screen and (max-width: 1023px) {
  section.point {
    background: url(../img/bg_point.png) center;
  }
  section.blue {
    background: #E2F0F8;
  }
  section .page-title {
    text-align: center;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 0 0rem;
    font-weight: 700;
  }
  section .page-title .sub {
    font-size: 2rem;
    display: block;
    margin-bottom: 1.5rem;
  }
  section .page-subtitle .en {
    font-family: "Montserrat", sans-serif;
    font-size: 1.6rem;
    display: block;
    margin-bottom: 1rem;
    color: #0E86C2;
  }
  section .page-title .main {
    font-size: 2.4rem;
    position: relative;
    z-index: 1;
    display: block;
    line-height: 1;
    margin-bottom: 3rem;
  }
  section .page-title::before {
    content: "";
    display: block;
    width: 100%;
    height: 1.5rem;
    background: #D6E7BA;
    position: absolute;
    bottom: -0.3rem;
    left: 0;
    z-index: 0;
  }
  section .page-subtitle {
    text-align: center;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 0 1rem;
    margin-bottom: 3rem;
    font-weight: 700;
  }
  section .page-subtitle .sub {
    font-size: 1.8rem;
    display: block;
    margin-bottom: 1.5rem;
    color: #0E86C2;
  }
  section .page-subtitle .main {
    font-size: 2.4rem;
    position: relative;
    z-index: 1;
    display: block;
    line-height: 1;
  }
  section .page-subtitle2 {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 3rem;
    margin-bottom: 7rem;
    font-weight: 700;
  }
  section .page-subtitle2 span {
    position: relative;
    z-index: 1;
    font-size: 2.5rem;
  }
  section .page-subtitle2::before {
    content: "";
    display: block;
    width: 100%;
    height: 0.8rem;
    background: #D6E7BA;
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    z-index: 0;
  }
  section .page-subtitle3 {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 3rem;
    margin-bottom: 7rem;
    font-weight: 700;
  }
  section .page-subtitle3 span {
    position: relative;
    z-index: 1;
  }
  section .page-subtitle3::before {
    content: "";
    display: block;
    width: 100%;
    height: 0.8rem;
    background: #FEF283;
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    z-index: 0;
  }
}
@media screen and (max-width: 780px) {
  section .page-subtitle .sub {
    font-size: 1.5rem;
  }
  section .page-subtitle .main {
    font-size: 2.2rem;
  }
  section .page-subtitle2 span {
    font-size: 2.2rem;
  }
  section .page-subtitle3 {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 1024px) {
  section.home-corporate {
    background: #E2F0F8;
  }
  section.home-corporate .container {
    position: relative;
    padding-bottom: 8rem;
  }
  section.home-corporate h2 {
    font-weight: 700;
    position: absolute;
    top: -2rem;
    right: 7rem;
    padding-left: 1.5rem;
  }
  section.home-corporate h2::before {
    content: "";
    display: block;
    width: 17.1rem;
    height: 9rem;
    background: url(../img/home_corporate_icon_hands.png) center/100% auto no-repeat;
    position: absolute;
    bottom: -17.1rem;
    left: calc(50% - 8.55rem);
  }
  section.home-corporate h2 .en {
    display: inline-block;
    transform: rotate(90deg);
    transform-origin: left bottom;
    font-family: "Montserrat", sans-serif;
    font-size: 1.5rem;
    position: absolute;
    top: -2rem;
    left: -0.5rem;
    white-space: nowrap;
    letter-spacing: 2px;
  }
  section.home-corporate h2 .jp {
    display: block;
    writing-mode: vertical-rl;
    font-size: 4rem;
    letter-spacing: 5px;
  }
  section.home-corporate h2 .jp .blue {
    color: #0E86C2;
  }
  section.home-corporate .item-wrap {
    width: 87%;
    max-width: 110rem;
    overflow: hidden;
    padding-top: 10rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  section.home-corporate .item-wrap .item {
    width: calc(33.3% - 2rem);
    position: relative;
  }
  section.home-corporate .item-wrap .item a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    padding-bottom: 8rem;
    background: #fff url(../img/home_corporate_icon_arrow_white.png) 50% calc(100% - 2rem)/6rem auto no-repeat;
    border: solid 1px #d9d9d9;
    transition: all 200ms 0s ease;
  }
  section.home-corporate .item-wrap .item .image {
    overflow: hidden;
  }
  section.home-corporate .item-wrap .item .image img {
    width: 100%;
    height: auto;
  }
  section.home-corporate .item-wrap .item h3 {
    font-weight: 400;
    letter-spacing: 4px;
    font-size: 2.4rem;
    writing-mode: vertical-rl;
    position: absolute;
    top: -2.3rem;
    left: 50%;
    transform: translate(-50%, 0%);
    background: #0e86c2;
    color: #fff;
    padding: 1.5rem 0.5rem;
    transition: all 200ms 0s ease;
  }
  section.home-corporate .item-wrap .item .text {
    background: #fff;
    padding: 2rem 3rem;
    transition: all 200ms 0s ease;
    font-size: 1.5rem;
  }
  section.home-corporate .item-wrap .item a:hover h3 {
    background: #fff;
    color: #0e86c2;
  }
  section.home-corporate .item-wrap .item a:hover {
    background: #fff url(../img/home_corporate_icon_arrow_blue.png) 50% calc(100% - 2rem)/6rem auto no-repeat;
  }
  section.home-corporate .item-wrap .item a:hover .text {
    color: #0e86c2;
  }
}
@media screen and (max-width: 1023px) {
  section.home-corporate {
    background: #E2F0F8;
  }
  section.home-corporate .container {
    position: relative;
  }
  section.home-corporate h2 {
    font-weight: 500;
    text-align: center;
    position: relative;
    padding-bottom: 8rem;
  }
  section.home-corporate h2::before {
    content: "";
    display: block;
    width: 14.1rem;
    height: 7rem;
    background: url(../img/home_corporate_icon_hands.png) center/100% auto no-repeat;
    position: absolute;
    bottom: 0;
    left: calc(50% - 7.05rem);
  }
  section.home-corporate h2 .en {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 1.6rem;
    white-space: nowrap;
  }
  section.home-corporate h2 .jp {
    display: block;
    font-size: 2.5rem;
  }
  section.home-corporate h2 .jp .blue {
    color: #0E86C2;
  }
  section.home-corporate .item-wrap {
    overflow: hidden;
    padding-top: 5rem;
  }
  section.home-corporate .item-wrap .item {
    position: relative;
    margin-bottom: 3rem;
  }
  section.home-corporate .item-wrap .item a {
    display: flex;
    width: 100%;
    height: 100%;
    text-decoration: none;
    padding-bottom: 5rem;
    background: #fff url(../img/home_corporate_icon_arrow_white.png) 50% calc(100% - 2rem)/2.5rem auto no-repeat;
    border: solid 1px #d9d9d9;
  }
  section.home-corporate .item-wrap .item .image {
    overflow: hidden;
    width: 45%;
  }
  section.home-corporate .item-wrap .item h3 {
    font-weight: bold;
    font-size: 1.4rem;
    writing-mode: vertical-rl;
    position: absolute;
    top: -1rem;
    left: 6%;
    transform: translate(-50%, 0%);
    background: #0e86c2;
    color: #fff;
    padding: 1.5rem 0.5rem;
  }
  section.home-corporate .item-wrap .item .text {
    background: #fff;
    padding: 1rem 2rem;
    width: 55%;
    font: 1.4rem;
  }
}
@media screen and (min-width: 1024px) {
  section.home-works {
    position: relative;
  }
  section.home-works::before {
    content: "";
    display: block;
    width: calc(100% - 6rem);
    max-width: 129rem;
    height: 70%;
    position: absolute;
    bottom: 0;
    left: 50%;
    background: #e2f0f8;
    border-radius: 4rem;
    z-index: 0;
    transform: translate(-50%, 0%);
  }
  section.home-works .container {
    position: relative;
    padding: 10rem 0rem 8rem;
    width: 100%;
    max-width: 114rem;
    margin: 0 auto;
    z-index: 1;
    overflow: hidden;
  }
  section.home-works .slider-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    padding-top: 30rem;
  }
  section.home-works h2 {
    font-weight: 700;
    position: absolute;
    top: 1rem;
    left: 50%;
    padding-left: 1.5rem;
    transform: translateX(-50%);
    z-index: 1;
  }
  section.home-works h2::before {
    content: "";
    display: block;
    width: 12.8rem;
    height: 10.7rem;
    background: url(../img/home_works_icon_house.png) center/100% auto no-repeat;
    position: absolute;
    bottom: -12.7rem;
    left: calc(50% - 6.4rem);
  }
  section.home-works h2 .en {
    display: inline-block;
    transform: rotate(90deg);
    transform-origin: left bottom;
    font-family: "Montserrat", sans-serif;
    font-size: 1.5rem;
    position: absolute;
    top: -2rem;
    left: -0.5rem;
    white-space: nowrap;
    color: #0E86C2;
    letter-spacing: 2px;
  }
  section.home-works h2 .jp {
    display: block;
    writing-mode: vertical-rl;
    font-size: 4rem;
    letter-spacing: 5px;
  }
  section.home-works .button {
    margin: 0 !important;
    position: absolute;
    bottom: auto;
    top: 21rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
  }
  section.home-works .slider ul li {
    width: 100%;
    padding: 1rem;
  }
  section.home-works .slider ul a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0.3rem 0.3rem 0.5rem #666;
    padding-bottom: 1.5rem;
  }
  section.home-works .slider ul .image {
    aspect-ratio: 3/2;
    overflow: hidden;
  }
  section.home-works .slider ul .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all 200ms 0s ease;
  }
  section.home-works .slider ul a:hover .image img {
    transform: scale(1.3);
  }
  section.home-works .slider ul .category {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    background: #e1edf3;
    border-radius: 10rem;
    font-size: 1.4rem;
    padding: 0 1.5rem 2px;
    z-index: 1;
  }
  section.home-works .slider ul h3 {
    margin: 0.5rem;
    padding: 1rem 2rem;
  }
  section.home-works .slider ul .more {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    margin-top: 1.5rem;
    color: #0E86C2;
    font-size: 1.6rem;
    position: relative;
    padding: 0 3rem;
    transition: opacity 200ms 0s ease;
  }
  section.home-works .slider ul .more::after {
    content: "";
    display: block;
    width: 0.8rem;
    height: 1.1rem;
    background: url(../img/icon_detail.png) 100% 50%/0.8rem auto no-repeat;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0%, -50%);
    transition: all 200ms 0s ease;
  }
  section.home-works .slider ul a:hover .more::after {
    right: -2rem;
  }
  section.home-works .slider .slick-slider {
    margin-bottom: 0;
  }
  section.home-works .slider .slick-prev,
  section.home-works .slider .slick-next {
    top: 50%;
    bottom: auto;
    width: 5rem;
    height: 5rem;
    z-index: 1;
  }
  section.home-works .slider .slick-prev::before,
  section.home-works .slider .slick-next::before {
    content: none;
  }
  section.home-works .slider .slick-prev {
    background: url(../img/icon_prev.png) 0 0/100% auto no-repeat;
    left: 0;
  }
  section.home-works .slider .slick-next {
    background: url(../img/icon_next.png) 0 0/100% auto no-repeat;
    right: 0;
  }
  section.home-works .slider .slick-dots {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: auto;
    left: 50%;
    bottom: -4.5rem;
    padding: 0;
    margin: 0;
    height: 1rem;
    font-size: 0;
    width: auto;
    display: flex;
    justify-content: space-between;
    transform: translateX(-50%);
    gap: 1rem;
  }
  section.home-works .slider .slick-dots li {
    display: block;
    width: 1rem;
    height: 1rem;
    margin: 0;
    padding: 0;
    font-size: 0;
  }
  section.home-works .slider .slick-dots li button {
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 1rem;
    background: #0E86C2;
  }
  section.home-works .slider .slick-dots li.slick-active button {
    background: #8ec43e;
  }
  section.home-works .slider .slick-dots li button:before {
    content: none;
  }
}
@media screen and (max-width: 1235px) {
  section.home-works .slider .slick-prev {
    left: 0;
  }
  section.home-works .slider .slick-next {
    right: 0;
  }
  section.home-works .slider .slick-dots {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 1147px) and (min-width: 1022px) {
  section.home-works .slider-wrap {
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  section.home-works {
    margin: 5rem 2rem;
  }
  section.home-works .container {
    position: relative;
    background: #e2f0f8;
    border-radius: 4rem;
    padding-top: 5rem;
  }
  section.home-works h2 {
    font-weight: 500;
    text-align: center;
    position: relative;
    left: 0;
    letter-spacing: 1px;
  }
  section.home-works h2 .en {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 1.6rem;
    white-space: nowrap;
    color: #0E86C2;
  }
  section.home-works h2 .jp {
    display: block;
    font-size: 2.5em;
    letter-spacing: 2px;
  }
  section.home-works h2 .jp .blue {
    color: #0E86C2;
  }
  section.home-works .slider-wrap {
    padding-bottom: 6rem;
  }
  section.home-works .button {
    margin: 3rem 0 !important;
  }
  section.home-works .slider ul li {
    width: 100%;
    padding: 1rem;
  }
  section.home-works .slider ul a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0.3rem 0.3rem 0.5rem #666;
    padding-bottom: 1.5rem;
  }
  section.home-works .slider ul .image {
    aspect-ratio: 3/2;
    overflow: hidden;
  }
  section.home-works .slider ul .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all 200ms 0s ease;
  }
  section.home-works .slider ul a:hover .image img {
    transform: scale(1.3);
  }
  section.home-works .slider ul .category {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    background: #e1edf3;
    border-radius: 10rem;
    font-size: 1.4rem;
    padding: 0 1.5rem 2px;
    z-index: 1;
  }
  section.home-works .slider ul h3 {
    margin: 0.5rem;
    padding: 1rem 2rem;
  }
  section.home-works .slider ul .more {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    margin-top: 1.5rem;
    color: #0E86C2;
    font-size: 1.6rem;
    position: relative;
    padding: 0 3rem;
    transition: opacity 200ms 0s ease;
  }
  section.home-works .slider ul .more::after {
    content: "";
    display: block;
    width: 0.8rem;
    height: 1.1rem;
    background: url(../img/icon_detail.png) 100% 50%/0.8rem auto no-repeat;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0%, -50%);
    transition: all 200ms 0s ease;
  }
  section.home-works .slider ul a:hover .more::after {
    right: -2rem;
  }
  section.home-works .slider .slick-slider {
    margin-bottom: 0;
  }
  section.home-works .slider .slick-prev,
  section.home-works .slider .slick-next {
    top: 50%;
    bottom: auto;
    width: 4rem;
    height: 4rem;
    z-index: 1;
  }
  section.home-works .slider .slick-prev::before,
  section.home-works .slider .slick-next::before {
    content: none;
  }
  section.home-works .slider .slick-prev {
    background: url(../img/icon_prev.png) 0 0/100% auto no-repeat;
    left: 0;
  }
  section.home-works .slider .slick-next {
    background: url(../img/icon_next.png) 0 0/100% auto no-repeat;
    right: 0;
  }
  section.home-works .slider .slick-dots {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: auto;
    left: 50%;
    bottom: -4.5rem;
    padding: 0;
    margin: 0;
    height: 1rem;
    font-size: 0;
    width: auto;
    display: flex;
    justify-content: space-between;
    transform: translate(-50%, 0%);
    gap: 0.5rem;
  }
  section.home-works .slider .slick-dots li {
    display: block;
    width: 1rem;
    height: 1rem;
    margin: 0;
    padding: 0;
    font-size: 0;
  }
  section.home-works .slider .slick-dots li button {
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 1rem;
    background: #0E86C2;
  }
  section.home-works .slider .slick-dots li.slick-active button {
    background: #8ec43e;
  }
  section.home-works .slider .slick-dots li button:before {
    content: none;
  }
}
@media screen and (min-width: 1024px) {
  section.home-voice {
    position: relative;
    padding-bottom: 11rem;
  }
  section.home-voice::before {
    content: "";
    display: block;
    width: calc(100% - 6rem);
    max-width: 129rem;
    height: 50%;
    position: absolute;
    bottom: 8rem;
    left: 50%;
    background: #e2f0f8;
    border-radius: 4rem;
    z-index: 0;
    transform: translate(-50%, 0%);
  }
  section.home-voice .container {
    position: relative;
    padding: 14rem 4rem 8rem 0;
    width: 100%;
    max-width: 114rem;
    margin: 0 auto;
    z-index: 1;
    overflow: hidden;
  }
  section.home-voice .slider-wrap {
    position: relative;
    width: 100%;
    max-width: 80rem;
    padding-left: 10rem;
    margin-left: auto;
  }
  section.home-voice h2 {
    font-weight: 700;
    position: absolute;
    top: -1rem;
    left: -27rem;
    padding-left: 1.5rem;
    z-index: 1;
    letter-spacing: 3px;
  }
  section.home-voice h2::before {
    content: "";
    display: block;
    width: 12.8rem;
    height: 10.7rem;
    background: url(../img/home_voice_icon_house.png) center/100% auto no-repeat;
    position: absolute;
    bottom: -12.7rem;
    left: calc(50% - 6.4rem);
  }
  section.home-voice h2 .en {
    display: inline-block;
    transform: rotate(90deg);
    transform-origin: left bottom;
    font-family: "Montserrat", sans-serif;
    font-size: 1.5rem;
    position: absolute;
    top: -1.5rem;
    left: -0.5rem;
    white-space: nowrap;
    color: #0E86C2;
  }
  section.home-voice h2 .jp {
    display: block;
    writing-mode: vertical-rl;
    font-size: 4rem;
    letter-spacing: 5px;
    white-space: pre;
  }
  section.home-voice .lead {
    position: absolute;
    bottom: 12rem;
    left: -17rem;
    z-index: 1;
  }
  section.home-voice .button {
    margin: 0 !important;
    position: absolute;
    bottom: -3rem;
    left: -27.5rem;
    z-index: 1;
  }
  section.home-voice .slider ul li {
    width: 100%;
    padding: 1rem;
    align-self: stretch;
    float: none;
  }
  section.home-voice .slider ul a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0rem 0rem 0.8rem rgba(0, 0, 0, 0.25);
    padding-bottom: 1.5rem;
  }
  section.home-voice .slider ul .image {
    aspect-ratio: 1.164233/1;
    overflow: hidden;
    margin-bottom: 1rem;
  }
  section.home-voice .slider ul .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all 200ms 0s ease;
  }
  section.home-voice .slider ul a:hover .image img {
    transform: scale(1.1);
    opacity: 0.6;
  }
  section.home-voice .slider ul .text {
    margin: 0 1rem;
    font-size: 1.4rem;
    padding: 0.5rem;
    font-weight: 500;
  }
  section.home-voice .slider .slick-slider {
    margin-bottom: 0;
  }
  section.home-voice .slider .slick-slider .slick-track {
    display: flex;
    align-items: self-start;
  }
  section.home-voice .slider .slick-prev,
  section.home-voice .slider .slick-next {
    top: auto;
    bottom: -9rem;
    width: 4rem;
    height: 5rem;
  }
  section.home-voice .slider .slick-prev::before,
  section.home-voice .slider .slick-next::before {
    content: none;
  }
  section.home-voice .slider .slick-prev {
    background: url(../img/icon_prev.png) 0 0/100% auto no-repeat;
    left: 25%;
  }
  section.home-voice .slider .slick-next {
    background: url(../img/icon_next.png) 0 0/100% auto no-repeat;
    right: 25%;
  }
  section.home-voice .slider .slick-dots {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: auto;
    left: 50%;
    bottom: -4rem;
    padding: 0;
    margin: 0;
    height: 1rem;
    font-size: 0;
    width: 18rem;
    display: flex;
    justify-content: space-between;
    transform: translateX(-50%);
  }
  section.home-voice .slider .slick-dots li {
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    margin: 0;
    padding: 0;
    font-size: 0;
  }
  section.home-voice .slider .slick-dots li button {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
    background: #0E86C2;
    padding: 0;
  }
  section.home-voice .slider .slick-dots li.slick-active button {
    background: #8ec43e;
  }
  section.home-voice .slider .slick-dots li button:before {
    content: none;
  }
}
@media screen and (max-width: 1235px) {
  section.home-voice h2 {
    left: -22rem;
  }
  section.home-voice .lead {
    left: -12rem;
  }
  section.home-voice .button {
    left: -22rem;
  }
  /* section.home-voice .slider .slick-prev {
    left: -38.5rem;
  }
  section.home-voice .slider .slick-next {
    left: -20.5rem;
  }
  section.home-voice .slider .slick-dots {
    left: -31.5rem;
  } */
}
@media screen and (max-width: 1147px) and (min-width: 1022px) {
  section.home-voice h2 {
    left: -5rem;
  }
  section.home-voice .lead {
    left: -8rem;
    bottom: 3rem;
  }
  section.home-voice .slider-wrap {
    padding-bottom: 2rem;
  }
  section.home-voice .button {
    bottom: -5rem;
    left: -8rem;
  }
  section.home-voice .slider .slick-prev {
    bottom: -9.5rem;
  }
  section.home-voice .slider .slick-next {
    bottom: -9.5rem;
  }
  section.home-voice .slider .slick-dots {
    bottom: -5rem;
  }
}
@media screen and (max-width: 1023px) {
  section.home-voice {
    margin: 5rem 2rem;
  }
  section.home-voice .container {
    position: relative;
    background: #e2f0f8;
    border-radius: 4rem;
    padding-top: 5rem;
  }
  section.home-voice h2 {
    font-weight: 700;
    text-align: center;
    position: relative;
    left: 0;
  }
  section.home-voice h2 .en {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 1.6rem;
    white-space: nowrap;
    color: #0E86C2;
  }
  section.home-voice h2 .jp {
    display: block;
    font-size: 2.5rem;
  }
  section.home-voice h2 .jp .blue {
    color: #0E86C2;
  }
  section.home-voice .slider-wrap {
    padding-bottom: 6rem;
  }
  section.home-voice .lead {
    text-align: center;
    margin: 3rem 0;
  }
  section.home-voice .button {
    margin: 3rem 0 !important;
  }
  section.home-voice .slider ul li {
    width: 100%;
    padding: 1rem;
  }
  section.home-voice .slider ul a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0.3rem 0.3rem 0.5rem #666;
    padding-bottom: 1.5rem;
  }
  section.home-voice .slider ul .image {
    aspect-ratio: 3/2;
    overflow: hidden;
    margin-bottom: 1rem;
  }
  section.home-voice .slider ul .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all 200ms 0s ease;
  }
  section.home-voice .slider ul .text {
    margin: 0 1rem;
    font-size: 1.3rem;
  }
  section.home-voice .slider .slick-slider {
    margin-bottom: 0;
  }
  section.home-voice .slider .slick-prev,
  section.home-voice .slider .slick-next {
    top: auto;
    bottom: -7rem;
    width: 3rem;
    height: 3rem;
  }
  section.home-voice .slider .slick-prev::before,
  section.home-voice .slider .slick-next::before {
    content: none;
  }
  section.home-voice .slider .slick-prev {
    background: url(../img/icon_prev.png) 0 0/100% auto no-repeat;
    left: calc(50% - 12rem);
  }
  section.home-voice .slider .slick-next {
    background: url(../img/icon_next.png) 0 0/100% auto no-repeat;
    left: calc(50% + 9rem);
  }
  section.home-voice .slider .slick-dots {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: auto;
    left: 50%;
    bottom: -4.5rem;
    padding: 0;
    margin: 0;
    height: 1rem;
    font-size: 0;
    width: 15rem;
    display: flex;
    justify-content: space-between;
    transform: translate(-50%, 0%);
  }
  section.home-voice .slider .slick-dots li {
    display: block;
    width: 1rem;
    height: 1rem;
    margin: 0;
    padding: 0;
    font-size: 0;
  }
  section.home-voice .slider .slick-dots li button {
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 1rem;
    background: #0E86C2;
  }
  section.home-voice .slider .slick-dots li.slick-active button {
    background: #8ec43e;
  }
  section.home-voice .slider .slick-dots li button:before {
    content: none;
  }
}
@media screen and (min-width: 1024px) {
  section.home-blog .container {
    padding: 9rem 4rem;
    max-width: 130rem;
    background: url(../img/home_blog_bg.png) 100% 9rem no-repeat;
    background: url(../img/home_blog_bg.png) 100% 9rem/50% auto no-repeat;
  }
  section.home-blog h2 {
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 3rem;
    letter-spacing: 5px;
  }
  section.home-blog h2 .en {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    color: #0E86C2;
    font-size: 1.6rem;
  }
  section.home-blog h2 .jp {
    display: block;
    font-size: 4rem;
  }
  section.home-blog .lead {
    margin-bottom: 5rem;
  }
  section.home-blog .blog-list {
    display: flex;
    justify-content: space-between;
  }
  section.home-blog .blog-list li {
    width: 23%;
  }
  section.home-blog .blog-list li a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    position: relative;
    transition: opacity 500ms 0s ease;
  }
  section.home-blog .blog-list li a:hover {
    opacity: 0.6;
  }
  section.home-blog .blog-list .image {
    border-radius: 2rem;
    overflow: hidden;
  }
  section.home-blog .blog-list .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  section.home-blog .blog-list .category {
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    padding: 1rem 2rem 1rem 1rem;
    border-radius: 0 0 2rem 0;
    color: #0E86C2;
  }
  section.home-blog .blog-list .content {
    background: #fff;
    border-radius: 2rem;
    padding: 1rem 2rem;
  }
  section.home-blog .blog-list .date {
    color: #0E86C2;
    margin-bottom: 0.5rem;
  }
  section.home-blog .button {
    margin-top: 6rem;
  }
  section.home-blog .button a {
    display: block;
    text-align: center;
    margin: 0 auto;
    text-decoration: none;
    width: 100%;
    max-width: 32.5rem;
    border: solid 0.3rem #143c6c;
    border-radius: 10rem;
    color: #fff;
    background: #143c6c;
    padding: 1rem 4rem;
    transition: all 200ms 0s ease;
  }
  section.home-blog .button a::after {
    content: "";
    display: inline-block;
    width: 0.7rem;
    height: 1rem;
    margin-left: 1rem;
    background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
  }
  section.home-blog .button a:hover {
    color: #143c6c;
    background: #fff;
  }
  section.home-blog .button a:hover::after {
    background: url(../img/button_icon_arrow_blue.png) center/100% auto no-repeat;
  }
}
@media screen and (max-width: 1023px) {
  section.home-blog .container {
    padding-bottom: 10rem;
  }
  section.home-blog h2 {
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 3rem;
  }
  section.home-blog h2 .en {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    color: #0E86C2;
    font-size: 1.6rem;
  }
  section.home-blog h2 .jp {
    display: block;
    font-size: 2.5rem;
  }
  section.home-blog .blog-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 3rem;
  }
  section.home-blog .blog-list li {
    width: calc(50% - 1.5rem);
    margin-bottom: 4rem;
  }
  section.home-blog .blog-list li a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    position: relative;
  }
  section.home-blog .blog-list .image {
    border-radius: 2rem;
    overflow: hidden;
  }
  section.home-blog .blog-list .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  section.home-blog .blog-list .category {
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0.8rem;
    border-radius: 0 0 1rem 0;
    color: #0E86C2;
    font-size: 1.3rem;
  }
  section.home-blog .blog-list .content {
    background: #fff;
    border-radius: 1rem;
    padding: 1rem 0.5rem;
    font-size: 1.3rem;
    line-height: 1.5;
  }
  section.home-blog .blog-list .date {
    color: #0E86C2;
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
  }
  section.home-blog .blog-list .title {
    text-decoration: underline;
  }
  section.home-blog .button {
    margin-top: 0;
  }
  section.home-blog .button a {
    display: block;
    text-align: center;
    margin: 0 auto;
    text-decoration: none;
    width: 100%;
    max-width: 27.5rem;
    border: solid 0.3rem #143c6c;
    border-radius: 10rem;
    color: #fff;
    background: #143c6c;
    padding: 1rem 4rem;
    transition: all 200ms 0s ease;
  }
  section.home-blog .button a::after {
    content: "";
    display: inline-block;
    width: 0.7rem;
    height: 1rem;
    margin-left: 1rem;
    background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
  }
}
@media screen and (min-width: 1024px) {
  section.showroom-lead .container {
    position: relative;
  }
  section.showroom-lead .image {
    position: absolute;
    top: 27.5rem;
    left: 50%;
  }
  section.showroom-lead .content {
    width: 52%;
    min-height: 65.5rem;
    padding: 10rem 9rem 10rem 7rem;
  }
  section.showroom-lead .content h3 {
    font-weight: bold;
    font-size: 2.2rem;
    margin-bottom: 2.5rem;
  }
  section.showroom-lead .content h3 span {
    font-size: 2.5rem;
  }
  section.showroom-lead .content p {
    margin-bottom: 2.9rem;
    line-height: 1.75;
  }
}
@media screen and (max-width: 1023px) {
  section.showroom-lead .container {
    position: relative;
  }
  section.showroom-lead .image {
    display: none;
  }
  section.showroom-lead .content h3 {
    font-weight: bold;
    font-size: 2.2rem;
    margin-bottom: 2.5rem;
  }
  section.showroom-lead .content p {
    margin-bottom: 2.9rem;
    line-height: 1.75;
  }
}
@media screen and (min-width: 1024px) {
  section.showroom-inquiry-lead {
    padding: 15rem 0 8rem;
  }
  section.showroom-inquiry-lead .inquiry-lead-inner {
    max-width: 100rem;
    margin: 0 auto;
    font-size: 2rem;
    text-align: center;
    line-height: 2;
    position: relative;
  }
  section.showroom-inquiry-lead .inquiry-lead-inner::before {
    content: "";
    background-image: url(../img/exterior_reform_blt01.png);
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    width: 62px;
    height: 55px;
  }
  section.showroom-inquiry-lead .inquiry-lead-inner .pick-text {
    font-size: 2.4rem;
    line-height: 2;
    margin-bottom: 3rem;
    color: #0e86c2;
  }
}
@media screen and (max-width: 1023px) {
  section.showroom-inquiry-lead {
    padding: 10rem 0 3rem;
  }
  section.showroom-inquiry-lead .inquiry-lead-inner {
    max-width: 100rem;
    margin: 0 auto;
    padding: 2rem;
    font-size: 1.8rem;
    line-height: 2;
    position: relative;
  }
  section.showroom-inquiry-lead .inquiry-lead-inner::before {
    content: "";
    background-image: url(../img/exterior_reform_blt01.png);
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    width: 62px;
    height: 55px;
  }
  section.showroom-inquiry-lead .inquiry-lead-inner .pick-text {
    font-size: 2rem;
    text-align: center;
    line-height: 2;
    margin-bottom: 3rem;
    color: #0e86c2;
  }
}
@media screen and (min-width: 1024px) {
  section.banner-quo {
    background: #fdf8ca;
  }
  section.banner-quo .container {
    padding: 5.5rem 0;
    text-align: center;
  }
  section.banner-quo .container a {
    display: inline-block;
    transition: opacity 500ms 0s ease;
  }
  section.banner-quo .container a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 1023px) {
  section.banner-quo {
    background: #fdf8ca;
  }
  section.banner-quo .container {
    padding: 5.5rem 2rem;
    text-align: center;
  }
  section.banner-quo .container a {
    display: inline-block;
  }
}
section.showroom-merit .container {
  padding-top: 6.5rem;
}

section.showroom-merit h3 {
  font-weight: bold;
  text-align: center;
  font-size: 3rem;
  margin-bottom: 7rem;
}

section.showroom-merit .block {
  margin: 0 auto;
  max-width: 110rem;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10rem;
}

section.showroom-merit .block .image {
  width: 37%;
}

section.showroom-merit .block .content {
  width: 60%;
  padding: 3rem;
}

section.showroom-merit .block .fukidashi {
  background: #e2f0f8;
  display: inline-block;
  padding: 0.5rem 2.3rem;
  font-weight: 600;
  font-size: 1.8rem;
  border-radius: 0.5rem;
  position: relative;
  margin-bottom: 1.5rem;
}

section.showroom-merit .block .fukidashi::after {
  content: "";
  position: absolute;
  bottom: -0.4rem;
  left: calc(50% - 0.4rem);
  width: 0.8rem;
  height: 0.8rem;
  transform: rotate(45deg);
  background-color: #e2f0f8;
}

section.showroom-merit .block h4 {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 2rem;
}

section.showroom-merit .block h4 span {
  color: #0e86c2;
}

@media screen and (min-width: 1024px) {
  section.showroom-merit .block:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.showroom-merit .block:nth-child(3) .content {
    padding-left: 0;
  }
}
@media screen and (max-width: 1023px) {
  section.showroom-merit .block {
    display: block;
  }
  section.showroom-merit .block .image {
    width: 100%;
  }
  section.showroom-merit .block .content {
    width: 100%;
  }
}
section.showroom-access {
  background: #e2f0f8;
}

section.showroom-access .text {
  text-align: center;
  line-height: 2;
}

@media screen and (min-width: 1024px) {
  section.showroom-access .container {
    padding-top: 10rem;
  }
  section.showroom-access .page-subtitle {
    margin-bottom: 7rem;
  }
}
section.showroom-info {
  background: #e2f0f8;
}

section.showroom-info .container {
  padding-top: 4.3rem;
}

section.showroom-info .item {
  max-width: 110rem;
  margin: 4rem auto 0rem auto;
  background: #fff;
  position: relative;
}

section.showroom-info .item h3 {
  font-weight: 600;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #3771c8;
  color: #fff;
  font-size: 2.4rem;
  padding: 1rem 4.5rem 1rem 2.5rem;
  border-radius: 0 10rem 10rem 0;
  transform: translate(0%, -50%);
}

section.showroom-info .item h3 span {
  font-size: 1.8rem;
  display: inline-block;
  margin-left: 0.5rem;
}

section.showroom-info .item .content {
  margin-bottom: 4rem;
}

section.showroom-info .item .content dl {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  width: 100%;
}

section.showroom-info .item .content dt {
  width: 9.5rem;
  margin-bottom: 2.5rem;
  color: #3771c8;
  border-bottom: 1px dashed #ddd;
}

section.showroom-info .item .content dd {
  width: calc(100% - 13rem);
  border-bottom: 1px dashed #ddd;
  margin-bottom: 2.5rem;
  padding-bottom: 1.5rem;
}

section.showroom-info .item .content .button {
  margin-top: 2.6rem;
}

section.showroom-info .item .content .button a {
  display: inline-block;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  width: 100%;
  max-width: 27rem;
  text-align: center;
  text-decoration: none;
  color: #143c6c;
  padding: 1.3rem 4rem;
  box-shadow: 0.5rem 0.5rem #143c6c;
  background: #fff;
  transition: all 200ms 0s ease;
}

section.showroom-info .item .content .button a::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  background: url(../img/button_icon_arrow_darkblue.png) center/100% auto no-repeat;
  margin-left: 1.5rem;
}

section.showroom-info .item .content .button a:hover {
  color: #fff;
  background: #0E86C2;
}

section.showroom-info .item .content .button a:hover::after {
  background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
}

section.showroom-info .item .map {
  height: 40rem;
  margin-bottom: 4rem;
}

section.showroom-info .item .map iframe {
  width: 100%;
  height: 100%;
}

section.showroom-info .item .images {
  clear: both;
  background: #e2f0f8;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 3rem 0 8rem 0;
}

section.showroom-info .item .images li {
  width: calc(33.3% - 1rem);
}

section.showroom-info .item .images img {
  border-radius: 1.5rem;
}

section.showroom-info .button-vr {
  margin-bottom: 16.5rem;
}

section.showroom-info .button-vr a {
  display: block;
  border: solid 0.2rem #0e86c2;
  border-radius: 10rem;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-decoration: none;
  color: #0e86c2;
  padding: 2.5rem 8rem;
  padding-left: 10rem;
  box-shadow: 0.5rem 0.5rem #fef283;
  background: #fff url(../img/showroom_icon_vr.png) 3.5rem 50%/5.4rem auto no-repeat;
  transition: all 200ms 0s ease;
}

section.showroom-info .button-vr a::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  background: url(../img/button_icon_arrow_blue.png) center/100% auto no-repeat;
  margin-left: 1.5rem;
}

section.showroom-info .button-vr a:hover {
  color: #fff;
  background-color: #0e86c2;
}

section.showroom-info .button-vr a:hover::after {
  background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.showroom-info .item .content {
    width: 50%;
    float: left;
    padding: 3rem 3rem 3rem 6rem;
  }
  section.showroom-info .item .map {
    width: 50%;
    height: 40rem;
    float: right;
    padding-right: 6rem;
  }
}
@media screen and (max-width: 1023px) {
  section.showroom-info .item .content {
    padding: 2rem;
  }
  section.showroom-info .item .map {
    padding: 2rem;
  }
  section.showroom-info .item .content .button {
    text-align: center;
  }
  section.showroom-info .button-vr a {
    padding: 2.5rem 5rem;
    padding-left: 8rem;
    background: #fff url(../img/showroom_icon_vr.png) 3.5rem 50%/3rem auto no-repeat;
  }
}
section.showroom-form .container {
  padding-bottom: 9.5rem;
  padding-top: 7.5rem;
}

section.about-nav .container {
  padding-top: 11.6rem;
  padding-bottom: 5.5rem;
}

section.about-nav ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 110rem;
  margin: 0 auto;
}

section.about-nav li {
  width: calc(25% - 1rem);
  margin-bottom: 1rem;
}

section.about-nav li a {
  display: inline-block;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  width: 100%;
  text-align: center;
  text-decoration: none;
  padding: 1.3rem 5rem 1.3rem 3rem;
  background-color: #fff;
  color: #143c6c;
  position: relative;
}

section.about-nav li a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 1rem;
  height: 1rem;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg) translateY(-50%);
  position: absolute;
  right: 30px;
  top: 47%;
}

section.about-nav li.anchor a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 1rem;
  height: 1rem;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg) translateY(-50%);
  position: absolute;
  right: 30px;
  top: 32%;
}

section.about-nav li a:hover {
  color: #fff;
  background-color: #143c6c;
}

section.about-nav li a:hover::after {
  color: #fff;
  transform: translateX(-25%) rotate(45deg) translateY(-50%);
}

section.about-nav li.anchor a:hover::after {
  color: #fff;
  transform: translateY(-25%) rotate(135deg) translateY(-50%);
}

@media screen and (max-width: 1023px) {
  section.about-nav .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  section.about-nav li {
    width: calc(50% - 1rem);
    margin-bottom: 1rem;
  }
}
section.about-greeting .container {
  padding-top: 8.5rem;
  padding-bottom: 10rem;
  overflow: hidden;
  max-width: 120.5rem;
}

section.about-greeting .page-subtitle {
  margin-bottom: 8rem;
}

section.about-greeting .image {
  float: right;
  border-radius: 6rem;
  overflow: hidden;
  margin-left: 2rem;
}

section.about-greeting .text {
  margin-top: 10.7rem;
  max-width: 52rem;
}

section.about-greeting .text p {
  margin-bottom: 2.6rem;
  line-height: 2;
}

section.about-greeting .name {
  font-family: "Noto Serif JP", serif;
  text-align: right;
  margin-top: 4rem;
}

section.about-greeting .name strong {
  font-size: 2.4rem;
}

@media screen and (max-width: 1023px) {
  section.about-greeting .image {
    float: none;
    margin-left: 0rem;
  }
  section.about-greeting .text {
    margin-top: 2rem;
  }
}
section.about-philosophy .container {
  padding-top: 8.4rem;
  padding-bottom: 10.5rem;
}

section.about-philosophy .page-subtitle {
  margin-bottom: 8rem;
}

section.about-philosophy .text01 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 3.5rem;
  letter-spacing: 0.12em;
  line-height: 2.1;
  margin-bottom: 1.5rem;
}

section.about-philosophy .text02 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  letter-spacing: 0.02em;
  margin-bottom: 4.8rem;
}

section.about-philosophy .text03 {
  border: solid 5px #3087c2;
  border-radius: 50px 0;
  padding: 4.5rem 5.5rem;
  max-width: 110rem;
  margin: 0 auto;
}

section.about-philosophy .text03 h3 {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #0E86C2;
  font-size: 3rem;
  margin-bottom: 2rem;
}

section.about-philosophy .text03 p {
  margin-bottom: 3.2rem;
}

section.about-philosophy .text03 p.blue {
  font-size: 2rem;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 0rem;
  margin-top: -1.5rem;
}

section.about-yumerinove .text01 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 3.5rem;
  letter-spacing: 0.12em;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

section.about-yumerinove .yumerinove_detail {
  max-width: 110rem;
  margin: 0 auto;
  padding: 3rem 0 13rem;
}

section.about-yumerinove .yumerinove_logo {
  margin: 0 auto;
  text-align: center;
  width: 70rem;
  max-width: 70vw;
}

section.about-yumerinove .yumerinove_text {
  line-height: 2;
  max-width: 90rem;
  margin: 0rem auto 3rem;
  background: #e2f0f8;
  padding: 4rem 5rem 3rem;
  border-radius: 1rem;
}

section.about-yumerinove .yumerinove_text p {
  margin-bottom: 1.5rem;
}

section.about-yumerinove .hosoku {
  text-align: right;
  font-size: 1.3rem;
}

@media screen and (max-width: 1023px) {
  section.about-yumerinove .text01 {
    font-size: 2.2rem;
    letter-spacing: 0.2rem;
  }
  section.about-yumerinove .yumerinove_detail {
    padding: 1rem 0 2rem;
  }
  section.about-yumerinove .yumerinove_logo {
    max-width: 80vw;
  }
  section.about-yumerinove .yumerinove_text {
    line-height: 1.8;
    margin: 0rem auto 2;
    padding: 2rem 2.5rem 1rem;
  }
}
section.about-information .container {
  padding-top: 8.5rem;
  padding-bottom: 11rem;
}

section.about-information .page-subtitle {
  margin-bottom: 9rem;
}

section.about-information .detail {
  background: #fff;
  max-width: 110rem;
  margin: 0 auto;
  padding: 10.5rem 13rem;
  border-radius: 10px;
  box-shadow: 0 0 10px 3px #d2e4ef;
}

section.about-information .detail dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.about-information .detail dt {
  color: #1086c2;
  width: 17rem;
  border-bottom: solid 0.2rem #f1eeeb;
  padding-bottom: 2.1rem;
  margin-bottom: 2.2rem;
  font-weight: 600;
}

section.about-information .detail dd {
  width: calc(100% - 17rem);
  border-bottom: solid 0.2rem #f1eeeb;
  padding-bottom: 2.1rem;
  margin-bottom: 2.2rem;
}

section.about-information .detail ul {
  list-style: disc;
}

@media screen and (max-width: 1023px) {
  section.about-information .detail {
    padding: 2rem;
  }
}
section.about-sdgs {
  background: url(../img/about_sdgs_bg.png) 50% 0% repeat-x, url(../img/about_sdgs_bg.png) 50% 100% repeat-x;
}

section.about-sdgs .container {
  padding-top: 8.4rem;
  padding-bottom: 3rem;
}

section.about-sdgs .page-subtitle {
  margin-bottom: 9rem;
}

section.about-sdgs .lead {
  text-align: center;
  line-height: 2;
  margin-bottom: 7rem;
}

section.about-sdgs .block {
  max-width: 80rem;
  margin: 0 auto;
  margin-bottom: 8rem;
}

section.about-sdgs h3 {
  font-weight: bold;
  position: relative;
  font-size: 1.8rem;
  margin-bottom: 2rem;
}

section.about-sdgs h3::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 0;
  background: #0E86C2;
}

section.about-sdgs h3 span {
  display: inline-block;
  background: #fff;
  padding-right: 2.5rem;
  position: relative;
  z-index: 1;
}

section.about-sdgs .text {
  margin-bottom: 2.5rem;
}

section.about-media .container {
  padding-top: 8.4rem;
  padding-bottom: 10.5rem;
}

section.about-media .page-subtitle {
  margin-bottom: 8rem;
}

section.about-media .container .media_list {
  max-width: 100rem;
  margin: 0 auto;
}

section.about-media .container .media_list .tabs {
  padding-bottom: 40px;
  background-color: #fff;
  margin: 0 auto;
  border: 1px solid #c7c8c9;
}

section.about-media .container .media_list .tabs input[name=tab_item] {
  display: none;
}

section.about-media .container .media_list .tab_item {
  width: 50%;
  height: 50px;
  border-bottom: 3px solid #3087c2;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}

section.about-media .container .media_list .tabs input:checked + .tab_item {
  background-color: #3087c2;
  color: #fff;
}

section.about-media .container .media_list .tabs .tab_content {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: auto;
  height: 50vw;
}

#mediainfo:checked ~ #mediainfo_content,
#volunteer:checked ~ #volunteer_content {
  display: block;
}

section.about-media .container .media_list .media_set {
  background: #e2f0f8;
  border-radius: 1rem;
  padding: 5rem;
  display: flex;
  gap: 3rem;
  margin-bottom: 3rem;
}

section.about-media .container .media_list .media_set .text {
  max-width: 65%;
}

section.about-media .container .media_list .media_set .image {
  margin: 0 auto;
  max-width: 40%;
}

section.about-media .container .media_list .media_set .image span {
  font-size: 1.2rem;
  text-align: right;
  display: block;
  margin-top: 5px;
}

section.about-media .container .media_list .media_set .text h3 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
  background: url(../img/factory_tosou_icon_light.png) 0% 50%/3.8rem auto no-repeat;
  padding-left: 5rem;
  color: #3087c2;
}

section.about-media .container .media_list .media_set .text .category {
  display: flex;
  gap: 1rem;
}

section.about-media .container .media_list .media_set .text .medium {
  color: #fff;
  background: #153c6c;
  display: inline-block;
  padding: 0 1rem;
}

section.about-media .container .media_list .media_set .text .main {
  padding: 3rem 0 0;
}

@media screen and (max-width: 1023px) {
  section.about-media .container .media_list .media_set {
    padding: 4rem 3rem;
    flex-wrap: wrap;
  }
  section.about-media .container .media_list .media_set .text {
    max-width: 100%;
  }
  section.about-media .container .media_list .media_set .image {
    max-width: 100%;
  }
}
section.about-showroom .container {
  position: relative;
  padding-top: 8.5rem;
  padding-bottom: 11rem;
}

section.about-showroom .page-subtitle {
  margin-bottom: 9rem;
}

section.about-showroom .item-wrap {
  display: flex;
  justify-content: space-between;
  max-width: 108rem;
  margin: 0 auto;
}

section.about-showroom .item-wrap .item {
  width: calc(50% - 1rem);
  background: #fff;
  border-radius: 0 3rem 3rem 3rem;
  padding: 0 2rem 2rem 2rem;
}

section.about-showroom h3 {
  font-weight: 600;
  background: #3771c8;
  color: #fff;
  border-radius: 0 10rem 10rem 0;
  width: 23rem;
  height: 5.4rem;
  line-height: 5.4rem;
  padding: 0 0.5rem;
  text-align: center;
  font-size: 2.4rem;
  transform: translate(0%, -50%);
  margin-left: -2rem;
  position: relative;
}

section.about-showroom h3 .honsha {
  position: absolute;
  right: -30%;
  top: 0;
  color: #3771c8;
}

section.about-showroom h3.kikugawa {
  background: #0e86c2;
}

section.about-showroom h3 span {
  display: inline-block;
  margin-left: 1rem;
  font-size: 1.8rem;
}

section.about-showroom .images {
  display: flex;
  justify-content: space-between;
}

section.about-showroom .images li {
  width: calc(50% - 0.5rem);
}

section.about-showroom .images li img {
  width: 100%;
  height: auto;
}

section.about-showroom .map {
  margin: 1rem 0 2rem 0;
  height: 25rem;
}

section.about-showroom .map iframe {
  width: 100%;
  height: 100%;
}

section.about-showroom .info {
  float: left;
  width: calc(100% - 13rem);
  line-height: 2;
}

section.about-showroom .info .address {
  background: url(../img/home_showroom_icon_house.png) 0% 50%/2.2rem auto no-repeat;
  padding-left: 3rem;
}

section.about-showroom .info .tel {
  background: url(../img/home_showroom_icon_tel.png) 0% 50%/2.2rem auto no-repeat;
  padding-left: 3rem;
}

section.about-showroom .sns {
  display: flex;
  justify-content: space-between;
  width: 12rem;
  float: right;
  margin-left: 1rem;
}

section.about-showroom .sns a {
  transition: opacity 500ms 0s ease;
}

section.about-showroom .sns a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 1023px) {
  section.about-showroom .item-wrap {
    display: block;
  }
  section.about-showroom .item-wrap .item {
    width: 100%;
    margin-bottom: 8rem;
  }
  section.about-showroom .info {
    float: none;
    width: 100%;
  }
  section.about-showroom .sns {
    width: 100%;
    float: none;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
  }
  section.about-showroom .sns p {
    margin-left: 1rem;
  }
}
section.voice-list .container {
  padding-top: 11.3rem;
  padding-bottom: 10rem;
}

section.voice-list .page-title {
  padding: 0;
  margin-bottom: 9rem;
}

section.voice-list .page-title .main {
  font-size: 2rem;
}

section.voice-list .page-title::before {
  height: 1rem;
  background: #D6E7BA;
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  z-index: 0;
}

section.voice-list ul.list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 110rem;
  margin: 0 auto;
}

section.voice-list ul.list::after {
  content: "";
  display: block;
  width: calc(33.3% - 1.6rem);
  height: 0;
}

section.voice-list ul.list li {
  width: calc(33.3% - 1.6rem);
  overflow: hidden;
  border-radius: 2rem;
  box-shadow: 0 0rem 1rem 0.2rem #d4d4d4;
  margin-bottom: 8.5rem;
  background-color: #fff;
}

section.voice-list ul.list li a {
  display: block;
  text-decoration: none;
  width: 100%;
  height: 100%;
  padding-bottom: 2rem;
  transition: opacity 500ms 0s ease;
}

section.voice-list ul.list li a:hover {
  opacity: 0.6;
}

section.voice-list ul.list .image {
  margin-bottom: 1.9rem;
  width: 100%;
  height: 20rem;
  overflow: hidden;
}

section.voice-list ul.list .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

section.voice-list ul.list .title {
  font-size: 1.8rem;
  font-weight: 700;
  padding: 0 3.5rem;
  margin-bottom: 1rem;
}

section.voice-list ul.list .content {
  padding: 0 3.5rem;
  margin-bottom: 2rem;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

section.voice-list ul.list .detail {
  color: #3771C8;
  background: url(../img/button_icon_arrow_blue.png) 100% 50%/0.7rem auto no-repeat;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-right: 2rem;
}

@media screen and (max-width: 1023px) {
  section.voice-list .page-title {
    margin-bottom: 4rem;
  }
  section.voice-list .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  section.voice-list ul.list li {
    width: 100%;
    margin-bottom: 4rem;
  }
}
.pagination {
  text-align: center;
}

.pagination h2 {
  display: none;
}

.pagination .nav-links a,
.pagination .nav-links span {
  display: inline-block;
  text-decoration: none;
  min-width: 4.5rem;
  height: 4.5rem;
  line-height: 4.5rem;
  border: solid 1px #143C6C;
  border-radius: 100%;
  color: #143C6C;
  background: #fff;
  margin: 0 0.5rem;
}

.pagination .nav-links span.current {
  background: #143C6C;
  color: #fff;
}

.pagination .nav-links a:hover,
.pagination .nav-links a.current {
  color: #fff;
  background: #143C6C;
}

section.navi-okomarigoto {
  padding-top: 9rem;
  padding-bottom: 11rem;
}

section.navi-okomarigoto .container {
  background: #fff;
  max-width: 100rem;
  margin: 0 auto;
  padding-top: 6.8rem;
  padding-bottom: 3.5rem;
  border-radius: 30px;
  box-shadow: 0 0 10px 3px #d2e4ef;
}

section.navi-okomarigoto h3 {
  font-weight: bold;
  text-align: center;
  position: relative;
  z-index: 1;
  font-size: 2.5rem;
  margin-bottom: 5rem;
}

section.navi-okomarigoto h3 span {
  display: block;
  position: relative;
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 0.9rem;
  line-height: 1;
}

section.navi-okomarigoto h3 span::before {
  content: "";
  display: block;
  width: 100%;
  height: 1rem;
  position: absolute;
  bottom: -7px;
  left: 0;
  z-index: -1;
  background: #FEF283;
}

section.navi-okomarigoto .block-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}

section.navi-okomarigoto .block-wrap .block {
  width: 50%;
  padding-top: 1rem;
  padding-bottom: 1.3rem;
  max-width: 40rem;
}

section.navi-okomarigoto .block-wrap .block h4 {
  padding-left: 2.7rem;
  color: #153c6c;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2.5rem;
}

section.navi-okomarigoto .block-wrap .block:first-child h4 {
  background: url(../img/navi_okomarigoto_icon_01.png) 0% 50%/2rem auto no-repeat;
}

section.navi-okomarigoto .block-wrap .block:last-child h4 {
  background: url(../img/navi_okomarigoto_icon_02.png) 0% 50%/1.7rem auto no-repeat;
}

section.navi-okomarigoto .block-wrap ul li {
  display: block;
  text-decoration: none;
  text-align: center;
  margin-bottom: 2.1rem;
}

section.navi-okomarigoto .block-wrap ul li:last-child {
  margin-bottom: 0rem;
}

section.navi-okomarigoto .block-wrap ul li a {
  display: block;
  text-decoration: none;
  border: solid 2px #143C6C;
  color: #fff;
  background: #143C6C;
  padding: 1.6rem;
  position: relative;
  transition: all 200ms 0s ease;
}

section.navi-okomarigoto .block-wrap ul li a::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  margin-left: 1.5rem;
  background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
}

section.navi-okomarigoto .block-wrap ul li a:hover {
  color: #143c6c;
  background: #fff;
}

section.navi-okomarigoto .block-wrap ul li a:hover::after {
  background: url(../img/button_icon_arrow_darkblue.png) center/100% auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.navi-okomarigoto .block-wrap::before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: #888;
    position: absolute;
    top: 0;
    left: 50%;
  }
}
@media screen and (max-width: 1023px) {
  section.navi-okomarigoto {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  section.navi-okomarigoto .container {
    padding-bottom: 1rem;
  }
  section.navi-okomarigoto h3 {
    font-size: 2rem;
    margin-bottom: 3rem;
  }
  section.navi-okomarigoto .block-wrap .block {
    width: 100%;
    max-width: unset;
    margin-bottom: 3rem;
  }
}
section.voice-single .container {
  padding: 0;
  padding-top: 11.3rem;
  padding-bottom: 10rem;
  max-width: 80rem;
  margin: 0 auto;
}

section.voice-single .date {
  font-size: 1.2rem;
  font-weight: 700;
  color: #22729A;
  margin-bottom: 1.2rem;
}

section.voice-single .page-title {
  padding: 0;
  margin: 0;
  margin-bottom: 5.5rem;
}

section.voice-single .page-title .main {
  font-size: 2rem;
  margin: 0;
  text-align: left;
}

section.voice-single .page-title::before {
  height: 1rem;
  background: #D6E7BA;
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  z-index: 0;
}

section.voice-single .image {
  text-align: center;
}

section.voice-single .detail {
  background-color: #fff;
  border: solid 3px #153c6c;
  border-radius: 15px;
  max-width: 80rem;
  margin: 5rem auto 5.4rem auto;
  padding: 1.5rem 2.5rem 1.5rem 5.5rem;
}

section.voice-single .detail dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

section.voice-single .detail dt {
  color: #3087c2;
  font-size: 1.6rem;
  width: 11rem;
  margin: 1.5rem 0;
  position: relative;
  padding-left: 30px;
}

section.voice-single .detail dt::before {
  content: "";
  background-color: #153c6c;
  width: 15px;
  height: 3px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

section.voice-single .detail dd {
  width: calc(44% - 11rem);
  margin: 1.5rem 0;
}

section.voice-single .detail dd:nth-child(4n) {
  width: calc(56% - 11rem);
}

section.voice-single .okimochi {
  margin-bottom: 7.3rem;
}

section.voice-single .okimochi h3 {
  font-weight: bold;
  color: #143C6C;
  margin-bottom: 1.7rem;
  font-size: 1.8rem;
}

section.voice-single .okimochi h3::before {
  content: "■";
  display: inline-block;
  margin-right: 1rem;
}

section.voice-single .okimochi .text {
  line-height: 1.7;
}

section.voice-single .link-case {
  max-width: 50rem;
  margin-bottom: 11rem;
  box-shadow: 0 0 10px 3px #d2e4ef;
}

section.voice-single .link-case a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  justify-content: left;
  align-items: center;
  text-decoration: none;
  transition: opacity 500ms 0s ease;
  background-color: #FFF;
}

section.voice-single .link-case a:hover {
  opacity: 0.6;
}

section.voice-single .link-case .image {
  display: block;
  width: 20rem;
  flex-shrink: 0;
}

section.voice-single .link-case .link {
  display: block;
  color: #22729A;
  text-decoration: none;
  text-align: center;
  width: 100%;
  position: relative;
  padding: 0 2rem;
  font-size: 1.4rem;
  font-weight: 600;
}

section.voice-single .link-case .link::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  background: url(../img/button_icon_arrow_blue.png) center/100% auto no-repeat;
  margin-left: 1.5rem;
}

section.voice-single .navi-single {
  position: relative;
  margin-bottom: 5rem;
}

section.voice-single .navi-single ul a {
  display: block;
  text-decoration: none;
  background: #22729A;
  color: #fff;
  padding: 1.2rem 2rem;
  text-align: center;
  min-width: 16rem;
  border-radius: 10rem;
  transition: opacity 500ms 0s ease;
}

section.voice-single .navi-single ul a:hover {
  opacity: 0.6;
}

section.voice-single .navi-single ul .prev {
  position: absolute;
  top: 0;
  left: 0;
}

section.voice-single .navi-single ul .prev a::before {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  background: url(../img/navi_single_icon_arrow_left.png) center/100% auto no-repeat;
  margin-right: 2rem;
}

section.voice-single .navi-single ul .list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

section.voice-single .navi-single ul .list a {
  min-width: 20rem;
}

section.voice-single .navi-single ul .next {
  position: absolute;
  top: 0;
  right: 0;
}

section.voice-single .navi-single ul .next a::after {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  background: url(../img/navi_single_icon_arrow_right.png) center/100% auto no-repeat;
  margin-left: 2rem;
}

@media screen and (max-width: 1023px) {
  section.voice-single .container {
    padding: 4rem 2rem;
  }
  section.voice-single .detail {
    padding: 1.5rem 2rem 2rem;
    border: solid 2px #153c6c;
    margin: 3rem auto 3.4rem;
  }
  section.voice-single .detail dt {
    width: 30%;
    margin-bottom: 0;
    padding-left: 20px;
  }
  section.voice-single .detail dd {
    width: 70%;
    margin-bottom: 0;
  }
  section.voice-single .detail dd:nth-child(4n) {
    width: 70%;
  }
  section.voice-single .link-case .image {
    width: 15rem;
  }
  section.voice-single .navi-single ul a {
    font-size: 1.4rem;
    min-width: unset;
    padding: 0.5rem 2rem;
  }
  section.voice-single .navi-single ul .prev a::before {
    width: 0.4rem;
    height: 0.6rem;
    margin-right: 1rem;
  }
  section.voice-single .navi-single ul .list a {
    min-width: unset;
  }
  section.voice-single .navi-single ul .next a::after {
    width: 0.4rem;
    height: 0.6rem;
    margin-left: 1rem;
  }
}
section.termites-lead .container {
  position: relative;
  padding-bottom: 7.5rem;
}

section.termites-lead .page-title {
  margin-bottom: 8.5rem;
}

section.termites-lead .content-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  max-width: 130rem;
  margin: 0 auto;
}

section.termites-lead .content {
  width: calc(100% - 55rem);
  max-width: 70rem;
}

section.termites-lead .box {
  background-color: #FFF;
  width: 53rem;
  margin-top: 1rem;
  border: solid 1px #888;
  padding: 3rem 3rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.termites-lead .box .item {
  width: calc(50% - 1rem);
}

section.termites-lead .box .item .image {
  margin-bottom: 1.5rem;
}

section.termites-lead .box .item .text {
  font-size: 1.4rem;
}

section.termites-lead .content h3 {
  font-weight: bold;
  font-size: 2.2rem;
  margin-bottom: 3.5rem;
}

section.termites-lead .content h3 span {
  color: #3087c2;
  line-height: 1;
  font-size: 2.8rem;
}

section.termites-lead .content p {
  margin-bottom: 2.9rem;
  line-height: 2;
}

section.termites-lead .content p span {
  font-weight: 700;
  border-bottom: 2px solid;
}

@media screen and (max-width: 1023px) {
  section.termites-lead .page-title {
    margin-bottom: 4.5rem;
  }
  section.termites-lead .content {
    width: 100%;
  }
  section.termites-lead .box {
    width: 100%;
  }
}
section.termites-checkpoint .container {
  padding-top: 8.5rem;
  padding-bottom: 11.5rem;
}

/* section.termites-checkpoint .page-subtitle {
  margin-bottom: 4.5rem;
} */
section.termites-checkpoint .lead {
  text-align: center;
  margin-bottom: 6rem;
  line-height: 2;
}

section.termites-checkpoint .lead span {
  font-weight: 700;
  border-bottom: 2px solid;
}

section.termites-checkpoint .block {
  max-width: 110rem;
  margin: 0 auto 3rem;
  background: #fff;
  box-shadow: 0 0 10px 3px #d2e4ef;
  border-radius: 10px;
  padding: 5rem 5rem 3rem;
}

section.termites-checkpoint .block h4 {
  font-weight: bold;
  position: relative;
  margin-bottom: 5.3rem;
  font-size: 2.3rem;
  text-align: center;
}

/* section.termites-checkpoint .block h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  background: #0E86C2;
} */
section.termites-checkpoint .block h4 span {
  display: inline-block;
  padding: 0 1rem;
  position: relative;
  z-index: 2;
  font-size: 2.8rem;
  color: #3087c2;
}

section.termites-checkpoint .block h4 span::before {
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/termites_checkpoint_icon_check.png) 0 0/100% auto no-repeat;
  margin-right: 2rem;
  vertical-align: middle;
  margin-top: -0.4rem;
}

section.termites-checkpoint .block ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 5.3rem;
  max-width: 97%;
  margin: 0 auto;
}

section.termites-checkpoint .block ul::after {
  content: "";
  display: block;
  width: calc(33.3% - 1rem);
  max-width: 32rem;
  height: 0;
}

section.termites-checkpoint .block ul li {
  width: calc(33.3% - 1rem);
  max-width: 32rem;
  overflow: hidden;
  border-radius: 3rem 3rem 0 0;
  margin-bottom: 4.5rem;
  border: 1px solid #ddd;
}

section.termites-checkpoint .block ul li .text {
  text-align: center;
  padding: 1.5rem 1rem;
  font-size: 1.5rem;
  background: #fff;
  border-bottom: solid 0.5rem #143C6C;
}

section.termites-checkpoint .termites-button {
  margin-top: 7.5rem;
}

@media screen and (max-width: 1023px) {
  section.termites-checkpoint .block ul li {
    width: calc(50% - 1rem);
  }
}
section.termites-haari .container {
  padding-top: 7.5rem;
  padding-bottom: 10.5rem;
}

section.termites-haari h3 {
  font-weight: bold;
  font-size: 3rem;
  text-align: center;
}

section.termites-haari h4 {
  font-size: 2rem;
  font-weight: 700;
  color: #0E86C2;
  margin-bottom: 1rem;
  max-width: 86rem;
  margin: 0 auto;
  margin-bottom: 2rem;
}

section.termites-haari .text {
  max-width: 86rem;
  margin: 0 auto;
  margin-bottom: 8rem;
}

section.termites-haari .text span {
  font-weight: 700;
  border-bottom: 2px solid;
}

section.termites-haari .block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 86rem;
  margin: 0 auto;
}

section.termites-haari .block .item {
  width: calc(50% - 1rem);
  max-width: 40rem;
  margin: 0 auto;
}

section.termites-haari .block .item .image {
  margin-bottom: 1rem;
}

section.termites-haari .block .item .name {
  text-align: center;
  font-size: 1.8rem;
}

section.termites-haari .block .item.warning {
  position: relative;
}

section.termites-haari .block .item.warning::before {
  content: "要注意!";
  display: block;
  width: 11.6rem;
  height: 11.6rem;
  line-height: 11.6rem;
  border-radius: 100%;
  background: #EC6941;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
  position: absolute;
  top: -4.5rem;
  right: -4rem;
}

section.termites-haari .block .item.warning .image {
  border: solid 0.3rem #EC6941;
}

@media screen and (max-width: 1023px) {
  section.termites-haari h3 {
    font-size: 2.4rem;
  }
  section.termites-haari .block .item {
    width: 100%;
    margin-bottom: 2rem;
  }
}
section.termites-menu .container {
  padding-top: 8.5rem;
  padding-bottom: 11.5rem;
}

/* section.termites-menu .page-subtitle {
  margin-bottom: 5.0rem;
} */
section.termites-menu .text {
  text-align: center;
  margin-bottom: 3rem;
}

section.termites-menu .table-wrap {
  max-width: 63rem;
  margin: 0 auto;
}

section.termites-menu table {
  width: 100%;
  border: 1px solid #78a8c0;
}

section.termites-menu table th {
  padding: 0.7rem 4rem;
  background: #0E86C2;
  color: #fff;
  white-space: nowrap;
  border-right: #fff;
}

section.termites-menu table th:last-child {
  border-right: none;
}

section.termites-menu table td {
  padding: 1.7rem 4rem;
  background: #FFF;
  border-right: solid 1px #78A8C0;
  border-bottom: solid 1px #78A8C0;
}

section.termites-menu table td:last-child {
  border-right: none;
}

section.termites-menu table tr:last-child td {
  border-bottom: none;
}

section.termites-menu table .price {
  text-align: center;
  font-weight: 600;
}

section.termites-menu table .price span {
  font-size: 2rem;
}

section.termites-menu table .box {
  background: #ECF4F8;
  padding: 1rem 1rem 1rem 2.2rem;
  margin-top: 2rem;
  font-size: 1.2rem;
  line-height: 1.4;
}

section.termites-menu .termites-button {
  margin-top: 13.5rem;
}

@media screen and (max-width: 1023px) {
  section.termites-menu table th {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  section.termites-menu table td {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
section .termites-button .text01 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  line-height: 1;
  font-weight: 700;
}

section .termites-button .text02 {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1;
}

section .termites-button .text02 em {
  color: #EC6941;
}

section .termites-button .button {
  text-align: center;
  margin-top: 1.7rem;
}

section .termites-button .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #143c6c url(../img/termites_button_icon_search.png) 4rem 50%/7.6rem auto no-repeat;
  padding: 2.3rem 10.4rem 2.3rem 13rem;
  box-shadow: 0.5rem 0.5rem #0E86C2;
  font-size: 2rem;
  font-weight: 700;
  transition: all 200ms 0s ease;
}

section .termites-button .button a::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
  margin-left: 1.5rem;
}

section .termites-button .button a:hover {
  color: #143c6c;
  background: #fff url(../img/termites_button_icon_search.png) 4rem 50%/7.6rem auto no-repeat;
}

section .termites-button .button a:hover::after {
  background: url(../img/button_icon_arrow_darkblue.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section .termites-button .button a {
    padding: 2.3rem 8rem;
    background: #143c6c url(../img/termites_button_icon_search.png) 1rem 50%/7.6rem auto no-repeat;
  }
}
section.factory-lead .container {
  position: relative;
  padding-bottom: 8rem;
}

section.factory-lead .page-title {
  margin-bottom: 9.5rem;
}

section.factory-lead .content-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  max-width: 130rem;
  margin: 0 auto 5rem;
}

section.factory-lead .image {
  width: auto;
}

section.factory-lead .content {
  width: calc(100% - 40vw);
  max-width: 70rem;
  flex-shrink: 0;
}

section.factory-lead .content h3 {
  font-weight: bold;
  font-size: 2.2rem;
  margin-bottom: 3rem;
}

section.factory-lead .content h3 span {
  color: #3087c2;
  line-height: 1;
  font-size: 2.8rem;
}

section.factory-lead .content p {
  margin-bottom: 4rem;
  line-height: 2;
}

section.factory-lead .content p span {
  font-weight: 700;
  border-bottom: 2px solid;
}

section.factory-lead .link {
  width: auto;
  max-width: 120rem;
  margin: 0 auto;
}

section.factory-lead .link .link_list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}

section.factory-lead .link .link_list li {
  width: 20%;
}

section.factory-lead .link .link_list a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
  color: #fff;
  border: solid 2px #163c6c;
  border-radius: 30px;
  background: url(../img/button_icon_arrow_down.png) 15% 50%/1rem auto no-repeat #163c6c;
  padding: 1rem;
  text-align: center;
  margin: 0 1rem 1rem;
  width: auto;
  transition: opacity 0.5s;
}

section.factory-lead .link .link_list a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 1023px) {
  section.factory-lead .content {
    width: 100%;
  }
  section.factory-lead .image {
    width: 100%;
    text-align: center;
  }
  section.factory-lead .link .link_list li {
    width: 50%;
  }
}
section.factory-tosou.yuka,
section.factory-tosou.gaiheki {
  background: #E2F0F8;
}

section.factory-tosou .container {
  padding-top: 8.5rem;
  padding-bottom: 10rem;
}

/* section.factory-tosou .page-subtitle {
  margin-bottom: 6.0rem;
} */
section.factory-tosou .desc {
  max-width: 93rem;
  margin: 0 auto;
  background: #fff;
  border: solid 8px #143c6c;
  border-radius: 15px;
  padding: 5rem 3rem 2rem 8.8rem;
  position: relative;
}

section.factory-tosou .desc::before {
  content: "";
  display: block;
  width: 100px;
  height: 150px;
  position: absolute;
  bottom: -10px;
  right: 0;
  background: url(../img/icon-woman01.png) center/100% auto no-repeat;
}

section.factory-tosou .desc::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 80px solid transparent;
  border-left: 80px solid transparent;
  border-top: 50px solid #143c6c;
  border-bottom: 0;
  content: "";
  position: absolute;
  left: 50%;
  bottom: -50px;
  transform: translateX(-50%);
}

section.factory-tosou .desc li {
  background: url(../img/factory_tosou_icon_light.png) 0% 50%/3.8rem auto no-repeat;
  border-bottom: dashed 0.2rem #d1e5ff;
  padding: 1rem 0 1rem 5rem;
  margin-bottom: 3rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

section.factory-tosou .desc li em {
  color: #1086C5;
  font-size: 1.8rem;
  padding: 0 0.3rem;
}

section.factory-tosou .point-wrap {
  max-width: 100rem;
  margin: 0 auto;
  padding-top: 13rem;
}

section.factory-tosou .point-wrap h4 {
  text-align: center;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0 0rem;
  margin-bottom: 5.5rem;
  letter-spacing: 1px;
}

section.factory-tosou .point-wrap h4 .sub {
  font-size: 2rem;
  font-weight: 500;
  display: block;
  margin-bottom: 1.5rem;
}

section.factory-tosou .point-wrap h4 .main {
  font-size: 3.5rem;
  font-weight: 600;
  position: relative;
  z-index: 1;
  display: block;
  line-height: 1;
  letter-spacing: 3px;
}

section.factory-tosou .point-wrap h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 1rem;
  background: #d6e7ba;
  position: absolute;
  bottom: -0.3rem;
  left: 0;
  z-index: 0;
}

section.factory-tosou .point {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.factory-tosou .point:nth-child(2) {
  padding-bottom: 4rem;
  background: url(../img/factory_tosou_icon_cross.png) 50% 100%/38px auto no-repeat;
  margin-bottom: 2rem;
}

section.factory-tosou .point .item {
  width: calc(33.3% - 1rem);
  max-width: 33rem;
  margin-bottom: 2rem;
  background: #fff;
  box-shadow: 0 0 10px 3px #d2e4ef;
  border-radius: 0 13px;
}

section.factory-tosou .point .item h5 {
  background: #0E86C2;
  color: #fff;
  text-align: center;
  padding: 0.5rem;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 2px;
  border-radius: 0 13px 0 0;
}

section.factory-tosou .point:nth-child(2) .item h5 {
  background: #143C6C;
}

section.factory-tosou .point .item .content {
  padding: 1rem;
}

section.factory-tosou .point .item .content ul {
  padding: 1.5rem 0rem 1rem 3rem;
}

section.factory-tosou .point .item .content li {
  display: inline-block;
  min-width: 11.5rem;
  margin-bottom: 0.5rem;
}

section.factory-tosou .point .item .content p {
  padding: 1rem 3.5rem 1.7rem 3.5rem;
}

section.factory-tosou .merit {
  max-width: 93rem;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0rem 0.3rem 0.5rem #999;
  margin-top: 12.5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.factory-tosou .merit h4 {
  background: #143C6C;
  color: #fff;
  text-align: center;
  padding: 0.5rem;
  font-size: 2.4rem;
  width: 100%;
}

section.factory-tosou .merit .image {
  width: 50%;
}

section.factory-tosou .merit .text {
  width: 50%;
  padding: 5rem 5rem 2rem 5rem;
  line-height: 1.75;
}

@media screen and (max-width: 1023px) {
  section.factory-tosou .desc {
    padding: 1rem 2rem;
  }
  section.factory-tosou .desc li {
    margin-bottom: 1rem;
  }
  section.factory-tosou .desc::before {
    width: 10rem;
    height: 10rem;
    bottom: -4rem;
    right: -4rem;
  }
  section.factory-tosou .point .item .content ul {
    padding: 0.5rem;
  }
  section.factory-tosou .point .item .content p {
    padding: 0.5rem;
  }
  section.factory-tosou .merit .image {
    width: 100%;
    text-align: center;
    padding-bottom: 5rem;
  }
  section.factory-tosou .merit .text {
    width: 100%;
  }
}
section.factory-toryou .container {
  padding-top: 7.5rem;
  padding-bottom: 11rem;
  max-width: 120rem;
}

section.factory-toryou h3 {
  font-weight: bold;
  text-align: center;
  font-size: 3rem;
  font-weight: 900;
  margin-bottom: 7.5rem;
}

section.factory-toryou h4 {
  position: relative;
  margin-bottom: 3.3rem;
  text-align: left;
  max-width: 115rem;
  margin: 0 auto;
  margin-bottom: 5.5rem;
}

section.factory-toryou h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  background: #0E86C2;
}

section.factory-toryou h4 span {
  display: inline-block;
  background: #fff;
  padding: 0 2rem 0 0;
  position: relative;
  z-index: 2;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 2px;
}

section.factory-toryou .content-wrap {
  max-width: 100rem;
  margin: 0 auto;
  margin-bottom: 8.5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.factory-toryou .merit,
section.factory-toryou .demerit {
  width: calc(50% - 1rem);
  max-width: 48rem;
  background: #EFF7FB;
  padding: 0rem 4rem 2rem 4rem;
  position: relative;
  border-radius: 20px;
}

section.factory-toryou .demerit {
  background: #f7f7f7;
}

section.factory-toryou .merit h5,
section.factory-toryou .demerit h5 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 1rem;
  display: block;
  border-radius: 0 10rem 10rem 0;
  color: #fff;
  transform: translate(0%, -50%);
  padding: 1rem;
  min-width: 16rem;
  text-align: center;
  margin-left: -5rem;
}

section.factory-toryou .merit h5 {
  background: #1086c2;
}

section.factory-toryou .demerit h5 {
  background: #686868;
}

section.factory-toryou .merit ul li,
section.factory-toryou .demerit ul li {
  padding-left: 3rem;
  line-height: 1.7;
  margin-bottom: 3rem;
}

section.factory-toryou .merit ul li {
  background: url(../img/factory_toryou_icon_maru.png) 0% 0.5rem/2rem auto no-repeat;
}

section.factory-toryou .merit ul li em {
  color: #1086c2;
}

section.factory-toryou .demerit ul li {
  color: #686868;
  background: url(../img/factory_toryou_icon_batsu.png) 0% 0.5rem/2.1rem auto no-repeat;
}

section.factory-toryou .osusume {
  max-width: 115rem;
  margin: 0 auto;
  padding-top: 3rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.factory-toryou .osusume .content {
  width: calc(55% - 4.5rem);
  padding-top: 3.5rem;
}

section.factory-toryou .osusume .content .fukidashi {
  background: #e2f0f8;
  display: inline-block;
  padding: 0.5rem 1.5rem;
  font-size: 1.8rem;
  border-radius: 0.5rem;
  position: relative;
  margin-bottom: 1.5rem;
}

section.factory-toryou .osusume .content .fukidashi::after {
  content: "";
  position: absolute;
  bottom: -0.25rem;
  left: calc(50% - 0.25rem);
  width: 0.5rem;
  height: 0.5rem;
  transform: rotate(45deg);
  background-color: #e2f0f8;
}

section.factory-toryou .osusume .content h5 {
  color: #0E86C2;
  font-size: 2.2rem;
  margin-bottom: 2.5rem;
}

section.factory-toryou .osusume .content .text {
  line-height: 1.75;
}

@media screen and (max-width: 1023px) {
  section.factory-toryou .container {
    padding-bottom: 0;
  }
  section.factory-toryou h3 {
    font-size: 2.4rem;
  }
  section.factory-toryou h4 span {
    font-size: 2rem;
  }
  section.factory-toryou .content-wrap {
    margin-bottom: 4rem;
  }
  section.factory-toryou .merit {
    margin-bottom: 5rem;
  }
  section.factory-toryou .merit,
  section.factory-toryou .demerit {
    width: 100%;
  }
  section.factory-toryou .osusume .content {
    width: 100%;
  }
  section.factory-toryou .osusume .image {
    width: 100%;
  }
  section.factory-toryou .osusume .image img {
    width: 100%;
    height: auto;
  }
}
section.factory-plan .container {
  padding-top: 8.5rem;
  padding-bottom: 11.5rem;
}

/* section.factory-plan .page-subtitle {
  margin-bottom: 5.0rem;
} */
section.factory-plan .content {
  max-width: 93rem;
  margin: 0 auto;
  margin-bottom: 3rem;
}

section.factory-plan h4 {
  font-size: 2rem;
  font-weight: 900;
  margin-bottom: 2rem;
}

section.factory-plan .text {
  margin-bottom: 4rem;
  margin-left: 3.5rem;
}

section.factory-plan .image {
  text-align: center;
}

section.factory-plan .button-case {
  text-align: center;
  margin-top: 9rem;
}

section.factory-plan .button-case a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #143c6c url(../img/factory_plan_icon_factory.png) 8rem 50%/4.3rem auto no-repeat;
  padding: 1.5rem 14.8rem;
  box-shadow: 0.5rem 0.5rem #0E86C2;
  font-size: 2rem;
  transition: all 200ms 0s ease;
}

section.factory-plan .button-case a .sub {
  font-size: 1.8rem;
  display: block;
  text-align: center;
}

section.factory-plan .button-case a .main {
  font-size: 2rem;
  display: block;
  text-align: center;
}

section.factory-plan .button-case a::after {
  content: "";
  display: block;
  width: 1.1rem;
  height: 1.9rem;
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 9rem;
}

section.factory-plan .button-case a:hover {
  color: #143c6c;
  background: #fff url(../img/factory_plan_icon_factory_blue.png) 8rem 50%/4.3rem auto no-repeat;
}

section.factory-plan .button-case a:hover::after {
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
}

section.factory-plan .button-contact {
  text-align: center;
  margin-top: 9rem;
}

section.factory-plan .button-contact .sub {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  display: block;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  font-size: 1.8rem;
  margin-bottom: 0.8rem;
}

section.factory-plan .button-contact a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #0E86C2;
  background: #fff url(../img/factory_plan_icon_mail.png) 8.5rem 50%/4.3rem auto no-repeat;
  padding: 3rem 14.8rem;
  box-shadow: 0.5rem 0.5rem #FEF283;
  font-size: 2rem;
  transition: all 200ms 0s ease;
}

section.factory-plan .button-contact a .sub {
  font-size: 1.8rem;
  display: block;
  text-align: center;
}

section.factory-plan .button-contact a .main {
  font-size: 2rem;
  display: block;
  text-align: center;
}

section.factory-plan .button-contact a::after {
  content: "";
  display: block;
  width: 1.1rem;
  height: 1.9rem;
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 10.5rem;
}

section.factory-plan .button-contact a:hover {
  color: #fff;
  background: #143c6c url(../img/factory_plan_icon_mail.png) 8.5rem 50%/4.3rem auto no-repeat;
}

section.factory-plan .button-contact a:hover::after {
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section.factory-plan .container {
    padding-bottom: 3rem;
  }
  section.factory-plan .button-case a {
    background: #143c6c url(../img/factory_plan_icon_factory.png) 3rem 50%/4.3rem auto no-repeat;
    padding-right: 2rem;
    padding-left: 2rem;
    width: 90%;
  }
  section.factory-plan .button-contact a {
    background: #fff url(../img/factory_plan_icon_mail.png) 3.5rem 50%/4.3rem auto no-repeat;
    padding-right: 2rem;
    padding-left: 2rem;
    width: 90%;
  }
  section.factory-plan .button-case a::after {
    right: 3.5rem;
  }
  section.factory-plan .button-contact a::after {
    right: 3.5rem;
  }
}
section.factory_menu .prepend {
  background: #e2f0f8;
  padding-top: 10rem;
}

section.factory_menu .prepend .container {
  padding: 5rem;
  background: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-image: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-position: 13rem calc(100% + 4.5rem), calc(100% - 12rem) calc(100% + 4.6rem);
  background-size: 7.5rem auto, 10rem auto;
  background-repeat: no-repeat;
}

section.factory_menu .prepend .lead {
  text-align: center;
  line-height: 1.75;
  font-size: 1.8rem;
}

section.factory_menu .body {
  padding: 7rem 0 0;
  margin: 0 auto;
  max-width: 100rem;
}

section.factory_menu .body .block-image {
  display: flex;
  margin: 0 auto;
  max-width: 100rem;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
}

section.factory_menu .body .block-content {
  margin: 0 auto 6rem;
  border-radius: 1rem;
  padding: 5rem 0;
}

section.factory_menu .body .block-content .image {
  margin-bottom: 3rem;
}

section.factory_menu .body .block-content .image ul {
  display: flex;
  gap: 3rem;
}

section.factory_menu .body .block-content .content {
  font-size: 1.8rem;
  line-height: 2;
}

section.factory_menu .body .block-image {
  margin-bottom: 6rem;
  padding-bottom: 5rem;
}

section.factory_menu .body .block-image .image {
  width: 43%;
  margin-bottom: 5rem;
}

section.factory_menu .body .block-image .image img {
  border-radius: 15px;
}

section.factory_menu .body .block-image .content {
  width: 48%;
  line-height: 2;
  margin-bottom: 5rem;
}

section.factory_menu .body .block-image .content h4 {
  font-weight: 700;
  color: #163c6c;
  border-left: 5px solid #163c6c;
  padding-left: 10px;
  line-height: 1.6;
  margin-bottom: 1rem;
}

section.factory_menu .body .block-image .content_inner {
  width: 96%;
  margin-bottom: 3rem;
}

section.factory_menu .body .block-image .content_inner h4 {
  font-weight: 500;
  font-size: 1.8rem;
  padding: 1rem 2rem;
  border-bottom: 1px solid;
  display: block;
  background: #153c6c;
  color: #fff;
  margin: 0 auto 1.5rem;
}

section.factory_menu .body .block-image .content_inner p {
  margin-bottom: 2rem;
}

section.factory_menu .body .block-image .content_inner dl,
section.factory_menu .body .block-image .content_inner ul {
  padding: 4rem 3rem;
  background: #eef5f9;
  border-radius: 5px;
}

section.factory_menu .body .block-image .content_inner dd {
  margin-bottom: 2rem;
}

section.factory_menu .body .block-image .content_inner .image {
  width: 100%;
}

section.factory_menu .body .block-content h3 {
  text-align: center;
  font-weight: 600;
  font-size: 2.4rem;
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  color: #3087c2;
  position: relative;
  border-bottom: 1px solid #ccc;
}

section.factory_menu .body .block-content h3::before {
  content: "";
  background: url(../img/factory_tosou_icon_light.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
  width: 52px;
  height: 52px;
  position: absolute;
  top: -67px;
  left: 50%;
  transform: translateX(-50%);
}

section.factory_menu .body .block-content .block-image {
  margin-bottom: 0;
  padding-bottom: 0;
}

@media screen and (max-width: 1023px) {
  section.factory_menu .prepend {
    padding-top: 3rem;
  }
  section.factory_menu .prepend .container {
    padding: 5rem 3rem 9rem;
    background-size: 6.5rem auto, 9rem auto;
  }
  section.factory_menu .prepend .lead {
    text-align: left;
  }
  section.factory_menu .body {
    padding-top: 5rem;
  }
  section.factory_menu .body .block-image {
    margin-bottom: 0;
  }
  section.factory_menu .body .block-content {
    margin-bottom: 3rem;
    padding: 5rem 2rem 0;
  }
  section.factory_menu .body .block-image .image {
    width: 100%;
    text-align: center;
    margin-bottom: 3rem;
  }
  section.factory_menu .body .block-image .content {
    width: 90%;
    margin-bottom: 3rem;
  }
}
section.inquiry-lead .container {
  padding-top: 11rem;
  padding-bottom: 11rem;
}

section.inquiry-lead .text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 2rem;
  font-weight: 900;
  display: block;
  line-height: 1;
  position: relative;
  margin-bottom: 1rem;
}

section.inquiry-lead .text span {
  display: inline-block;
  position: relative;
  z-index: 1;
}

section.inquiry-lead .text::before {
  content: "";
  display: block;
  width: 100%;
  height: 0.5rem;
  background: #D6E7BA;
  position: absolute;
  bottom: -0.3rem;
  left: 0;
  z-index: 0;
}

@media screen and (max-width: 1023px) {
  section.inquiry-lead .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  section.inquiry-lead .text {
    font-size: 1.8rem;
    font-weight: 600;
  }
}
section.inquiry-contact .container {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

section.inquiry-contact .block-wrap {
  background: #fff;
  max-width: 110rem;
  margin: 0 auto;
  padding: 0 4rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}

section.inquiry-contact .block-wrap::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 10rem);
  position: absolute;
  top: 5rem;
  left: 50%;
  background: #CCBBAB;
}

section.inquiry-contact .block {
  width: 50%;
  max-width: 47rem;
}

section.inquiry-contact .block h3 {
  font-size: 2rem;
  font-weight: 600;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: #fff;
  padding: 0.5rem 3.5rem;
  border-radius: 1rem;
  margin-bottom: 2rem;
}

section.inquiry-contact .block.tel h3 {
  background: #153c6c;
}

section.inquiry-contact .block.line h3 {
  background: #8EC43E;
}

section.inquiry-contact .block .lead {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

section.inquiry-contact .block .kakegawa {
  margin-bottom: 2rem;
}

section.inquiry-contact .block .tel {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 4rem;
  background: url(../img/inquiry_icon_freedial.png) 0 90%/4.5rem auto no-repeat;
  padding-left: 5.5rem;
  margin-bottom: 0;
  position: relative;
}

section.inquiry-contact .block .tel::before {
  content: "掛川店";
  font-size: 1.5rem;
  position: absolute;
  left: 0;
  font-weight: 600;
  color: #3771c8;
}

section.inquiry-contact .block .kikugawa .tel::before {
  content: "菊川店";
  color: #3087c2;
}

section.inquiry-contact .block .tel a {
  text-decoration: none;
  color: #457ccc;
}

section.inquiry-contact .block .kikugawa .tel a {
  color: #3087c2;
}

section.inquiry-contact .block .desc {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-left: 6.5rem;
  line-height: 1.6;
  font-size: 1.3rem;
  color: #636363;
}

section.inquiry-contact .block .qrcode-wrap {
  display: flex;
  justify-content: center;
}

section.inquiry-contact .block .qrcode {
  width: 12rem;
  flex-shrink: 0;
  margin: 0 3rem;
}

section.inquiry-contact .block .qrcode img {
  border: 1px solid #ddd;
}

section.inquiry-contact .block .qrcode .shop {
  font-size: 1.3rem;
  font-weight: 600;
  text-align: center;
  color: #28a447;
}

section.inquiry-contact .block .qrcode-wrap ul {
  padding: 1rem 0rem 2rem 4rem;
}

section.inquiry-contact .block .qrcode-wrap ul li {
  list-style: disc;
  font-size: 1.5rem;
}

@media screen and (max-width: 1023px) {
  section.inquiry-contact .block-wrap {
    padding: 3rem 4rem;
  }
  section.inquiry-contact .block-wrap::before {
    content: none;
  }
  section.inquiry-contact .block {
    width: 100%;
  }
  section.inquiry-contact .block.tel {
    padding-bottom: 3rem;
    margin-bottom: 3rem;
    border-bottom: solid 1px #CCBBAB;
  }
  section.inquiry-contact .block .tel {
    font-size: 3rem;
    padding-left: 4.5rem;
    background: url(../img/inquiry_icon_freedial.png) 0 110%/3.5rem auto no-repeat;
  }
  section.inquiry-contact .block .tel::before {
    font-size: 1.25rem;
  }
  section.inquiry-contact .block .desc {
    font-size: 1.2rem;
    padding-left: 0;
    text-align: center;
  }
}
@media screen and (max-width: 800px) {
  section.inquiry-contact .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
section.inquiry-form .container {
  padding-top: 7.5rem;
  padding-bottom: 9.5rem;
}

section.door-lead .container {
  padding-top: 11rem;
  padding-bottom: 12.4rem;
}

section.door-lead .page-title {
  margin-bottom: 7rem;
}

section.door-lead .block-wrap {
  max-width: 110rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.door-lead .block {
  width: calc(50% - 1rem);
  max-width: 52rem;
}

section.door-lead .block ul {
  background-color: #fff;
  border: solid 1px #2E3234;
  position: relative;
  margin-bottom: 7.3rem;
}

section.door-lead .block ul::after {
  content: "";
  display: block;
  width: 5.6rem;
  height: 5.4rem;
  position: absolute;
  bottom: -6.5rem;
  left: calc(50% - 2.8rem);
  background: url(../img/door_lead_icon_arrow_down.png) center/100% auto no-repeat;
}

section.door-lead .block .text01 {
  font-size: 2.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: relative;
  line-height: 1;
  z-index: 1;
  margin-bottom: 0.5rem;
}

section.door-lead .block .text01 span {
  font-weight: 700;
  position: relative;
  z-index: 1;
}

section.door-lead .block .text01::before {
  content: "";
  display: block;
  width: 100%;
  height: 0.8rem;
  background: #FEF283;
  position: absolute;
  bottom: 0rem;
  left: 0;
  z-index: 0;
}

section.door-lead .block .text02 {
  font-size: 2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 4.2rem;
}

section.door-lead .block .button {
  text-align: center;
}

section.door-lead .block .button a {
  text-decoration: none;
  color: #fff;
  border: solid 0.2rem #EC6941;
  padding: 1.3rem 5rem;
  border-radius: 10rem;
  background: #EC6941 url(../img/button_icon_arrow_down.png) calc(100% - 2rem) 50%/1rem auto no-repeat;
  transition: opacity 200ms 0s ease;
}

section.door-lead .block .button a:hover {
  opacity: 0.7;
}

section.door-lead .block:last-child .button a {
  background: #143C6C url(../img/button_icon_arrow_down.png) calc(100% - 2rem) 50%/1rem auto no-repeat;
  border: solid 0.2rem #143C6C;
}

@media screen and (max-width: 1023px) {
  section.door-lead .page-title {
    margin-bottom: 4.5rem;
  }
  section.door-lead .block {
    width: 100%;
  }
  section.door-lead .block ul {
    padding: 3rem;
  }
  section.door-lead .block ul::before {
    width: 7.5rem;
    height: 8.7rem;
    bottom: 1rem;
    left: 1rem;
  }
  section.door-lead .block:last-child ul::before {
    width: 7.2rem;
    height: 8.4rem;
    bottom: 1rem;
    left: 1rem;
  }
  section.door-lead .block {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 780px) {
  section.door-lead .container {
    padding-top: 5.5rem;
    padding-bottom: 5.4rem;
  }
}
section.door-shutter .container {
  padding-top: 8rem;
  padding-bottom: 11rem;
}

section.door-shutter h3 {
  font-weight: bold;
  display: flex;
  justify-content: left;
  align-items: center;
  font-size: 3rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 5.6rem;
}

section.door-shutter h3 img {
  display: inline-block;
  margin-right: 3rem;
}

section.door-shutter .text {
  text-align: center;
  margin-bottom: 5.5rem;
}

section.door-shutter .image {
  text-align: center;
  margin-bottom: 9rem;
}

section.door-shutter h4 {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 2.6rem;
  margin-bottom: 3rem;
}

section.door-shutter h4 span {
  position: relative;
  z-index: 1;
}

section.door-shutter h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 0.8rem;
  background: #FEF283;
  position: absolute;
  bottom: 0rem;
  left: 0;
  z-index: 0;
}

section.door-shutter ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 93.5rem;
  margin: 0 auto;
}

section.door-shutter ul li {
  background: #fff;
  width: calc(33.3% - 1rem);
  max-width: 29rem;
}

section.door-shutter ul li .label {
  background: #143C6C;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  padding: 0.2rem 1rem;
}

section.door-shutter ul li .desc {
  padding: 2rem 1rem;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  section.door-shutter h3 img {
    width: 5rem;
    margin-right: 1.5rem;
  }
}
@media screen and (max-width: 780px) {
  section.door-shutter h3 {
    font-size: 2.4rem;
  }
  section.door-shutter h3 img {
    width: 7rem;
  }
  section.door-shutter h4 {
    font-size: 2rem;
    font-weight: 600;
  }
  section.door-shutter .text {
    margin-bottom: 3.5rem;
  }
  section.door-shutter ul li .label {
    font-size: 1.6rem;
  }
  section.door-shutter ul li .desc {
    font-size: 1.4rem;
  }
}
section.door-feature01 .container {
  padding-top: 8.5rem;
  padding-bottom: 9.8rem;
}

/* section.door-feature01 .page-subtitle {
  margin-bottom: 4.5rem;
} */
section.door-feature01 .text {
  font-size: 1.8rem;
  text-align: center;
}

section.door-feature01 ul {
  /* display: flex;
  justify-content: space-between;
  flex-wrap: wrap; */
  max-width: 110rem;
  margin: 0 auto;
}

section.door-feature01 ul li {
  width: auto;
  max-width: 90rem;
  padding: 8.5rem 0rem 0.5rem 0rem;
  display: flex;
  justify-content: flex-start;
  margin: 0 auto;
  border-bottom: 1px dashed #ddd;
}

section.door-feature01 ul li .image {
  text-align: center;
  margin-bottom: 3rem;
  width: 40rem;
}

section.door-feature01 ul li .inner {
  width: 55rem;
}

section.door-feature01 ul li h4 {
  font-size: 2rem;
  color: #0E86C2;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

section.door-feature01 ul li .text {
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.75;
}

@media screen and (max-width: 1023px) {
  section.door-feature01 ul li {
    width: 100%;
  }
}
@media screen and (max-width: 780px) {
  section.door-feature01 .container {
    padding-top: 5.5rem;
    padding-bottom: 4rem;
  }
  section.door-feature01 .text {
    text-align: left;
  }
  section.door-feature01 ul li {
    width: 100%;
    justify-content: space-between;
    padding: 3.5rem 0rem;
  }
  section.door-feature01 ul li .image {
    width: 40%;
  }
  section.door-feature01 ul li .inner {
    width: 55%;
  }
  section.door-feature01 ul li h4 {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  section.door-feature01 ul li .text {
    font-size: 1.4rem;
  }
}
section.door-price .container {
  padding-top: 8.1rem;
  padding-bottom: 8.8rem;
}

/* section.door-price .page-subtitle {
  margin-bottom: 5.0rem;
} */
section.door-price .table-wrap {
  margin: 0 auto;
}

section.door-price .table-wrap .text {
  padding: 1.7rem 1.5rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

section.door-price table {
  width: 100%;
}

section.door-price table th {
  padding: 0.7rem 4rem;
  background: #0E86C2;
  color: #fff;
  white-space: nowrap;
  border-right: #fff;
  text-align: center;
}

section.door-price table th:last-child {
  border-right: none;
}

section.door-price table td {
  padding: 1.7rem 4rem;
  background: #FFF;
  border-right: solid 1px #78A8C0;
  border-bottom: solid 1px #78A8C0;
}

section.door-price table td:last-child {
  border-right: none;
}

section.door-price table tr:last-child td {
  border-bottom: none;
}

section.door-price table .price {
  font-size: 2.2rem;
  text-align: center;
  padding: 1.2rem 4rem;
}

section.door-price ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 4rem;
}

section.door-price ul li {
  background: #8ec43d;
  color: #fff;
  padding: 0.4rem 2.4rem;
  margin: 0 1rem;
  border-radius: 0.5rem;
}

@media screen and (max-width: 1023px) {
  section.door-price table th {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  section.door-price table td {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 780px) {
  section.door-price .container {
    padding-top: 5.5rem;
    padding-bottom: 5rem;
  }
  section.door-price .table-wrap .text {
    font-size: 1.3rem;
  }
}
section.door-contact .container {
  padding-top: 9.5rem;
  padding-bottom: 11.5rem;
}

section .door-button-contact .text01 {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 0.7rem;
}

section .door-button-contact .text02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  color: #EC6941;
  font-size: 1.8rem;
  line-height: 1;
}

section .door-button-contact .button {
  text-align: center;
  margin-top: 1rem;
}

section .door-button-contact .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.4rem #143c6c;
  border-radius: 1rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #143c6c url(../img/door_icon_mail.png) 6.5rem 50%/4.3rem auto no-repeat;
  padding: 2.3rem 8.5rem 2.3rem 12.5rem;
  box-shadow: 0.5rem 0.5rem #0E86C2;
  font-size: 2.5rem;
  font-weight: 500;
  transition: all 200ms 0s ease;
  letter-spacing: 2px;
}

section .door-button-contact .button a::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
  margin-left: 1.5rem;
}

section .door-button-contact .button a:hover {
  color: #143c6c;
  background: #fff url(../img/door_icon_mail_blue.png) 6.5rem 50%/4.3rem auto no-repeat;
}

section .door-button-contact .button a:hover::after {
  background: url(../img/button_icon_arrow_darkblue.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section .door-button-contact .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #143c6c url(../img/door_icon_mail.png) 2.5rem 50%/4.3rem auto no-repeat;
  }
}
section.door-katabiraki .container {
  padding-top: 9rem;
  padding-bottom: 2rem;
}

section.door-katabiraki h3 {
  font-weight: bold;
  display: flex;
  justify-content: left;
  align-items: center;
  font-size: 3rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 5rem;
}

section.door-katabiraki h3 img {
  display: inline-block;
  margin-right: 3rem;
}

section.door-katabiraki .text {
  text-align: center;
  margin-bottom: 5rem;
  font-size: 1.8rem;
}

section.door-katabiraki .image {
  text-align: center;
  margin-bottom: 9rem;
}

@media screen and (max-width: 1023px) {
  section.door-katabiraki h3 img {
    width: 7rem;
    margin-right: 1.5rem;
  }
}
@media screen and (max-width: 780px) {
  section.door-katabiraki h3 {
    font-size: 2.4rem;
  }
  section.door-katabiraki .text {
    text-align: left;
  }
  section.door-katabiraki .image {
    margin-bottom: 5rem;
  }
}
section.door-feature02 .container {
  padding-top: 8.5rem;
  padding-bottom: 4rem;
}

section.door-feature02 .page-subtitle {
  margin-bottom: 8rem;
}

section.door-feature02 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 90rem;
  margin: 0 auto;
}

section.door-feature02 ul li {
  width: calc(50% - 1rem);
  max-width: 38rem;
  padding: 4rem 2rem 2rem;
  overflow: hidden;
  box-shadow: 0 0 10px 3px #d2e4ef;
  margin: 0 auto;
  margin-bottom: 7.2rem;
  border: 1px solid #e2f0f8;
  border-radius: 1.5rem;
}

section.door-feature02 ul li .image {
  text-align: center;
  margin-bottom: 3rem;
}

section.door-feature02 ul li .image img {
  width: 100%;
  height: auto;
}

section.door-feature02 ul li h4 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #153c6c;
  text-align: center;
  line-height: 1.7;
  margin-bottom: 0.8rem;
  padding: 0 1rem;
}

section.door-feature02 ul li .text {
  text-align: left;
  font-size: 1.5rem;
  line-height: 1.75;
  padding: 0 2rem;
  line-height: 1.5;
  min-height: 15rem;
}

@media screen and (max-width: 1023px) {
  section.door-feature02 ul li {
    width: 100%;
  }
}
@media screen and (max-width: 780px) {
  section.door-feature02 ul li {
    margin-bottom: 4rem;
  }
}
section.door-plan .container {
  padding-top: 8.5rem;
  padding-bottom: 11.5rem;
}

/* section.door-plan .page-subtitle {
  margin-bottom: 4.0rem;
} */
section.door-plan .text {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 8rem;
}

section.door-plan ul {
  margin-bottom: 12rem;
}

section.door-plan ul li {
  text-align: center;
  margin-bottom: 6rem;
}

section.apart-lead .container {
  padding-top: 11rem;
  padding-bottom: 11.3rem;
}

section.apart-lead .page-title {
  margin-bottom: 10.3rem;
}

section.apart-lead .block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 130rem;
  margin: 0 auto;
}

section.apart-lead .block .content {
  width: calc(50% - 1rem);
  max-width: 76rem;
}

section.apart-lead .block .image {
  width: calc(50% - 1rem);
  max-width: 60rem;
  flex-shrink: 0;
  text-align: center;
}

section.apart-lead .block h3 {
  font-weight: bold;
  font-size: 2.2rem;
  margin-bottom: 2.5rem;
}

section.apart-lead .block h3 span {
  color: #3087c2;
  line-height: 1;
  font-size: 2.8rem;
}

section.apart-lead .block .text {
  line-height: 1.75;
}

section.apart-lead .block .text p {
  margin-bottom: 2.5rem;
}

section.apart-lead .block .text p span {
  font-weight: 700;
  border-bottom: 2px solid;
}

@media screen and (max-width: 1023px) {
  section.apart-lead .container {
    padding-top: 8rem;
    padding-bottom: 7.3rem;
  }
  section.apart-lead .page-title {
    margin-bottom: 4.5rem;
  }
  section.apart-lead .block .content {
    width: 100%;
  }
  section.apart-lead .block .image {
    width: 100%;
  }
}
@media screen and (max-width: 780px) {
  section.door-plan ul {
    margin-bottom: 6rem;
  }
  section.door-plan .container {
    padding-top: 5.5rem;
    padding-bottom: 3.5rem;
  }
}
section.apart-okomari .container {
  padding-top: 8.2rem;
  padding-bottom: 11.5rem;
}

section.apart-okomari .page-subtitle {
  margin-bottom: 7rem;
}

section.apart-okomari .block {
  max-width: 93.5rem;
  margin: 0 auto;
  border: solid 8px #4799cc;
  padding: 3rem 6.2rem;
  position: relative;
  margin-bottom: 10rem;
  background: #fff;
}

section.apart-okomari .block::before {
  content: "";
  display: block;
  width: 100px;
  height: 150px;
  position: absolute;
  bottom: -10px;
  right: 0;
  /* background: url(../img/apart_okomari_image.png) 0 0/100% auto no-repeat; */
  background: url(../img/icon-woman01.png) center/100% auto no-repeat;
}

section.apart-okomari .block ul li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: url(../img/exterior_reform_blt02.png) 0% 50%/3.7rem auto no-repeat;
  padding: 1rem 0;
  padding-left: 4.5rem;
  font-size: 1.8rem;
  border-bottom: dashed 0.2rem #6FA0CD;
  margin-bottom: 2.7rem;
}

section.apart-okomari .block ul li:last-child {
  margin-bottom: 1rem;
}

section.apart-okomari .button-wrap .text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  font-size: 1.8rem;
  line-height: 1;
}

section.apart-okomari .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.apart-okomari .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.4rem #143c6c;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #143c6c url(../img/door_icon_mail.png) 8.5rem 50%/4.3rem auto no-repeat;
  padding: 2.9rem 11.5rem 2.9rem 15.5rem;
  box-shadow: 0.5rem 0.5rem #0E86C2;
  font-size: 2.5rem;
  font-weight: 500;
  transition: all 200ms 0s ease;
  letter-spacing: 2px;
}

section.apart-okomari .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
  margin-left: 1.5rem;
}

section.apart-okomari .button-wrap .button a:hover {
  color: #143c6c;
  background: #fff url(../img/door_icon_mail_blue.png) 8.5rem 50%/4.3rem auto no-repeat;
}

section.apart-okomari .button-wrap .button a:hover::after {
  background: url(../img/button_icon_arrow_darkblue.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section.apart-okomari .container {
    padding-bottom: 3.5rem;
  }
  section.apart-okomari .block {
    padding: 2rem 2rem 5rem 2rem;
  }
  section.apart-okomari .block::before {
    width: 11rem;
    height: 11rem;
    right: -1rem;
  }
  section.apart-okomari .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #143c6c url(../img/door_icon_mail.png) 2.5rem 50%/4.3rem auto no-repeat;
  }
}
section.apart-merit .container {
  padding-top: 8.5rem;
  padding-bottom: 1.5rem;
}

section.apart-merit .page-subtitle {
  margin-bottom: 8rem;
}

section.apart-merit .block {
  max-width: 120rem;
  margin: 0 auto;
  position: relative;
  margin-bottom: 9rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.apart-merit .block:nth-child(odd) {
  flex-direction: row-reverse;
}

section.apart-merit .block .image {
  width: calc(52% - 1rem);
  max-width: 50.3rem;
  flex-shrink: 0;
  text-align: center;
}

section.apart-merit .block .content {
  width: calc(50% - 1rem);
  max-width: 60rem;
  padding-top: 5rem;
}

section.apart-merit .block .content h4 {
  /* display: flex;
  justify-content: left;
  align-items: center; */
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 3rem;
  padding-left: 7rem;
  position: relative;
}

section.apart-merit .block .content h4 span {
  font-size: 3rem;
  border-bottom: 1px solid;
  color: #0E86C2;
  padding: 0 0.3rem;
}

section.apart-merit .block .content h4 .number {
  border-bottom: none;
  display: inline-block;
  font-size: 8.2rem;
  font-family: "Montserrat", sans-serif;
  line-height: 1;
  margin-right: 4rem;
  position: absolute;
  left: 0;
  top: 0;
}

section.apart-merit .block .content .text {
  line-height: 1.75;
}

section.apart-merit .block .content .text p {
  margin-bottom: 2.6rem;
}

section.apart-merit .block .content .text p em {
  font-weight: 700;
  border-bottom: 2px solid;
}

@media screen and (max-width: 1023px) {
  section.apart-merit .block {
    margin-bottom: 5rem;
  }
  section.apart-merit .block .content {
    width: 100%;
    padding-top: 3rem;
  }
  section.apart-merit .block .image {
    width: 100%;
  }
}
section.apart-plan .container {
  padding-top: 8.5rem;
  padding-bottom: 11.5rem;
}

/* section.apart-plan .page-subtitle {
  margin-bottom: 6.0rem;
} */
section.apart-plan .block {
  max-width: 90rem;
  margin: 0 auto;
  position: relative;
  margin-bottom: 8rem;
}

section.apart-plan .block h4 {
  position: relative;
  margin-bottom: 1.5rem;
  text-align: left;
}

section.apart-plan .block h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  background: #0E86C2;
}

section.apart-plan .block h4 span {
  display: inline-block;
  background: #E2F0F8;
  padding: 0 2.5rem 0 0;
  position: relative;
  z-index: 2;
  font-size: 2rem;
  font-weight: 600;
}

section.apart-plan .block h4 span span {
  padding: 0 1rem;
  font-size: 2.5rem;
  color: #3087c2;
}

section.apart-plan .block .text {
  margin-bottom: 4.4rem;
}

section.apart-plan ul li {
  margin-bottom: 50px;
}

section.apart-plan .button {
  text-align: center;
  margin-top: 12rem;
}

section.apart-plan .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 60px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #0E86C2 url(../img/apart_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
  padding: 1.5rem 10rem 1.5rem 14rem;
  font-size: 2rem;
  transition: all 200ms 0s ease;
}

section.apart-plan .button a .sub {
  font-size: 1.8rem;
  display: block;
  text-align: center;
}

section.apart-plan .button a .main {
  font-size: 2rem;
  display: block;
  text-align: center;
}

section.apart-plan .button a::after {
  content: "";
  display: block;
  width: 1.1rem;
  height: 1.9rem;
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 7rem;
}

section.apart-plan .button a:hover {
  color: #0E86C2;
  background: #fff url(../img/apart_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

section.apart-plan .button a:hover::after {
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
}

section.apart-bousui .prepend {
  background: #e2f0f8;
  padding-top: 7rem;
}

section.apart-bousui .container {
  padding: 0 5rem 5rem;
  background: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-image: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-position: 13rem calc(100% + 4.5rem), calc(100% - 12rem) calc(100% + 4.6rem);
  background-size: 7.5rem auto, 10rem auto;
  background-repeat: no-repeat;
  position: relative;
}

section.apart-bousui .page-subtitle {
  margin-bottom: 6rem;
}

section.apart-bousui .lead {
  text-align: center;
  line-height: 1.75;
  font-size: 1.8rem;
}

section.apart-bousui .body {
  padding: 7rem 0 8rem;
  margin: 0 auto;
  max-width: 100rem;
}

section.apart-bousui h3 {
  font-weight: bold;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 3rem;
  margin-bottom: 7rem;
}

section.apart-bousui h3 span {
  position: relative;
  z-index: 1;
}

section.apart-bousui h3::before {
  content: "";
  display: block;
  width: 100%;
  height: 0.8rem;
  background: #D6E7BA;
  position: absolute;
  bottom: 0.5rem;
  left: 0;
  z-index: 0;
}

section.apart-bousui .body .type_set {
  margin-bottom: 10rem;
  padding-top: 3rem;
}

section.apart-bousui .block {
  max-width: 110rem;
  margin: 0 auto;
  position: relative;
  margin-bottom: 10rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.apart-bousui .block .content {
  width: calc(100% - 44rem);
  padding: 2.5rem 0 0 4rem;
}

section.apart-bousui .block .content h4 {
  font-size: 2.2rem;
  margin-bottom: 1.8rem;
}

section.apart-bousui .block .content h4 em {
  color: #EC6941;
}

section.apart-bousui .block .content .text {
  line-height: 1.75;
}

section.apart-bousui .block .content .text p {
  margin-bottom: 0rem;
}

section.apart-bousui .block .image {
  width: 44rem;
}

section.apart-bousui .box {
  max-width: 110rem;
  margin: 0 auto;
  position: relative;
  margin-bottom: 7.5rem;
  border: solid 8px #ffc6b4;
  padding: 5.8rem 2.5rem;
  background-color: #FFF;
  display: flex;
  justify-content: space-between;
}

section.apart-bousui .box .item {
  border-right: solid 1px #ffc6b4;
  padding: 0 3rem;
  width: 50%;
}

section.apart-bousui .box .item:last-child {
  border-right: none;
}

section.apart-bousui .box .item h4 {
  color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: #EC6941;
  padding: 1rem 4.5rem;
  border-radius: 10rem;
  margin-bottom: 3.2rem;
}

section.apart-bousui .box .item .text {
  line-height: 1.75;
  padding: 0 3rem;
}

section.apart-bousui ul li {
  text-align: center;
  margin-bottom: 5rem;
}

section.apart-bousui .button-wrap {
  margin-top: 11.5rem;
}

section.apart-bousui .button-wrap .text {
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.5;
}

section.apart-bousui .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.apart-bousui .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #143c6c url(../img/door_icon_mail.png) 7.5rem 50%/4.3rem auto no-repeat;
  padding: 2.5rem 6rem 2.5rem 14rem;
  box-shadow: 0.5rem 0.5rem #0E86C2;
  font-size: 2rem;
  font-weight: 900;
  transition: all 200ms 0s ease;
}

section.apart-bousui .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
  margin-left: 1.5rem;
}

section.apart-bousui .button-wrap .button a:hover {
  color: #143c6c;
  background: #fff url(../img/door_icon_mail_blue.png) 7.5rem 50%/4.3rem auto no-repeat;
}

section.apart-bousui .button-wrap .button a:hover::after {
  background: url(../img/button_icon_arrow_darkblue.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section.apart-bousui .container {
    padding: 0 2rem 7rem;
    background-position: 5rem calc(100% + 4.5rem), calc(100% - 0rem) calc(100% + 4.6rem);
  }
  section.apart-bousui .block {
    margin-bottom: 3rem;
  }
  section.apart-bousui .block .content {
    width: 100%;
    padding: 2rem;
  }
  section.apart-bousui .block .image {
    width: 95%;
    text-align: center;
    margin: 0 auto;
  }
  section.apart-bousui .box {
    padding: 3rem 1rem;
    width: 90%;
  }
  section.apart-bousui .box .item {
    padding: 0;
    font-size: 90%;
  }
  section.apart-bousui .box .item h4 {
    padding: 1rem 1.5rem;
  }
  section.apart-bousui .button-wrap .button a {
    padding: 2rem 7rem;
    background: #143c6c url(../img/door_icon_mail.png) 2.5rem 50%/3rem auto no-repeat;
  }
}
@media screen and (max-width: 768px) {
  section.apart-bousui .block {
    margin-bottom: 4rem;
  }
  section.apart-bousui .box {
    border: solid 8px #ffc6b4;
    flex-wrap: wrap;
  }
  section.apart-bousui .box .item {
    border-right: none;
    border-bottom: solid 1px #ffc6b4;
    padding: 0 2rem;
    margin-bottom: 2rem;
    width: 100%;
  }
  section.apart-bousui .box .item:last-child {
    border-bottom: none;
    margin-bottom: 0;
  }
  section.apart-bousui .box .item h4 {
    margin-bottom: 1.2rem;
  }
}
section.apart-bousui-reason .container {
  padding-top: 8.2rem;
  padding-bottom: 5.5rem;
}

section.apart-bousui-reason .page-subtitle {
  margin-bottom: 7rem;
}

section.apart-bousui-reason .block {
  max-width: 93.5rem;
  margin: 0 auto;
  border: solid 8px #4799cc;
  padding: 4rem 4.2rem 3rem;
  position: relative;
  margin-bottom: 10rem;
  background: #fff;
}

section.apart-bousui-reason .block::before {
  content: "";
  display: block;
  width: 100px;
  height: 150px;
  position: absolute;
  bottom: -10px;
  right: 0;
  background: url(../img/icon-woman01.png) center/100% auto no-repeat;
}

section.apart-bousui-reason .block dt,
section.apart-bousui-reason .block dd {
  padding: 1rem 0;
  padding-left: 5rem;
}

section.apart-bousui-reason .block dt {
  background: url(../img/factory_tosou_icon_light.png) 0% 50%/3.8rem auto no-repeat;
  font-size: 2rem;
}

section.apart-bousui-reason .block dd {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px dashed #ccc;
}

section.apart-bousui-reason .block dd:last-child {
  border-bottom: none;
}

@media screen and (max-width: 1023px) {
  section.apart-bousui-reason .block {
    margin-bottom: 0;
  }
  section.apart-bousui-reason .block dt {
    font-size: 1.8rem;
  }
  section.apart-bousui-reason .block::before {
    width: 70px;
    height: 100px;
    right: -6px;
    background: url(../img/icon-woman01.png) center/85% auto no-repeat;
  }
}
section .blog-wrap .sidebar .block {
  box-shadow: 0.1rem 0.1rem 0.4rem #999;
}

section .blog-wrap .sidebar .block .caption {
  color: #fff;
  text-align: center;
  background: #0E86C2;
  padding: 1rem;
}

section .blog-wrap .sidebar .block .category {
  padding: 0.5rem 1.5rem;
  margin-bottom: 4.5rem;
  background-color: #fff;
}

section .blog-wrap .sidebar .block .category li {
  margin-bottom: 0.5rem;
  border-bottom: dashed 0.1rem #6FA0CD;
}

section .blog-wrap .sidebar .block .category li:last-child {
  margin-bottom: 0rem;
  border-bottom: none;
}

section .blog-wrap .sidebar .block .category a {
  text-decoration: none;
  display: block;
  padding: 1rem 0.7rem;
  background: url(../img/blog_icon_arrow_right.png) calc(100% - 1.8rem) 50%/0.7rem auto no-repeat;
  transition: opacity 500ms 0s ease;
  font-size: 1.4rem;
}

section .blog-wrap .sidebar .block .category a:hover {
  opacity: 0.6;
}

section .blog-wrap .sidebar .block .archives {
  padding: 0.5rem 1.5rem;
  margin-bottom: 4.5rem;
  background-color: #FFF;
}

section .blog-wrap .sidebar .block .archives > li {
  margin-bottom: 0.5rem;
  border-bottom: dashed 0.2rem #6FA0CD;
}

section .blog-wrap .sidebar .block .archives > li:last-child {
  margin-bottom: 0rem;
  border-bottom: none;
}

section .blog-wrap .sidebar .block .archives .year {
  text-decoration: none;
  display: block;
  padding: 1rem 1.7rem 1rem 4rem;
  cursor: pointer;
  background: url(../img/blog_icon_plus.png) 0 50%/2.4rem auto no-repeat;
  transition: opacity 500ms 0s ease;
}

section .blog-wrap .sidebar .block .archives .year:hover {
  opacity: 0.6;
}

section .blog-wrap .sidebar .block .archives .open .year {
  background: url(../img/blog_icon_minus.png) 0 50%/2.4rem auto no-repeat;
}

section .blog-wrap .sidebar .block .archives > li ul {
  margin-top: -2rem;
  padding: 1rem 3.5rem;
  display: none;
}

section .blog-wrap .sidebar .block .archives > li.open ul {
  display: block;
}

section .blog-wrap .sidebar .block .archives > li ul li {
  margin-bottom: 0.6rem;
}

section .blog-wrap .sidebar .block .archives > li ul li a {
  text-decoration: none;
}

section .blog-wrap .sidebar .block .archives > li ul li a:hover {
  text-decoration: underline;
}

section .blog-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 115rem;
  margin: 0 auto;
}

section .blog-wrap .single {
  width: 70%;
  max-width: 80.5rem;
  flex-shrink: 0;
}

section .blog-wrap .list {
  width: 70%;
  max-width: 72.5rem;
  flex-shrink: 0;
}

section .blog-wrap .sidebar {
  width: 100%;
  max-width: 28.9rem;
  padding-left: 2rem;
}

@media screen and (max-width: 1023px) {
  section .blog-wrap .single {
    width: 100%;
  }
  section .blog-wrap .sidebar {
    display: none;
  }
}
/* @media screen and (min-width: 1024px) {
  section .blog-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 115rem;
    margin: 0 auto;
  }
  section .blog-wrap .single {
    width: 70%;
    max-width: 80.5rem;
    flex-shrink: 0;
  }
  section .blog-wrap .list {
    width: 70%;
    max-width: 72.5rem;
    flex-shrink: 0;
  }
  section .blog-wrap .sidebar {
    width: 100%;
    max-width: 28.9rem;
    padding-left: 2rem;
  }
} */
@media screen and (max-width: 780px) {
  section .blog-wrap {
    flex-wrap: wrap;
  }
  section .blog-wrap .list {
    width: 100%;
  }
}
section.blog-list .container {
  padding-top: 12rem;
  padding-bottom: 10rem;
}

section.blog-list .page-title {
  padding: 0;
  margin-bottom: 9rem;
}

section.blog-list .page-title .main {
  font-size: 2rem;
}

section.blog-list .page-title::before {
  height: 1rem;
  background: #D6E7BA;
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  z-index: 0;
}

section.blog-list ul.list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.blog-list ul.list li {
  width: calc(47% - 1.3rem);
  overflow: hidden;
  margin-bottom: 8.2rem;
}

section.blog-list ul.list li a {
  display: block;
  text-decoration: none;
  width: 100%;
  height: 100%;
  position: relative;
  transition: opacity 500ms 0s ease;
}

section.blog-list ul.list li a:hover {
  opacity: 0.6;
}

section.blog-list ul.list .name {
  position: absolute;
  top: 1px;
  left: 1px;
  background: #fff;
  font-size: 1.5rem;
  padding: 1rem 2.1rem 1rem 2rem;
  border-radius: 1rem 0;
}

section.blog-list ul.list .image {
  margin-bottom: 2rem;
  aspect-ratio: 4/3;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid #d8d8d8;
}

section.blog-list ul.list .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

section.blog-list ul.list .new {
  position: absolute;
  right: 2.9rem;
  color: #8EC43E;
  font-size: 1.8rem;
  padding-left: 1rem;
}

section.blog-list ul.list .new::before {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  background: #F9C9BA;
  border-radius: 0.6rem;
  position: absolute;
  top: calc(50% - 0.3rem);
  left: 0;
}

section.blog-list ul.list .title {
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0 1rem;
  margin-bottom: 1rem;
  line-height: 1.5;
}

section.blog-list ul.list .date {
  color: #0E86C2;
  font-size: 1.4rem;
  padding-left: 1rem;
  margin-bottom: 0.3rem;
}

@media screen and (max-width: 780px) {
  section.blog-list .container {
    padding-top: 5rem;
  }
  section.blog-list .page-title {
    margin-bottom: 4rem;
  }
  section.blog-list ul.list {
    width: 100%;
  }
  section.blog-list ul.list li {
    margin-bottom: 3.5rem;
    width: calc(50% - 1.3rem);
  }
  section.blog-list ul.list .name {
    font-size: 1.3rem;
    border-radius: 0.5rem 0;
    padding: 0rem 1.1rem 0rem 1rem;
  }
  section.blog-list ul.list .image {
    border-radius: 0.5rem;
    margin-bottom: 1rem;
  }
  section.blog-list ul.list .new {
    font-size: 1.3rem;
    right: 0;
  }
  section.blog-list ul.list .date {
    padding-left: 0;
    font-size: 1.3rem;
  }
  section.blog-list ul.list .title {
    font-size: 1.6rem;
    font-weight: 500;
    padding: 0;
    margin-bottom: 0;
    line-height: 1.3;
  }
}
section.blog-single .container {
  padding: 0;
  padding-top: 10.8rem;
  padding-bottom: 7rem;
  margin: 0 auto;
}

section.blog-single .date {
  font-size: 1.2rem;
  font-weight: 700;
  color: #22729A;
  margin-bottom: 0.7rem;
}

section.blog-single .page-title {
  padding: 0;
  margin: 0;
  margin-bottom: 7rem;
}

section.blog-single .page-title .main {
  font-size: 2rem;
  margin: 0;
  text-align: left;
}

section.blog-single .page-title::before {
  height: 1rem;
  background: #D6E7BA;
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  z-index: 0;
}

section.blog-single .navi-single {
  position: relative;
  margin-bottom: 5rem;
}

section.blog-single .navi-single ul a {
  display: block;
  text-decoration: none;
  background: #22729A;
  color: #fff;
  padding: 1.2rem 2rem;
  text-align: center;
  min-width: 16rem;
  border-radius: 10rem;
  transition: opacity 500ms 0s ease;
}

section.blog-single .navi-single ul a:hover {
  opacity: 0.6;
}

section.blog-single .navi-single ul .prev {
  position: absolute;
  top: 0;
  left: 0;
}

section.blog-single .navi-single ul .prev a::before {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  background: url(../img/navi_single_icon_arrow_left.png) center/100% auto no-repeat;
  margin-right: 2rem;
}

section.blog-single .navi-single ul .list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

section.blog-single .navi-single ul .list a {
  min-width: 20rem;
}

section.blog-single .navi-single ul .next {
  position: absolute;
  top: 0;
  right: 0;
}

section.blog-single .navi-single ul .next a::after {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  background: url(../img/navi_single_icon_arrow_right.png) center/100% auto no-repeat;
  margin-left: 2rem;
}

@media screen and (max-width: 1023px) {
  section.blog-single .container {
    padding: 4rem 2rem;
  }
  section.blog-single .detail {
    padding: 2rem;
  }
  section.blog-single .detail dd {
    width: calc(100% - 8.5rem);
  }
  section.blog-single .detail dd:nth-child(4n) {
    width: calc(100% - 8.5rem);
  }
  section.blog-single .navi-single ul a {
    font-size: 1.4rem;
    min-width: unset;
    padding: 0.5rem 2rem;
  }
  section.blog-single .navi-single ul .prev a::before {
    width: 0.4rem;
    height: 0.6rem;
    margin-right: 1rem;
  }
  section.blog-single .navi-single ul .list a {
    min-width: unset;
  }
  section.blog-single .navi-single ul .next a::after {
    width: 0.4rem;
    height: 0.6rem;
    margin-left: 1rem;
  }
}
section .wp-content {
  margin-bottom: 10rem;
}

section .wp-content p {
  margin-bottom: 3rem;
}

section.roof-lead .container {
  padding-top: 10.5rem;
  padding-bottom: 12.5rem;
}

section.roof-lead .page-title {
  margin-bottom: 8.5rem;
}

section.roof-lead .block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 130rem;
  margin: 0 auto;
}

section.roof-lead .block .content {
  width: calc(53% - 1rem);
  max-width: 76rem;
}

section.roof-lead .block .image {
  width: calc(50% - 1rem);
  max-width: 60rem;
  flex-shrink: 0;
  text-align: center;
}

section.roof-lead .block h3 {
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 2;
  margin-bottom: 2.5rem;
}

section.roof-lead .block h3 span {
  color: #3087c2;
  line-height: 1;
  font-size: 2.8rem;
}

section.roof-lead .block .text {
  line-height: 1.75;
}

section.roof-lead .block .text ul {
  display: flex;
  gap: 1rem;
  margin: 3rem 0;
  flex-wrap: wrap;
  justify-content: space-between;
}

section.roof-lead .block .text ul::after {
  display: block;
  content: "";
  width: 33%;
}

section.roof-lead .block .text ul li {
  background: #0e2542;
  color: #fff;
  width: 32%;
  text-align: center;
  font-size: 1.5rem;
  padding: 0.7rem 0;
}

section.roof-lead .block .text p {
  margin-bottom: 2.5rem;
}

section.roof-lead .block .text p span {
  font-weight: 700;
  border-bottom: 2px solid;
}

@media screen and (max-width: 1023px) {
  section.roof-lead .container {
    padding-bottom: 8.5rem;
  }
  section.roof-lead .page-title {
    margin-bottom: 5.5rem;
  }
  section.roof-lead .block h3 {
    font-size: 1.8rem;
  }
  section.roof-lead .block h3 span {
    font-size: 2rem;
  }
  section.roof-lead .block .content {
    width: 100%;
  }
  section.roof-lead .block .image {
    width: 100%;
  }
  section.roof-lead .block .text ul li {
    width: 47%;
  }
}
@media screen and (max-width: 780px) {
  section.roof-lead .container {
    padding-top: 5.5rem;
    padding-bottom: 3.5em;
  }
}
section.roof-point .container {
  padding-top: 8.5rem;
  padding-bottom: 1.5rem;
  max-width: 120rem;
}

section.roof-point .page-subtitle {
  margin-bottom: 8rem;
  position: relative;
}

section.roof-point .page-subtitle::before {
  content: "";
  background-image: url(../img/exterior_reform_blt01.png);
  position: absolute;
  top: -67px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 62px;
  height: 55px;
}

section.roof-point .lead {
  text-align: center;
  margin-bottom: 7rem;
  font-size: 1.8rem;
  line-height: 2;
}

section.roof-point .lead span {
  font-weight: 800;
}

section.roof-point .block {
  max-width: 96rem;
  margin: 0 auto;
  background-color: #ffffff;
}

section.roof-point .block h4 {
  position: relative;
  margin-bottom: 3.3rem;
  text-align: center;
}

section.roof-point .block h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  background: #0E86C2;
}

section.roof-point .block h4 span {
  display: inline-block;
  background: #E2F0F8;
  padding: 0 2rem;
  position: relative;
  z-index: 2;
  font-size: 1.8rem;
}

section.roof-point .block h4 span::before {
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/termites_checkpoint_icon_check.png) 0 0/100% auto no-repeat;
  margin-right: 2rem;
}

section.roof-point .block ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 5.3rem;
}

section.roof-point .block ul::after {
  content: "";
  display: block;
  width: calc(33.3% - 1rem);
  max-width: 32rem;
  height: 0;
}

section.roof-point .block ul li {
  width: calc(33.3% - 1rem);
  max-width: 27rem;
  overflow: hidden;
  /* border-radius: 3rem 3rem 0 0;
  border-bottom: solid 0.5rem #143C6C;
  box-shadow: 0 0 10px 3px #d2e4ef;
  margin-bottom: 5rem; */
}

section.roof-point .block ul li .text {
  text-align: center;
  padding: 2.5rem 1rem;
  background: #fff;
  color: #0E86C2;
  line-height: 1.2;
  font-weight: 600;
}

section.roof-point .roof-index {
  text-align: center;
  position: relative;
  padding: 7.5rem 0 6rem;
}

section.roof-point .roof-index::before {
  content: "";
  display: block;
  width: 9rem;
  height: 4rem;
  position: absolute;
  top: 0;
  left: calc(50% - 4.5rem);
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

section.roof-point .roof-index .image {
  width: 15rem;
  margin: 0 auto;
}

section.roof-point .roof-index .text {
  line-height: 1.75;
  font-size: 2rem;
  font-weight: 700;
  padding: 3rem 0 0;
}

section.roof-point .roof-index .menu {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  margin: 4rem 0 0;
  flex-wrap: wrap;
}

section.roof-point .roof-index .menu a {
  display: grid;
  place-items: center;
  width: 30rem;
  height: 5.4rem;
  background: #143C6C url(../img/button_icon_arrow_down.png) calc(100% - 3rem) 50%/1rem auto no-repeat;
  border-radius: 2.7rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: inset 0 0 0 1px #143C6C;
  transition: 0.4s;
  transition-property: background-color, color;
}

section.roof-point .roof-index .menu a:hover {
  background-color: #fff;
  background-image: url(../img/button_icon_arrow_down_darkblue.png);
  color: #143C6C;
}

@media screen and (max-width: 1023px) {
  section.roof-point .container {
    padding-bottom: 0;
  }
  section.roof-point .page-subtitle {
    margin-bottom: 5rem;
  }
  section.roof-point .lead {
    text-align: left;
    margin-bottom: 4rem;
  }
  section.roof-point .block ul {
    padding: 1.5rem;
    margin-bottom: 0;
  }
  section.roof-point .block ul li {
    width: calc(50% - 1rem);
  }
  section.roof-point .block ul li .text {
    padding: 1.5rem 1rem;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 780px) {
  section.roof-point .container {
    padding-top: 5.5rem;
  }
  section.roof-point .block {
    border-radius: 1rem;
  }
  section.roof-point .roof-index {
    padding-top: 6rem;
  }
  section.roof-point .roof-index .menu {
    gap: 1.5rem;
  }
  section.roof-point .roof-index .text {
    line-height: 1.5;
    font-size: 1.5rem;
    font-weight: 600;
    padding: 1.5rem 0 0;
  }
}
section.roof-kouzou .container {
  padding-top: 7.5rem;
}

section.roof-kouzou .page-subtitle2 {
  margin-bottom: 7rem;
}

section.roof-kouzou .block-image {
  max-width: 120rem;
  margin: 0 auto;
  margin-bottom: 10rem;
}

section.roof-kouzou .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
  font-weight: bold;
}

section.roof-kouzou .block-image .content h4 span {
  color: #0E86C2;
}

section.roof-kouzou .block-image .content .text {
  line-height: 1.75;
}

section.roof-kouzou .block-image .content .text p {
  margin-bottom: 3rem;
}

section.roof-kouzou .block-image .content .text p span {
  font-weight: 700;
  border-bottom: 2px solid #2c2325;
}

section.roof-kouzou .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

section.roof-kouzou .button-wrap {
  margin-top: 10.5rem;
}

section.roof-kouzou .button-wrap .text01 {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.roof-kouzou .button-wrap .text02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  color: #3087c2;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.roof-kouzou .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.roof-kouzou .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #0E86C2;
  background: #fff url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
  padding: 2.8rem 11.5rem 2.8rem 20rem;
  box-shadow: 0.5rem 0.5rem #FEF283;
  font-size: 2.5rem;
  font-weight: 600;
  transition: all 200ms 0s ease;
}

section.roof-kouzou .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 1.1rem;
  height: 2rem;
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
  margin-left: 2.5rem;
}

section.roof-kouzou .button-wrap .button a:hover {
  color: #fff;
  background: #0E86C2 url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
}

section.roof-kouzou .button-wrap .button a:hover::after {
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.roof-kouzou .block-image {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.roof-kouzou .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.roof-kouzou .block-image .image {
    width: calc(44% - 1rem);
    max-width: 50rem;
  }
  section.roof-kouzou .block-image .content {
    width: calc(56% - 1rem);
    max-width: 63rem;
  }
}
@media screen and (max-width: 1023px) {
  section.roof-kouzou .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #143c6c url(../img/door_icon_mail.png) 2.5rem 50%/4.3rem auto no-repeat;
  }
  section.roof-kouzou .block-image .image {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 780px) {
  section.roof-kouzou .container {
    padding-top: 5rem 2.2rem 2rem;
  }
  section.roof-kouzou .page-subtitle2 {
    margin-bottom: 4rem;
  }
  section.roof-kouzou .block-image {
    margin-bottom: 5rem;
  }
  section.roof-kouzou .block-image .content h4 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
section.roof-paint .page-subtitle {
  margin-bottom: 5rem;
}

section.roof-paint .prepend {
  background: #e2f0f8;
  padding-top: 7.5rem;
}

section.roof-paint .prepend .container {
  padding: 5rem;
  background: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-image: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-position: 13rem calc(100% + 4.5rem), calc(100% - 12rem) calc(100% + 4.6rem);
  background-size: 7.5rem auto, 10rem auto;
  background-repeat: no-repeat;
}

section.roof-paint .prepend .lead {
  text-align: center;
  line-height: 1.75;
  font-size: 1.8rem;
}

section.roof-paint .body {
  padding: 7rem 0 8rem;
}

section.roof-paint .body .block-image {
  display: flex;
  margin: 0 auto;
  max-width: 110rem;
  justify-content: space-around;
  align-items: center;
}

section.roof-paint .body .block-image h4 {
  margin-bottom: 30px;
  font-size: 2rem;
  font-weight: 700;
}

section.roof-paint .body .block-image .checklist li {
  font-weight: 700;
  margin-bottom: 10px;
  font-size: 1.8rem;
  padding-left: 30px;
  position: relative;
}

section.roof-paint .body .block-image .checklist li::before {
  content: "";
  background-image: url(../img/exterior_reform_blt02.png);
  background-size: contain;
  display: inline-block;
  width: 24px;
  height: 24px;
  position: absolute;
  left: 0;
  top: 3px;
}

section.roof-paint .body .block-image .checklist li em {
  color: #0E86C2;
}

@media screen and (max-width: 1023px) {
  section.roof-paint .prepend {
    padding-top: 2rem;
  }
  section.roof-paint .prepend .container {
    padding: 5rem 3rem 11rem;
    background-position: 10rem calc(100% + 4.5rem), calc(100% - 10rem) calc(100% + 4.6rem);
  }
  section.roof-paint .prepend .lead {
    text-align: left;
  }
  section.roof-paint .body {
    padding: 0 0 8rem;
  }
  section.roof-paint .body .block-image {
    display: block;
    padding: 1.5rem;
  }
  section.roof-paint .body .block-image h4 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
  section.roof-paint .body .block-image .image {
    margin-bottom: 30px;
  }
  section.roof-paint .body .block-image .checklist {
    margin-bottom: 3rem;
  }
  section.roof-paint .body .block-image .checklist li {
    font-size: 1.6rem;
    top: 10px;
  }
  section.roof-paint .body .block-image .checklist li::before {
    top: 10px;
  }
}
section.roof-yane .container {
  padding-top: 8.5rem;
  padding-bottom: 11rem;
}

section.roof-yane .page-subtitle {
  margin-bottom: 8rem;
}

section.roof-yane .lead {
  text-align: center;
  margin-bottom: 4.5rem;
  font-size: 1.8rem;
  line-height: 2;
}

section.roof-yane .block {
  max-width: 110rem;
  margin: 0 auto;
}

section.roof-yane .block h4 {
  position: relative;
  margin-bottom: 5rem;
  text-align: center;
  font-weight: bold;
}

section.roof-yane .block h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  background: #0E86C2;
}

section.roof-yane .block h4 span {
  display: inline-block;
  background: #E2F0F8;
  color: #143C6C;
  position: relative;
  z-index: 2;
  font-size: 2.2rem;
  padding: 0 2.5rem;
}

section.roof-yane .block ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

section.roof-yane .block ul::after {
  content: "";
  display: block;
  width: calc(33.3% - 1rem);
  max-width: 32rem;
  height: 0;
}

section.roof-yane .block ul li {
  width: calc(25% - 1rem);
  max-width: 25rem;
  overflow: hidden;
  border-radius: 3rem 3rem 0 0;
  border-bottom: solid 0.5rem #143C6C;
  box-shadow: 0 0 10px 3px #d2e4ef;
  margin-bottom: 5rem;
}

section.roof-yane .block ul li .text {
  text-align: center;
  padding: 1.8rem 1rem;
  background: #fff;
  line-height: 1.2;
  font-weight: 600;
}

section.roof-yane .box {
  max-width: 100%;
  margin: 0 auto 60px;
  background: #fff;
  text-align: center;
  padding: 3rem 2rem;
  font-size: 1.6rem;
  border-radius: 10px;
  border: 3px solid #eee;
  line-height: 2;
}

section.roof-yane .block-image {
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 110rem;
  margin: 0 auto;
}

section.roof-yane .block-image .image {
  width: calc(50% - 1rem);
  max-width: 54rem;
}

section.roof-yane .block-image .content {
  width: calc(50% - 1rem);
  max-width: 52rem;
}

section.roof-yane .block-image .content h4 {
  color: #951818;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
}

section.roof-yane .block-image .content h4 span {
  border-bottom: 1px solid;
}

@media screen and (max-width: 1023px) {
  section.roof-yane .block ul li {
    width: calc(50% - 1rem);
  }
}
@media screen and (max-width: 780px) {
  section.roof-yane .container {
    padding-top: 5rem;
    padding-bottom: 6rem;
  }
  section.roof-yane .page-subtitle {
    margin-bottom: 5rem;
  }
  section.roof-yane .lead {
    text-align: left;
    line-height: 1.7;
  }
  section.roof-yane .block ul li {
    margin-bottom: 2rem;
  }
  section.roof-yane .block ul li .text {
    padding: 1.2rem 1rem;
  }
  section.roof-yane .box {
    font-size: 1.5rem;
    line-height: 1.6;
    text-align: left;
    padding: 2rem;
  }
  section.roof-yane .block-image {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  section.roof-yane .block-image .image,
  section.roof-yane .block-image .content {
    width: 100%;
  }
  section.roof-yane .block-image .content {
    margin-bottom: 3rem;
  }
}
section.roof-cover .container {
  padding-top: 7.5rem;
  padding-bottom: 6.3rem;
}

section.roof-cover .page-subtitle2 {
  margin-bottom: 7rem;
}

section.roof-cover .wrap ul {
  max-width: 900px;
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
  border: 4px solid #247a81;
  padding: 30px 10px 15px;
  border-radius: 0.7rem;
}

section.roof-cover .container .construction_title {
  text-align: center;
  font-size: 1.8rem;
  color: #247a81;
  font-weight: 600;
  margin-top: 40px;
  margin-bottom: 5px;
}

section.roof-cover .wrap ul li {
  width: 30%;
  text-align: center;
}

section.roof-cover .block-image {
  max-width: 110rem;
  margin: 0 auto;
  margin-bottom: 4rem;
}

section.roof-cover .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
  font-weight: bold;
}

section.roof-cover .block-image .content h4 span {
  color: #0E86C2;
}

section.roof-cover .block-image .content .text {
  line-height: 1.75;
}

section.roof-cover .block-image .content .text p {
  margin-bottom: 3rem;
}

section.roof-cover .block-image .content .text p span {
  font-weight: 700;
  border-bottom: 2px solid #2c2325;
}

/* section.roof-cover .block-image .content .text p:last-child {
  margin-bottom: 0rem;
} */
section.roof-cover .box {
  max-width: 60rem;
  margin: 0 auto;
  background: #EBEFF3;
  border-radius: 0.5rem;
  color: #143C6C;
  display: flex;
  justify-content: left;
  align-items: center;
  margin-bottom: 5rem;
}

section.roof-cover .box .caption {
  background: #3087c2;
  border-radius: 0.5rem 0 0 0.5rem;
  color: #fff;
  width: 20rem;
  flex-shrink: 0;
  padding: 1.2rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}

section.roof-cover .box .text {
  width: 100%;
  padding: 1.2rem 2rem 1.2rem 3rem;
}

section.roof-cover .before-after {
  text-align: center;
}

section.roof-cover .button-wrap {
  margin-top: 11.8rem;
  margin-bottom: 9rem;
}

section.roof-cover .button-wrap .text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.2rem 1.5rem;
  font-size: 2rem;
  line-height: 1;
}

section.roof-cover .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.roof-cover .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #0E86C2;
  background: #fff url(../img/termites_button_icon_search.png) 10.5rem 50%/7.6rem auto no-repeat;
  padding: 2.9rem 13.5rem 2.9rem 19.5rem;
  box-shadow: 0.5rem 0.5rem #FEF283;
  font-size: 2.5rem;
  font-weight: 600;
  transition: all 200ms 0s ease;
}

section.roof-cover .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 1.1rem;
  height: 2rem;
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
  margin-left: 5rem;
}

section.roof-cover .button-wrap .button a:hover {
  color: #fff;
  background: #0E86C2 url(../img/termites_button_icon_search.png) 10.5rem 50%/7.6rem auto no-repeat;
}

section.roof-cover .button-wrap .button a:hover::after {
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.roof-cover .block-image {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.roof-cover .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.roof-cover .block-image .image {
    width: calc(45% - 1rem);
    max-width: 45rem;
  }
  section.roof-cover .block-image .content {
    width: calc(57% - 1rem);
    max-width: 60rem;
  }
}
@media screen and (max-width: 1023px) {
  section.roof-cover .box {
    display: block;
  }
  section.roof-cover .box .caption {
    width: 100%;
  }
  section.roof-cover .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #fff url(../img/termites_button_icon_search.png) 2rem 50%/5rem auto no-repeat;
  }
}
@media screen and (max-width: 780px) {
  section.roof-cover .container {
    padding-top: 5rem;
    padding-bottom: 5px;
  }
  section.roof-cover .page-subtitle2 {
    margin-bottom: 4rem;
  }
  section.roof-cover .block-image .content h4 {
    font-size: 2rem;
  }
  section.roof-cover .wrap ul li {
    font-size: 1.5rem;
  }
}
/*　葺き替え　*/
section.roof-fukikae .container {
  padding-top: 7.5rem;
  padding-bottom: 6.3rem;
}

section.roof-fukikae .page-subtitle2 {
  margin-bottom: 7rem;
}

section.roof-fukikae .wrap ul {
  max-width: 900px;
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
  border: 4px solid #247a81;
  padding: 30px 10px 15px;
  border-radius: 0.7rem;
}

section.roof-fukikae .container .construction_title {
  text-align: center;
  font-size: 1.8rem;
  color: #247a81;
  font-weight: 600;
  margin-top: 40px;
  margin-bottom: 5px;
}

section.roof-fukikae .wrap ul li {
  width: 30%;
  text-align: center;
}

section.roof-fukikae .block-image {
  max-width: 110rem;
  margin: 0 auto;
  margin-bottom: 4rem;
}

section.roof-fukikae .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
  font-weight: bold;
}

section.roof-fukikae .block-image .content h4 span {
  color: #0E86C2;
}

section.roof-fukikae .block-image .content .text {
  line-height: 1.75;
}

section.roof-fukikae .block-image .content .text p {
  margin-bottom: 3rem;
}

section.roof-fukikae .block-image .content .text p span {
  font-weight: 700;
  border-bottom: 2px solid #2c2325;
}

/* section.roof-fukikae .block-image .content .text p:last-child {
  margin-bottom: 0rem;
} */
section.roof-fukikae .box {
  max-width: 60rem;
  margin: 0 auto;
  background: #EBEFF3;
  border-radius: 0.5rem;
  color: #143C6C;
  display: flex;
  justify-content: left;
  align-items: center;
  margin-bottom: 5rem;
}

section.roof-fukikae .box .caption {
  background: #3087c2;
  border-radius: 0.5rem 0 0 0.5rem;
  color: #fff;
  width: 20rem;
  flex-shrink: 0;
  padding: 1.2rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}

section.roof-fukikae .box .text {
  width: 100%;
  padding: 1.2rem 2rem 1.2rem 3rem;
}

section.roof-fukikae .before-after {
  text-align: center;
}

section.roof-fukikae .button-wrap {
  margin-top: 11.8rem;
  margin-bottom: 9rem;
}

section.roof-fukikae .button-wrap .text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.2rem 1.5rem;
  font-size: 2rem;
  line-height: 1;
}

section.roof-fukikae .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.roof-fukikae .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #0E86C2;
  background: #fff url(../img/termites_button_icon_search.png) 10.5rem 50%/7.6rem auto no-repeat;
  padding: 2.9rem 13.5rem 2.9rem 19.5rem;
  box-shadow: 0.5rem 0.5rem #FEF283;
  font-size: 2.5rem;
  font-weight: 600;
  transition: all 200ms 0s ease;
}

section.roof-fukikae .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 1.1rem;
  height: 2rem;
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
  margin-left: 5rem;
}

section.roof-fukikae .button-wrap .button a:hover {
  color: #fff;
  background: #0E86C2 url(../img/termites_button_icon_search.png) 10.5rem 50%/7.6rem auto no-repeat;
}

section.roof-fukikae .button-wrap .button a:hover::after {
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.roof-fukikae .block-image {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.roof-fukikae .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.roof-fukikae .block-image .image {
    width: calc(45% - 1rem);
    max-width: 45rem;
  }
  section.roof-fukikae .block-image .content {
    width: calc(57% - 1rem);
    max-width: 60rem;
  }
}
@media screen and (max-width: 1023px) {
  section.roof-fukikae .box {
    display: block;
  }
  section.roof-fukikae .box .caption {
    width: 100%;
  }
  section.roof-fukikae .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #fff url(../img/termites_button_icon_search.png) 2rem 50%/5rem auto no-repeat;
  }
}
@media screen and (max-width: 780px) {
  section.roof-fukikae .container {
    padding-top: 5rem;
    padding-bottom: 0;
  }
  section.roof-fukikae .page-subtitle2 {
    margin-bottom: 4rem;
  }
  section.roof-fukikae .block-image .content h4 {
    font-size: 2rem;
  }
  section.roof-fukikae .wrap ul li {
    font-size: 1.5rem;
  }
}
section.roof-anchor .navi-anchor {
  background-color: #fff;
  border-radius: 10px;
  padding-top: 30px;
  max-width: 110rem;
  margin: 0 auto;
}

section.roof-anchor .navi-anchor .caption {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 4rem;
  color: #153c6c;
  /* font-family: "Zen Maru Gothic", serif; */
}

section.roof-anchor .navi-anchor .caption span {
  border-bottom: 1px solid;
}

section.roof-anchor .navi-anchor ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 85rem;
  margin: 0 auto;
}

section.roof-anchor .navi-anchor li {
  width: calc(33.3% - 3.3rem);
  margin-bottom: 4.8rem;
}

section.roof-anchor .navi-anchor li a {
  display: inline-block;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  width: 100%;
  text-align: center;
  text-decoration: none;
  padding: 1.3rem 1.5rem;
  color: #fff;
  background: #143c6c;
  transition: opacity 500ms 0s ease;
}

section.roof-anchor .navi-anchor li a::after {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  margin-left: 1.5rem;
  vertical-align: middle;
  background: url(../img/button_icon_arrow_right.png) center/100% auto no-repeat;
}

section.roof-anchor .navi-anchor li.anchor a::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 0.6rem;
  margin-left: 1.5rem;
  vertical-align: middle;
  background: url(../img/button_icon_arrow_down.png) center/100% auto no-repeat;
}

section.roof-anchor .navi-anchor li a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 1023px) {
  section.roof-anchor .navi-anchor ul {
    display: block;
  }
  section.roof-anchor .navi-anchor li {
    width: 90%;
    margin: 1rem auto;
  }
  section.roof-anchor .navi-anchor li a {
    padding: 1.3rem 0.5rem;
  }
}
@media screen and (max-width: 780px) {
  section.roof-anchor .navi-anchor {
    padding-top: 0;
    padding-bottom: 60px;
  }
  section.roof-anchor .navi-anchor .caption {
    margin-bottom: 2rem;
  }
  section.roof-anchor .navi-anchor li {
    width: 60%;
  }
}
section.roof-yanezai .container {
  padding-top: 7.5rem;
  padding-bottom: 5.9rem;
}

section.roof-yanezai .page-subtitle3 {
  margin-bottom: 6.8rem;
}

section.roof-yanezai ul {
  max-width: 110rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.roof-yanezai ul li {
  width: calc(50% - 1rem);
  max-width: 52rem;
  position: relative;
  background: #fff;
  margin-bottom: 5rem;
}

section.roof-yanezai ul li .category {
  position: absolute;
  top: 0;
  left: 0;
  background: #0E86C2;
  color: #fff;
  padding: 0.1rem 1.4rem;
  font-size: 1.4rem;
  overflow: hidden;
}

section.roof-yanezai ul li .image {
  float: left;
  margin-right: 3.8rem;
  width: 20rem;
}

section.roof-yanezai ul li .title {
  font-size: 1.5rem;
  padding-top: 2.8rem;
  margin-bottom: 3rem;
}

section.roof-yanezai ul li .link a {
  color: #0E86C2;
  text-decoration: none;
  background: url(../img/button_icon_arrow_blue.png) calc(100% - 1.5rem) 50%/0.7rem auto no-repeat;
  padding-right: 4rem;
  transition: opacity 500ms 0s ease;
}

section.roof-yanezai ul li .link a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 1023px) {
  section.roof-yanezai ul li {
    width: 100%;
  }
  section.roof-yanezai ul li .image {
    margin-right: 1rem;
  }
  section.roof-yanezai ul li .title {
    margin-bottom: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  section.roof-banner {
    background: #fdf8ca;
  }
  section.roof-banner .container {
    padding: 10rem 0;
    text-align: center;
  }
  section.roof-banner .container a {
    display: inline-block;
    transition: opacity 500ms 0s ease;
  }
  section.roof-banner .container a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 1023px) {
  section.roof-banner {
    background: #fdf8ca;
  }
  section.roof-banner .container {
    padding: 5.5rem 2rem;
    text-align: center;
  }
  section.roof-banner .container a {
    display: inline-block;
  }
}
section.roof-konna .container {
  padding-top: 7.3rem;
  padding-bottom: 12rem;
}

section.roof-konna h3 {
  font-weight: bold;
  text-align: center;
  font-size: 3rem;
  margin-bottom: 6rem;
}

section.roof-konna .block {
  max-width: 65.5rem;
  margin: 0 auto;
  border: solid 8px #4799cc;
  padding: 3rem 6.2rem;
  position: relative;
  margin-bottom: 10rem;
  background: #fff;
}

section.roof-konna .block .image {
  content: "";
  display: block;
  width: 100px;
  height: 150px;
  position: absolute;
  bottom: -10px;
  right: 0;
  background: url(../img/icon-woman01.png) 0 0/100% auto no-repeat;
}

section.roof-konna .block ul li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: url(../img/exterior_reform_blt02.png) 0% 50%/3.7rem auto no-repeat;
  padding: 1rem 0;
  padding-left: 4.5rem;
  font-size: 1.8rem;
  border-bottom: dashed 0.2rem #6FA0CD;
  margin-bottom: 2.7rem;
}

section.roof-konna .block ul li:last-child {
  margin-bottom: 1rem;
}

section.roof-konna .block ul li em {
  color: #4799cc;
}

section.roof-konna .button-wrap .text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  font-size: 2rem;
  font-weight: 600;
  color: #3087c2;
  line-height: 1;
}

section.roof-konna .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.roof-konna .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #0E86C2;
  background: #fff url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
  padding: 2.8rem 11.5rem 2.8rem 20rem;
  box-shadow: 0.5rem 0.5rem #FEF283;
  font-size: 2.5rem;
  font-weight: 600;
  transition: all 200ms 0s ease;
}

section.roof-konna .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 0.9rem;
  height: 1.7rem;
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
  margin-left: 2rem;
}

section.roof-konna .button-wrap .button a:hover {
  color: #143c6c;
  background: #fff url(../img/termites_button_icon_search.png) 6rem 50%/7.6rem auto no-repeat;
}

section.roof-konna .button-wrap .button a:hover::after {
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section.roof-konna .block {
    padding: 2rem 2rem 5rem 2rem;
  }
  section.roof-konna .block .image {
    width: 11rem;
    height: 11rem;
    right: -1rem;
  }
  section.roof-konna .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #143c6c url(../img/door_icon_mail.png) 2.5rem 50%/4.3rem auto no-repeat;
  }
}
section.roof-price .container {
  padding-top: 8.1rem;
  padding-bottom: 8.8rem;
}

section.roof-price .table-wrap {
  margin: 0 auto;
  margin-bottom: 3rem;
}

section.roof-price .table-wrap .kome {
  font-size: 1.4rem;
  padding: 1.5rem 1.5rem;
}

section.roof-price .table-wrap .text {
  padding: 1.7rem 1.5rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

section.roof-price table {
  width: 100%;
}

section.roof-price table th {
  padding: 0.7rem 1rem;
  background: #0E86C2;
  color: #fff;
  white-space: nowrap;
  border: solid 1px #0E86C2;
  border-right: solid 1px #fff;
  text-align: center;
}

section.roof-price table th:last-child {
  border-right: none;
}

section.roof-price table td {
  padding: 1.7rem 1rem;
  text-align: center;
  background: #FFF;
  border: solid 1px #78A8C0;
}

section.roof-price table .name {
  width: 59%;
}

section.roof-price table .price {
  font-size: 2.2rem;
  text-align: center;
  padding: 1.2rem 1rem;
}

section.roof-price table .image {
  text-align: center;
  font-size: 1.4rem;
  margin-top: 0.5rem;
}

section.roof-price table .image img {
  display: block;
  margin: 0 auto;
  margin-bottom: 0.5rem;
}

section.roof-price .box {
  max-width: 90rem;
  margin: 0 auto;
  padding: 5rem 1rem;
  background: #E2F0F8;
}

section.roof-price .box .caption {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 4.1rem;
}

section.roof-price .box ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

section.roof-price .box ul li {
  width: calc(50% - 4rem);
  max-width: 38rem;
  margin: 0 2rem;
}

@media screen and (max-width: 1023px) {
  section.roof-price table th {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  section.roof-price table td {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
section.roof-amamori .container {
  padding-top: 7rem;
  padding-bottom: 11.2rem;
}

section.roof-amamori .page-subtitle {
  margin-bottom: 6rem;
}

section.roof-amamori .wrap {
  margin-bottom: 10.5rem;
}

section.roof-amamori .block-image {
  max-width: 110rem;
  margin: 0 auto;
  margin-bottom: 4rem;
}

section.roof-amamori .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
  font-weight: bold;
}

section.roof-amamori .block-image .content .text {
  line-height: 1.75;
}

section.roof-amamori .block-image .content .text p {
  margin-bottom: 3rem;
}

section.roof-amamori .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

@media screen and (min-width: 1024px) {
  section.roof-amamori .block-image {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
  }
  section.roof-amamori .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.roof-amamori .block-image .image {
    width: calc(55% - 1rem);
    max-width: 55rem;
  }
  section.roof-amamori .block-image .content {
    width: calc(45% - 1rem);
    max-width: 46rem;
  }
}
section.roof-pro .container {
  padding-top: 8rem;
  padding-bottom: 7rem;
}

section.roof-pro .page-subtitle {
  margin-bottom: 6rem;
}

section.roof-pro .wrap {
  margin-bottom: 10.5rem;
}

section.roof-pro .block-image {
  max-width: 88rem;
  margin: 0 auto;
  margin-bottom: 4rem;
}

section.roof-pro .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
  color: #0E86C2;
  font-weight: bold;
}

section.roof-pro .block-image .content .text {
  line-height: 1.75;
}

section.roof-pro .block-image .content .text p {
  margin-bottom: 3rem;
}

section.roof-pro .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

@media screen and (min-width: 1024px) {
  section.roof-pro .block-image {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.roof-pro .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.roof-pro .block-image .image {
    width: calc(52% - 1rem);
    max-width: 55rem;
  }
  section.roof-pro .block-image .content {
    width: calc(48% - 1rem);
    max-width: 40rem;
  }
}
section.roof-button .container {
  padding-top: 9rem;
  padding-bottom: 11rem;
}

section.roof-button .button-wrap .text01 {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 0.7rem;
}

section.roof-button .button-wrap .text02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  color: #EC6941;
  font-size: 1.8rem;
  line-height: 1;
}

section.roof-button .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.roof-button .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #143c6c url(../img/door_icon_mail.png) 6.5rem 50%/4.3rem auto no-repeat;
  padding: 2.3rem 7.5rem 2.3rem 13.5rem;
  box-shadow: 0.5rem 0.5rem #0E86C2;
  font-size: 2rem;
  font-weight: 900;
  transition: all 200ms 0s ease;
}

section.roof-button .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 0.8rem;
  height: 1.6rem;
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
  margin-left: 3rem;
}

section.roof-button .button-wrap .button a:hover {
  color: #143c6c;
  background: #fff url(../img/door_icon_mail_blue.png) 6.5rem 50%/4.3rem auto no-repeat;
}

section.roof-button .button-wrap .button a:hover::after {
  background: url(../img/button_icon_arrow_darkblue.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section.roof-button .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 2rem;
    background: #143c6c url(../img/door_icon_mail.png) 2.5rem 50%/4.3rem auto no-repeat;
  }
}
/* wall */
section.wall-lead .container {
  padding-top: 10.5rem;
  padding-bottom: 8.1rem;
}

section.wall-lead .page-title {
  margin-bottom: 8.5rem;
}

section.wall-lead .block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 130rem;
  margin: 0 auto;
}

section.wall-lead .block .content {
  width: calc(50% - 1rem);
  max-width: 70rem;
  padding-top: 1rem;
}

section.wall-lead .block .image {
  width: calc(50% - 1rem);
  max-width: 60rem;
  flex-shrink: 0;
  text-align: center;
  padding-top: 2rem;
}

section.wall-lead .block h3 {
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 2;
  margin-bottom: 2.5rem;
}

section.wall-lead .block h3 span {
  color: #3087c2;
  line-height: 1;
  font-size: 2.8rem;
}

section.wall-lead .block .text {
  line-height: 2;
}

section.wall-lead .block .text p {
  margin-bottom: 2.5rem;
}

section.wall-lead .block .text p span {
  font-weight: 700;
  border-bottom: 2px solid;
}

@media screen and (max-width: 1023px) {
  section.wall-lead .page-title {
    margin-bottom: 4.5rem;
  }
  section.wall-lead .block .content {
    width: 100%;
  }
  section.wall-lead .block .image {
    width: 100%;
  }
}
@media screen and (max-width: 780px) {
  section.wall-lead .container {
    padding-top: 5.5rem;
    padding-bottom: 3.5rem;
  }
  section.wall-lead .block h3 span {
    font-size: 2.4rem;
  }
  section.wall-lead .block .image {
    padding-top: 0;
  }
}
section.wall-point .container {
  padding-top: 8.5rem;
  max-width: 120rem;
  margin: 0 auto;
}

section.wall-point .wall-index {
  text-align: center;
  position: relative;
  padding: 7.5rem 0 6rem;
}

section.wall-point .wall-index::before {
  content: "";
  display: block;
  width: 9rem;
  height: 4rem;
  position: absolute;
  top: 0;
  left: calc(50% - 4.5rem);
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

section.wall-point .wall-index .image {
  width: 15rem;
  margin: 0 auto;
}

section.wall-point .wall-index .text {
  line-height: 1.75;
  font-size: 2rem;
  font-weight: 700;
  padding: 3rem 0 0;
}

section.wall-point .wall-index .text em {
  color: #0e86c2;
}

section.wall-point .page-subtitle {
  margin-bottom: 8rem;
}

section.wall-point .lead {
  text-align: center;
  margin-bottom: 7rem;
  font-size: 1.8rem;
  line-height: 2;
}

section.wall-point .lead span {
  font-weight: 800;
}

section.wall-point .block {
  max-width: 96rem;
  margin: 0 auto;
}

section.wall-point .block h4 {
  position: relative;
  margin-bottom: 3.3rem;
  text-align: center;
}

section.wall-point .block h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  background: #0E86C2;
}

section.wall-point .block h4 span {
  display: inline-block;
  background: #E2F0F8;
  padding: 0 2rem;
  position: relative;
  z-index: 2;
  font-size: 1.8rem;
}

section.wall-point .block h4 span::before {
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/termites_checkpoint_icon_check.png) 0 0/100% auto no-repeat;
  margin-right: 2rem;
}

section.wall-point .block ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.wall-point .block ul::after {
  content: "";
  display: block;
  width: calc(33.3% - 1rem);
  max-width: 32rem;
  height: 0;
}

section.wall-point .block ul li {
  width: calc(33.3% - 1rem);
  max-width: 32rem;
  overflow: hidden;
  margin-bottom: 5rem;
}

section.wall-point .block ul li .text {
  font-weight: 600;
  text-align: center;
  padding: 2.5rem 1rem;
  line-height: 1.2;
  color: #0e86c2;
}

section.wall-point .button-wrap .text01 {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.wall-point .button-wrap .text02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.wall-point .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #0E86C2;
  background: #fff url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
  padding: 2.8rem 11.5rem 2.8rem 20rem;
  box-shadow: 0.5rem 0.5rem #FEF283;
  font-size: 2.5rem;
  font-weight: 600;
  transition: all 200ms 0s ease;
}

section.wall-point .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 1.1rem;
  height: 2rem;
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
  margin-left: 2.5rem;
}

section.wall-point .button-wrap .button a:hover {
  color: #fff;
  background: #0E86C2 url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
}

section.wall-point .button-wrap .button a:hover::after {
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section.wall-point .container {
    max-width: 90%;
    background-color: #fff;
    border-radius: 1rem;
  }
  section.wall-point .page-subtitle {
    margin-bottom: 5rem;
  }
  section.wall-point .lead {
    text-align: left;
    line-height: 1.7;
  }
  section.wall-point .wall-index .image {
    width: 6rem;
  }
  section.wall-point .block ul li {
    width: calc(50% - 1rem);
    margin-bottom: 0;
  }
  section.wall-point .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #fff url(../img/termites_button_icon_search.png) 2rem 50%/5rem auto no-repeat;
  }
}
@media screen and (max-width: 780px) {
  section.wall-point .container {
    padding-top: 5rem;
  }
}
section.wall-kouzou .container {
  padding-top: 7.5rem;
  padding-bottom: 11.5rem;
}

section.wall-kouzou .page-subtitle2 {
  margin-bottom: 7rem;
}

section.wall-kouzou .block-image {
  max-width: 120rem;
  margin: 0 auto;
  margin-bottom: 10rem;
}

section.wall-kouzou .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 4rem;
  font-weight: bold;
}

section.wall-kouzou .block-image .content h4 span {
  color: #0E86C2;
}

section.wall-kouzou .block-image .content .text {
  line-height: 1.75;
}

section.wall-kouzou .block-image .content .text p {
  margin-bottom: 3rem;
}

section.wall-kouzou .block-image .content .text p span {
  font-weight: 700;
  border-bottom: 2px solid #2c2325;
}

section.wall-kouzou .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

section.wall-kouzou .button-wrap {
  margin-top: 10rem;
}

section.wall-kouzou .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.wall-kouzou .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #143c6c url(../img/button_icon_big_arrow_white.png) calc(100% - 5rem) 50%/1.1rem auto no-repeat;
  padding: 1.4rem 12.5rem;
  box-shadow: 0.5rem 0.5rem #0E86C2;
  font-size: 2rem;
  font-weight: 600;
  transition: all 200ms 0s ease;
}

section.wall-kouzou .button-wrap .button a:hover {
  color: #143c6c;
  background: #fff url(../img/button_icon_big_arrow_darkblue.png) calc(100% - 5rem) 50%/1.1rem auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.wall-kouzou .block-image {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.wall-kouzou .block-image:nth-child(3),
  section.wall-kouzou .block-image:nth-child(5) {
    flex-direction: row-reverse;
  }
  section.wall-kouzou .block-image .image {
    width: calc(46% - 1rem);
    max-width: 50rem;
  }
  section.wall-kouzou .block-image .content {
    width: calc(56% - 1rem);
    max-width: 63rem;
  }
}
@media screen and (max-width: 1023px) {
  section.wall-kouzou .container {
    padding-top: 5rem;
    padding-bottom: 8rem;
  }
  section.wall-kouzou .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #143c6c url(../img/button_icon_big_arrow_white.png) calc(100% - 5rem) 50%/1.1rem auto no-repeat;
  }
  section.wall-kouzou .button-wrap .button a:hover {
    background: #143c6c url(../img/button_icon_big_arrow_white.png) calc(100% - 5rem) 50%/1.1rem auto no-repeat;
    color: #fff;
  }
  section.wall-kouzou .block-image {
    margin-bottom: 8rem;
  }
  section.wall-kouzou .block-image .image {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 780px) {
  section.wall-kouzou .page-subtitle2 {
    margin-bottom: 4rem;
  }
  section.wall-kouzou .block-image .content h4 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  section.wall-kouzou .block-image {
    margin-bottom: 5rem;
  }
  section.wall-kouzou .button-wrap {
    margin-top: 7rem;
  }
}
section.wall-paint .page-subtitle {
  margin-bottom: 5rem;
}

section.wall-paint .prepend {
  background: #e2f0f8;
  padding-top: 10rem;
}

section.wall-paint .prepend .container {
  padding: 5rem;
  background: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-image: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-position: 13rem calc(100% + 4.5rem), calc(100% - 12rem) calc(100% + 4.6rem);
  background-size: 7.5rem auto, 10rem auto;
  background-repeat: no-repeat;
  position: relative;
  margin-top: 5rem;
}

section.wall-paint .prepend .picktext {
  position: absolute;
  top: -2.5rem;
  left: 50%;
  padding: 0 2rem;
  background: #FFCA10;
  border-radius: 3rem;
  color: #fff;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 6rem;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

section.wall-paint .prepend .picktext::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 2.2rem;
  position: absolute;
  top: 100%;
  left: calc(50% - 0.4rem);
  background: #FFCA10;
  -webkit-clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
  clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
}

section.wall-paint .prepend .lead {
  text-align: center;
  line-height: 1.75;
  font-size: 1.8rem;
}

section.wall-paint .body {
  padding: 7rem 0 8rem;
  margin: 0 auto;
  max-width: 100rem;
}

section.wall-paint .body .block-content {
  margin: 0 auto 6rem;
  border-radius: 1rem;
  padding: 5rem;
}

section.wall-paint .body .block-content h3 {
  text-align: center;
  font-weight: 600;
  font-size: 2.4rem;
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  color: #3087c2;
  position: relative;
  border-bottom: 1px solid #ccc;
}

section.wall-paint .body .block-content h3::before {
  content: "";
  background: url(../img/factory_tosou_icon_light.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
  width: 52px;
  height: 52px;
  position: absolute;
  top: -67px;
  left: 50%;
  transform: translateX(-50%);
}

section.wall-paint .body .block-content .content .content_inner {
  margin: 8rem 0 0;
}

section.wall-paint .body .block-content .content .text {
  font-size: 1.8rem;
  line-height: 2;
  text-align: center;
  margin-bottom: 2rem;
}

section.wall-paint .body .block-content .content .image {
  width: 90%;
  margin: 0 auto;
}

section.wall-paint .body .block-content .content .wb-table table {
  width: 90%;
  margin: 3rem auto 0;
  border: 4px solid #ccc;
}

section.wall-paint .body .block-content .content .wb-table table caption {
  font-weight: 700;
  font-size: 2rem;
}

section.wall-paint .body .block-content .content .wb-table table th,
.wb-table table td {
  border: 1px solid #ccc;
  width: 25%;
  text-align: center;
  padding: 1.5rem;
}

section.wall-paint .body .block-content .content .wb-table table th {
  background: #eaf1f5;
}

section.wall-paint .body .block-content .content .wb-table table .wb {
  background: #FFCA10;
  color: #fff;
}

section.wall-paint .body .block-content .content .wb-table table th.wb {
  border: none;
}

section.wall-paint .body .block-content .content .wb-table table td.wb {
  border: none;
  border-top: 1px solid #fff;
  color: red;
  font-weight: 900;
  font-size: 2.5rem;
  line-height: 1;
}

section.wall-paint .body .block-content .content em {
  color: #51649f;
}

section.wall-paint .body .block-content .content .content_inner h4 {
  text-align: center;
  font-weight: 500;
  font-size: 1.8rem;
  padding: 1rem 3rem;
  border-bottom: 1px solid;
  margin-bottom: 3rem;
  display: block;
  background: #153c6c;
  color: #fff;
  margin: 0 auto 3rem;
}

section.wall-paint .body .block-content .content .content_inner .panel_list {
  display: flex;
  gap: 3rem;
}

section.wall-paint .construction-blc {
  border: 2px solid #3186c2;
  max-width: 84rem;
  margin: 6rem auto 14rem;
}

section.wall-paint .construction-blc .construction_title {
  text-align: center;
  background: #3086c2;
  padding: 1rem 0;
  color: #fff;
  font-weight: 600;
}

section.wall-paint .construction-blc ul {
  padding: 3rem;
  display: flex;
  justify-content: space-between;
  gap: 1.8rem;
}

section.wall-paint .construction-blc ul li p {
  text-align: center;
  font-size: 1.4rem;
  padding-top: 1rem;
}

@media screen and (max-width: 1023px) {
  section.wall-paint .prepend {
    padding-top: 2rem;
  }
  section.wall-paint .prepend .container {
    padding: 5rem 3rem 11rem;
    background-position: 10rem calc(100% + 4.5rem), calc(100% - 10rem) calc(100% + 4.6rem);
    margin-top: 8rem;
  }
  section.wall-paint .prepend .picktext {
    padding: 1rem 2.5rem;
    border-radius: 5rem;
    font-size: 1.8rem;
    line-height: 2rem;
    top: -1.5rem;
  }
  section.wall-paint .prepend .lead {
    text-align: left;
  }
  section.wall-paint .body {
    padding: 0;
  }
  section.wall-paint .body .block-content {
    padding: 10rem 3rem 0;
  }
  section.wall-paint .body .block-content .content .wb-table table {
    width: 100%;
  }
  section.wall-paint .body .block-content .content .content_inner {
    margin: 6rem 0 0;
  }
  section.wall-paint .body .block-content .content .content_inner .panel_list {
    flex-wrap: wrap;
    justify-content: center;
  }
  section.wall-paint .body .block-content .content .content_inner .panel_list li {
    width: 44%;
  }
  section.wall-paint .construction-blc {
    border: none;
    margin-bottom: 4rem;
  }
}
section.wall-yane .container {
  padding-top: 8.5rem;
  padding-bottom: 11rem;
}

section.wall-yane .page-subtitle {
  margin-bottom: 8rem;
}

section.wall-yane .lead {
  text-align: center;
  margin-bottom: 4.5rem;
  font-size: 1.8rem;
  line-height: 2;
}

section.wall-yane .block {
  max-width: 110rem;
  margin: 0 auto;
}

section.wall-yane .block h4 {
  position: relative;
  margin-bottom: 3rem;
  text-align: center;
  font-weight: bold;
}

section.wall-yane .block h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  background: #0E86C2;
}

section.wall-yane .block h4 span {
  display: inline-block;
  background: #E2F0F8;
  color: #143C6C;
  position: relative;
  z-index: 2;
  font-size: 2.2rem;
  padding: 0 2.5rem;
}

section.wall-yane .block ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

section.wall-yane .block ul::after {
  content: "";
  display: block;
  width: calc(33.3% - 1rem);
  max-width: 32rem;
  height: 0;
}

section.wall-yane .block ul li {
  width: calc(33.3% - 1rem);
  max-width: 32rem;
  overflow: hidden;
  border-radius: 3rem 3rem 0 0;
  margin-bottom: 5rem;
}

section.wall-yane .block ul li .text {
  font-weight: 600;
  text-align: center;
  padding: 1.8rem 1rem;
  background: #fff;
  line-height: 1.2;
  border-bottom: solid 0.5rem #143C6C;
}

section.wall-yane .box {
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  text-align: center;
  padding: 3rem 2rem;
  font-size: 1.8rem;
  line-height: 2;
}

section.wall-yane .box span {
  font-weight: 700;
  font-size: 2rem;
}

@media screen and (max-width: 1023px) {
  section.wall-yane .block ul li {
    width: calc(50% - 1rem);
  }
}
@media screen and (max-width: 780px) {
  section.wall-yane .container {
    padding-top: 5rem;
    padding-bottom: 7rem;
  }
  section.wall-yane .lead {
    text-align: left;
    line-height: 1.7;
  }
  section.wall-yane .block h4 span {
    font-size: 2rem;
  }
  section.wall-yane .block ul li {
    margin-bottom: 2rem;
  }
  section.wall-yane .block ul li .text {
    padding: 1.2rem 1rem;
  }
  section.wall-yane .box {
    font-size: 1.5rem;
    text-align: left;
    line-height: 1.6;
  }
}
section.wall-cover .container {
  padding-top: 7.5rem;
  padding-bottom: 1.5rem;
}

section.wall-cover .page-subtitle2 {
  margin-bottom: 6.5rem;
}

section.wall-cover .wrap {
  margin-bottom: 10.5rem;
  border-bottom: 1px dashed;
  padding-bottom: 10rem;
}

section.wall-cover .wrap:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

section.wall-cover .block-image {
  max-width: 120rem;
  margin: 0 auto;
  margin-bottom: 7.5rem;
}

section.wall-cover .block-image .content h4 {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 2.2rem;
}

section.wall-cover .block-image .content h4 span {
  color: #0E86C2;
}

section.wall-cover .block-image .content .text {
  line-height: 1.75;
}

section.wall-cover .block-image .content .text p {
  margin-bottom: 3rem;
}

section.wall-cover .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

section.wall-cover .box {
  max-width: 85rem;
  margin: 0 auto;
  background: #EBEFF3;
  border-radius: 0.5rem;
  color: #143C6C;
  display: flex;
  justify-content: left;
  margin-bottom: 7rem;
}

section.wall-cover .box .caption {
  background: #143C6C;
  color: #fff;
  width: 25rem;
  flex-shrink: 0;
  padding: 1.2rem;
  text-align: center;
}

section.wall-cover .box .text {
  width: 100%;
  padding: 1.2rem 2rem 1.2rem 5rem;
}

section.wall-cover .before-after {
  text-align: center;
}

section.wall-cover .wrap ul {
  max-width: 900px;
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
  border: 4px solid #247a81;
  padding: 30px 10px 15px;
  border-radius: 0.7rem;
}

section.wall-cover .container .construction_title {
  text-align: center;
  font-size: 1.8rem;
  color: #247a81;
  font-weight: 600;
  margin-top: 40px;
  margin-bottom: 5px;
}

section.wall-cover .wrap ul li {
  width: 30%;
  text-align: center;
}

section.wall-cover .button-wrap {
  margin-top: 11.8rem;
  margin-bottom: 9rem;
}

section.wall-cover .button-wrap .text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.2rem 1.5rem;
  font-size: 2rem;
  line-height: 1;
}

section.wall-cover .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.wall-cover .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #0E86C2;
  background: #fff url(../img/termites_button_icon_search.png) 10.5rem 50%/7.6rem auto no-repeat;
  padding: 2.9rem 13.5rem 2.9rem 19.5rem;
  box-shadow: 0.5rem 0.5rem #FEF283;
  font-size: 2.5rem;
  font-weight: 900;
  transition: all 200ms 0s ease;
}

section.wall-cover .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 1.1rem;
  height: 2rem;
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
  margin-left: 5rem;
}

section.wall-cover .button-wrap .button a:hover {
  color: #fff;
  background: #0E86C2 url(../img/termites_button_icon_search.png) 10.5rem 50%/7.6rem auto no-repeat;
}

section.wall-cover .button-wrap .button a:hover::after {
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.wall-cover .block-image {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.wall-cover .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.wall-cover .block-image .image {
    width: calc(40% - 1rem);
    max-width: 44rem;
  }
  section.wall-cover .block-image .content {
    width: calc(60% - 1rem);
    max-width: 70rem;
  }
}
@media screen and (max-width: 1023px) {
  section.wall-cover .box {
    display: block;
  }
  section.wall-cover .box .caption {
    width: 100%;
  }
  section.wall-cover .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #fff url(../img/termites_button_icon_search.png) 2rem 50%/5rem auto no-repeat;
  }
}
@media screen and (max-width: 780px) {
  section.wall-cover .container {
    padding-top: 5rem;
    padding-bottom: 1.5rem;
  }
  section.wall-cover .page-subtitle2 {
    margin-bottom: 3.5rem;
  }
  section.wall-cover .block-image .content h4 {
    font-size: 2rem;
  }
  section.wall-cover .block-image {
    margin-bottom: 5.5rem;
  }
  section.wall-cover .wrap {
    padding-bottom: 5rem;
    margin-bottom: 3.5rem;
  }
}
section.wall-gaihekizai .container {
  padding-top: 7.5rem;
  padding-bottom: 5.9rem;
}

section.wall-gaihekizai .page-subtitle3 {
  margin-bottom: 3rem;
}

section.wall-gaihekizai .copy {
  margin-bottom: 3rem;
  font-weight: 600;
}

section.wall-gaihekizai ul {
  max-width: 110rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.wall-gaihekizai ul li {
  width: calc(50% - 1rem);
  max-width: 52rem;
  position: relative;
  background: #fff;
  margin-bottom: 2rem;
}

section.wall-gaihekizai ul li a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  transition: all 500ms 0s ease;
  box-shadow: 0 0 10px 3px #d9e7ef;
  display: flex;
  justify-content: flex-start;
  position: relative;
}

section.wall-gaihekizai ul li a:hover {
  background: #E8F6FD;
}

section.wall-gaihekizai ul li .category {
  position: absolute;
  top: 0;
  left: 0;
  background: #0E86C2;
  color: #fff;
  padding: 0.1rem 1.4rem;
  font-size: 1.4rem;
  overflow: hidden;
}

section.wall-gaihekizai ul li .image {
  width: 30%;
}

section.wall-gaihekizai ul li .image img {
  object-fit: cover;
  width: auto;
  aspect-ratio: 1;
  height: 8vw;
}

section.wall-gaihekizai ul li .title {
  font-size: 1.5rem;
  padding-top: 2.5rem;
  width: 60%;
}

section.wall-gaihekizai ul li .money {
  position: absolute;
  right: 0;
  top: 0;
  background: #cf0e0e;
  color: #fff;
  font-size: 1.3rem;
  padding: 3px 5px;
}

section.wall-gaihekizai ul li .money span {
  font-size: 1.8rem;
  font-weight: 700;
}

section.wall-gaihekizai ul li .hosho {
  position: absolute;
  left: 0;
  top: -10px;
  background: #3087c2;
  border: 1px solid #fff;
  border-radius: 15px;
  color: #fff;
  padding: 1px 8px;
  font-size: 1.35rem;
}

section.wall-gaihekizai ul li .link {
  position: absolute;
  right: 0px;
  bottom: 20px;
}

section.wall-gaihekizai ul li .link span {
  color: #0E86C2;
  text-decoration: none;
  background: #fff url(../img/button_icon_arrow_blue.png) calc(100% - 1.5rem) 50%/0.7rem auto no-repeat;
  padding-right: 3rem;
  font-weight: 600;
  font-size: 1.5rem;
}

@media screen and (max-width: 1450px) {
  section.wall-gaihekizai ul li .image img {
    height: 11vw;
  }
}
@media screen and (max-width: 1023px) {
  section.wall-gaihekizai ul li {
    width: 100%;
  }
  section.wall-gaihekizai ul li .image {
    margin-right: 1rem;
  }
  section.wall-gaihekizai ul li .image img {
    height: 29vw;
  }
  section.wall-gaihekizai ul li .title {
    margin-bottom: 1rem;
    padding-top: 3.5rem;
    width: 65%;
  }
  section.wall-gaihekizai ul li a:hover {
    background: #fff;
  }
}
@media screen and (max-width: 780px) {
  section.wall-gaihekizai .container {
    padding-top: 5rem;
  }
  section.wall-gaihekizai .page-subtitle3 {
    margin-bottom: 3.8rem;
  }
  section.wall-gaihekizai ul li {
    margin-bottom: 2rem;
  }
  section.wall-gaihekizai ul li .image img {
    width: 100%;
  }
}
section.wall-banner {
  background: #0E86C2;
  position: relative;
}

section.wall-banner .container {
  padding-top: 8.1rem;
  padding-bottom: 11rem;
  text-align: center;
}

section.wall-banner .container .catch {
  color: #ffffff;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.40625;
  letter-spacing: 2px;
  margin-bottom: 1.5rem;
}

section.wall-banner .container .text {
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1.4rem;
}

section.wall-banner .container .text span {
  border-bottom: 3px solid;
  font-size: 2rem;
  font-weight: 700;
  display: inline-block;
  padding: 0 1rem;
}

section.wall-banner .container .image {
  width: 10rem;
  position: absolute;
  right: calc(50% + 12rem);
  bottom: 6rem;
  pointer-events: none;
  z-index: 2;
}

section.wall-banner .container .btn {
  display: grid;
  place-items: center;
  width: 48rem;
  height: 8rem;
  margin: 4rem auto 0;
  position: relative;
  background: #fff;
  border-radius: 4rem;
  font-size: 2.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: 0.4s;
  transition-property: background-color, color;
  z-index: 1;
}

section.wall-banner .container .btn::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 2.5rem;
  right: 3rem;
  background: #143C6C url(../img/button_icon_big_arrow_white.png) 50% 50%/0.5rem auto no-repeat;
  border-radius: 50%;
  transition: 0.4s;
  transition-property: background-color;
}

section.wall-banner .container a {
  display: inline-block;
  transition: opacity 500ms 0s ease;
}

section.wall-banner .container a:hover {
  background-color: #143C6C;
  color: #fff;
}

section.wall-banner .container a:hover::after {
  background-color: #ffffff;
  background-image: url("../img/button_icon_big_arrow_darkblue.png");
}

@media screen and (max-width: 1023px) {
  section.wall-banner .container .catch {
    font-size: 2.2rem;
  }
  section.wall-banner .container .text {
    font-size: 1.8rem;
    margin-bottom: 1.4rem;
  }
  section.wall-banner .container .image {
    display: none;
  }
  section.wall-banner .container .btn {
    font-size: 2rem;
    max-width: 100%;
  }
}
@media screen and (max-width: 780px) {
  section.wall-banner .container {
    padding: 5.5rem 2rem;
    text-align: center;
  }
  section.wall-banner .container .catch {
    font-size: 2.5rem;
    letter-spacing: 0;
  }
  section.wall-banner .container .text {
    font-size: 1.8rem;
    margin-bottom: 1.4rem;
  }
}
section.wall-amadoi .container {
  padding-top: 7.3rem;
  padding-bottom: 6.3rem;
}

section.wall-amadoi .page-subtitle {
  margin-bottom: 5rem;
}

section.wall-amadoi .wrap {
  margin-bottom: 10.5rem;
}

section.wall-amadoi .block-image {
  max-width: 110rem;
  margin: 0 auto;
  margin-bottom: 4rem;
}

section.wall-amadoi .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
}

section.wall-amadoi .block-image .content .text {
  line-height: 1.75;
}

section.wall-amadoi .block-image .content .text p {
  margin-bottom: 3rem;
}

section.wall-amadoi .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

@media screen and (min-width: 1024px) {
  section.wall-amadoi .block-image {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
  }
  section.wall-amadoi .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.wall-amadoi .block-image .image {
    width: calc(55% - 1rem);
    max-width: 55rem;
  }
  section.wall-amadoi .block-image .content {
    width: calc(45% - 1rem);
    max-width: 46rem;
  }
}
section.wall-konna .container {
  padding-top: 7.3rem;
  padding-bottom: 12rem;
}

section.wall-konna h3 {
  font-weight: bold;
  text-align: center;
  font-size: 3rem;
  margin-bottom: 6rem;
}

section.wall-konna .block {
  max-width: 57.5rem;
  margin: 0 auto;
  border: solid 1px #2E3234;
  padding: 3rem 6.2rem;
  position: relative;
  margin-bottom: 9.5rem;
  background: #fff;
}

section.wall-konna .block .image {
  content: "";
  display: block;
  width: 22rem;
  height: 22rem;
  position: absolute;
  bottom: -2rem;
  right: -5.9rem;
  background: url(../img/wall_konna_image_01.png) 0 0/100% auto no-repeat;
}

section.wall-konna .block ul li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: url(../img/apart_okomari_icon_check.png) 0% 50%/3.7rem auto no-repeat;
  padding: 1rem 0;
  padding-left: 4.5rem;
  font-size: 1.8rem;
  border-bottom: dashed 0.2rem #6FA0CD;
  margin-bottom: 2.7rem;
}

section.wall-konna .block ul li:last-child {
  margin-bottom: 1rem;
}

section.wall-konna .block ul li em {
  color: #DF260C;
}

section.wall-konna .button-wrap .text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  font-size: 1.8rem;
  line-height: 1;
}

section.wall-konna .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.wall-konna .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #143c6c url(../img/termites_button_icon_search.png) 6rem 50%/7.6rem auto no-repeat;
  padding: 2.9rem 8.5rem 2.9rem 15.5rem;
  box-shadow: 0.5rem 0.5rem #0E86C2;
  font-size: 2rem;
  font-weight: 900;
  transition: all 200ms 0s ease;
}

section.wall-konna .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 0.9rem;
  height: 1.7rem;
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
  margin-left: 2rem;
}

section.wall-konna .button-wrap .button a:hover {
  color: #143c6c;
  background: #fff url(../img/termites_button_icon_search.png) 6rem 50%/7.6rem auto no-repeat;
}

section.wall-konna .button-wrap .button a:hover::after {
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section.wall-konna .block {
    padding: 2rem 2rem 5rem 2rem;
  }
  section.wall-konna .block .image {
    width: 11rem;
    height: 11rem;
    right: -1rem;
  }
  section.wall-konna .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #143c6c url(../img/door_icon_mail.png) 2.5rem 50%/4.3rem auto no-repeat;
  }
}
section.wall-price .container {
  padding-top: 8.1rem;
  padding-bottom: 8.8rem;
}

section.wall-price .page-subtitle {
  margin-bottom: 5.5rem;
}

section.wall-price .table-wrap {
  max-width: 63rem;
  margin: 0 auto;
  margin-bottom: 7rem;
}

section.wall-price .table-wrap .kome {
  font-size: 1.4rem;
  padding: 1.5rem 1.5rem;
}

section.wall-price .table-wrap .text {
  padding: 1.7rem 1.5rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

section.wall-price table {
  width: 100%;
}

section.wall-price table th {
  padding: 0.7rem 1rem;
  background: #0E86C2;
  color: #fff;
  white-space: nowrap;
  border: solid 1px #0E86C2;
  border-right: solid 1px #fff;
  text-align: center;
}

section.wall-price table th:last-child {
  border-right: none;
}

section.wall-price table td {
  padding: 1.7rem 1rem;
  text-align: center;
  background: #FFF;
  border: solid 1px #78A8C0;
}

section.wall-price table .name {
  width: 59%;
}

section.wall-price table .price {
  font-size: 2.2rem;
  text-align: center;
  padding: 1.2rem 1rem;
}

section.wall-price table .image {
  text-align: center;
  font-size: 1.4rem;
  margin-top: 0.5rem;
}

section.wall-price table .image img {
  display: block;
  margin: 0 auto;
  margin-bottom: 0.5rem;
}

section.wall-price .box {
  max-width: 90rem;
  margin: 0 auto;
  padding: 5rem 1rem;
  background: #E2F0F8;
}

section.wall-price .box .caption {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 4.1rem;
}

section.wall-price .box ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

section.wall-price .box ul li {
  width: calc(50% - 4rem);
  max-width: 38rem;
  margin: 0 2rem;
}

@media screen and (max-width: 1023px) {
  section.wall-price table th {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  section.wall-price table td {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
section.wall-amamori .container {
  padding-top: 1.7rem;
  padding-bottom: 11.2rem;
}

section.wall-amamori .page-subtitle {
  margin-bottom: 6rem;
}

section.wall-amamori .wrap {
  margin-bottom: 10.5rem;
}

section.wall-amamori .block-image {
  max-width: 110rem;
  margin: 0 auto;
  margin-bottom: 4rem;
}

section.wall-amamori .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
}

section.wall-amamori .block-image .content .text {
  line-height: 1.75;
}

section.wall-amamori .block-image .content .text p {
  margin-bottom: 3rem;
}

section.wall-amamori .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

@media screen and (min-width: 1024px) {
  section.wall-amamori .block-image {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
  }
  section.wall-amamori .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.wall-amamori .block-image .image {
    width: calc(55% - 1rem);
    max-width: 55rem;
  }
  section.wall-amamori .block-image .content {
    width: calc(45% - 1rem);
    max-width: 46rem;
  }
}
section.wall-pro .container {
  padding-top: 8rem;
  padding-bottom: 7rem;
}

section.wall-pro .page-subtitle {
  margin-bottom: 6rem;
}

section.wall-pro .wrap {
  margin-bottom: 10.5rem;
}

section.wall-pro .block-image {
  max-width: 88rem;
  margin: 0 auto;
  margin-bottom: 4rem;
}

section.wall-pro .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
  color: #0E86C2;
}

section.wall-pro .block-image .content .text {
  line-height: 1.75;
}

section.wall-pro .block-image .content .text p {
  margin-bottom: 3rem;
}

section.wall-pro .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

@media screen and (min-width: 1024px) {
  section.wall-pro .block-image {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.wall-pro .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.wall-pro .block-image .image {
    width: calc(52% - 1rem);
    max-width: 55rem;
  }
  section.wall-pro .block-image .content {
    width: calc(48% - 1rem);
    max-width: 40rem;
  }
}
section.wall-button .container {
  padding-top: 9rem;
  padding-bottom: 11rem;
}

section.wall-button .button-wrap .text01 {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 0.7rem;
}

section.wall-button .button-wrap .text02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  color: #EC6941;
  font-size: 1.8rem;
  line-height: 1;
}

section.wall-button .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.wall-button .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #143c6c url(../img/door_icon_mail.png) 6.5rem 50%/4.3rem auto no-repeat;
  padding: 2.3rem 7.5rem 2.3rem 13.5rem;
  box-shadow: 0.5rem 0.5rem #0E86C2;
  font-size: 2rem;
  font-weight: 900;
  transition: all 200ms 0s ease;
}

section.wall-button .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 0.8rem;
  height: 1.6rem;
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
  margin-left: 3rem;
}

section.wall-button .button-wrap .button a:hover {
  color: #143c6c;
  background: #fff url(../img/door_icon_mail_blue.png) 6.5rem 50%/4.3rem auto no-repeat;
}

section.wall-button .button-wrap .button a:hover::after {
  background: url(../img/button_icon_arrow_darkblue.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section.wall-button .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #143c6c url(../img/door_icon_mail.png) 2.5rem 50%/4.3rem auto no-repeat;
  }
}
section.recruit-lead .container {
  padding-top: 11.8rem;
  padding-bottom: 9rem;
}

section.recruit-lead .block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 110.5rem;
  margin: 0 auto;
}

section.recruit-lead .block .content {
  width: calc(55% - 1rem);
  padding-top: 1rem;
}

section.recruit-lead .block .image {
  width: calc(45% - 1rem);
  max-width: 40rem;
  flex-shrink: 0;
  text-align: center;
  padding-top: 4.5rem;
}

section.recruit-lead .block h3 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
  padding: 0 1rem;
  line-height: 1.75;
  letter-spacing: 1px;
}

section.recruit-lead .block .box {
  border: solid 5px #78A8C0;
  padding: 3rem 2.5rem 3rem 3rem;
  background: #fff;
}

section.recruit-lead .block .box h4 {
  color: #0E86C2;
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1rem;
  border-bottom: 2px solid;
}

section.recruit-lead .block .box .text {
  font-size: 1.5rem;
  line-height: 2;
  margin-bottom: 2.8rem;
}

section.recruit-lead .block .box .text:last-child {
  margin-bottom: 0rem;
}

section.recruit-lead .block .box .text p {
  margin-bottom: 2.5rem;
}

section.recruit-lead .block .box .text p:last-child {
  margin-bottom: 0rem;
}

section.recruit-lead .block .content > .text {
  margin-top: 4rem;
  margin-bottom: 8rem;
  font-size: 2rem;
  text-align: center;
}

section.recruit-lead .navi-anchor .caption {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 3rem;
}

section.recruit-lead .navi-anchor ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 85rem;
  margin: 0 auto;
}

section.recruit-lead .navi-anchor li {
  width: calc(33.3% - 3.3rem);
  margin-bottom: 4.8rem;
}

section.recruit-lead .navi-anchor li a {
  display: inline-block;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  width: 100%;
  text-align: center;
  text-decoration: none;
  padding: 1.3rem 1.5rem;
  color: #fff;
  background: #143c6c;
  transition: opacity 500ms 0s ease;
}

section.recruit-lead .navi-anchor li a::after {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  margin-left: 1.5rem;
  vertical-align: middle;
  background: url(../img/button_icon_arrow_right.png) center/100% auto no-repeat;
}

section.recruit-lead .navi-anchor li.anchor a::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 0.6rem;
  margin-left: 1.5rem;
  vertical-align: middle;
  background: url(../img/button_icon_arrow_down.png) center/100% auto no-repeat;
}

section.recruit-lead .navi-anchor li a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 1023px) {
  section.recruit-lead .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  section.recruit-lead .container {
    padding-top: 5rem;
  }
  section.recruit-lead .block .content {
    width: 100%;
  }
  section.recruit-lead .block .image {
    width: 100%;
    margin-bottom: 2rem;
  }
  section.recruit-lead .navi-anchor ul {
    display: block;
  }
  section.recruit-lead .navi-anchor li {
    width: 90%;
    margin: 1rem auto;
  }
  section.recruit-lead .navi-anchor li a {
    padding: 1.3rem 0.5rem;
  }
  section.recruit-lead .block .content > .text {
    margin-bottom: 0;
  }
}
section.recruit-follow .container {
  padding-top: 11rem;
  padding-bottom: 2rem;
}

section.recruit-follow .page-subtitle2 {
  margin-left: 0rem;
  margin-bottom: 4.2rem;
}

section.recruit-follow .block-image {
  margin-bottom: 4rem;
}

section.recruit-follow .block-image .content {
  padding-left: 2rem;
}

section.recruit-follow .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
  color: #0E86C2;
}

section.recruit-follow .block-image .content .text {
  line-height: 1.9;
}

section.recruit-follow .block-image .content .text h5 {
  color: #153c6c;
  font-weight: 700;
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}

section.recruit-follow .block-image .content .text p {
  margin-bottom: 2.5rem;
}

section.recruit-follow .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

section.recruit-follow .block-image .content dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  background: #fff;
  padding: 2rem 3rem;
  border-radius: 10px;
  font-size: 1.4rem;
  box-shadow: 0 0 10px 3px #d2e4ef;
}

section.recruit-follow .block-image .content dl dt {
  display: inline-block;
  font-weight: 600;
  width: 6rem;
  margin-bottom: 0.5rem;
  color: #3087c2;
}

section.recruit-follow .block-image .content dl dd {
  width: calc(100% - 6rem);
}

section.recruit-follow .block-image .content ul {
  background: #fff;
  padding: 2rem 3rem;
  border-radius: 10px;
  font-size: 1.4rem;
  box-shadow: 0 0 10px 3px #d2e4ef;
  list-style: inside;
  margin-bottom: 1rem;
}

section.recruit-follow .block-image .image img {
  border-radius: 0 5rem 0 5rem;
}

section.recruit-follow .button {
  margin-top: 2.1rem;
}

section.recruit-follow .button a {
  display: inline-block;
  border: solid 0.2rem #143c6c;
  border-radius: 0.8rem;
  width: 100%;
  max-width: 27rem;
  text-align: center;
  text-decoration: none;
  color: #143c6c;
  padding: 1.3rem 4rem;
  box-shadow: 0.5rem 0.5rem #143c6c;
  background: #fff;
  transition: all 200ms 0s ease;
}

section.recruit-follow .button a::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  background: url(../img/button_icon_arrow_darkblue.png) center/100% auto no-repeat;
  margin-left: 1.5rem;
}

section.recruit-follow .button a:hover {
  color: #fff;
  background: #143c6c;
}

section.recruit-follow .button a:hover::after {
  background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.recruit-follow .block-image {
    display: flex;
    justify-content: right;
  }
  section.recruit-follow .block-image .image {
    width: calc(45% - 1rem);
    margin-left: 9.5rem;
    padding-top: 9rem;
  }
  section.recruit-follow .block-image .content {
    width: calc(55% - 1rem);
    max-width: 55rem;
  }
}
@media screen and (max-width: 1023px) {
  section.recruit-follow .container {
    padding: 5rem 3rem 2rem;
  }
  section.recruit-follow .block-image .content {
    margin-bottom: 3rem;
    padding-left: 0;
  }
}
section.recruit-career .container {
  padding-top: 7rem;
  padding-bottom: 14rem;
}

/* section.recruit-career .page-subtitle {
  margin-bottom: 6.0rem;
} */
section.recruit-career .box {
  background-color: #FFF;
  border-radius: 15px;
  max-width: 100rem;
  margin: 0 auto;
  padding: 8rem 2rem 2rem 8rem;
  box-shadow: 0 0 10px 3px #d2e4ef;
}

section.recruit-career dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-right: 7.5rem;
}

section.recruit-career dl dt,
section.recruit-career dl dd {
  border-bottom: solid 1px #E9E5E0;
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
}

section.recruit-career dl dt {
  color: #143c6c;
  width: 14rem;
}

section.recruit-career dl dd {
  width: calc(100% - 14rem);
  line-height: 1.45;
  padding-left: 5rem;
}

section.recruit-career dl ul {
  list-style: disc;
  margin-bottom: 2rem;
}

section.recruit-career .button {
  margin-top: 3.2rem;
  text-align: center;
}

section.recruit-career .button a {
  display: inline-block;
  border: solid 0.2rem #153c6c;
  border-radius: 10rem;
  width: 100%;
  max-width: 34rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  padding: 1.3rem 4rem;
  background: #153c6c;
  transition: all 200ms 0s ease;
}

section.recruit-career .button a::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
  margin-left: 1.5rem;
}

section.recruit-career .button a:hover {
  color: #153c6c;
  background: #fff;
}

section.recruit-career .button a:hover::after {
  background: url(../img/button_icon_arrow_blue.png) center/100% auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section.recruit-career .box {
    padding: 2rem;
  }
  section.recruit-career dl {
    padding: 0;
  }
  section.recruit-career dl dt {
    width: 100%;
    border: none;
    padding-bottom: 0;
    margin-bottom: 0.3rem;
    font-weight: 600;
  }
  section.recruit-career dl dd {
    width: 100%;
    padding-left: 3rem;
  }
}
section.recruit-message .container {
  padding-top: 5rem;
  padding-bottom: 7.3rem;
}

section.recruit-message .page-subtitle {
  margin-bottom: 6rem;
  text-align: left;
  width: 100%;
  max-width: 110rem;
  margin: 0 auto;
  margin-bottom: 9rem;
}

section.recruit-message .block-image {
  max-width: 100rem;
  margin: 0 auto;
  margin-bottom: 1.5rem;
}

section.recruit-message .block-image .content .profile {
  margin-bottom: 1rem;
}

section.recruit-message .block-image .content .profile .post {
  display: inline-block;
  background: #143C6C;
  padding: 0.5rem 1.5rem;
  color: #fff;
  font-size: 1.5rem;
  margin-right: 0.8rem;
}

section.recruit-message .block-image .content .lead {
  color: #143C6C;
  font-size: 2.4rem;
  margin-bottom: 3rem;
}

section.recruit-message .block-image .content .text {
  line-height: 1.6;
}

section.recruit-message .block-image .content .text p {
  margin-bottom: 3rem;
}

section.recruit-message .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

section.recruit-message .block-image .image img {
  border-radius: 100rem;
}

section.recruit-message .button {
  max-width: 99.5rem;
  margin: 0 auto;
  text-align: right;
}

section.recruit-message .button a {
  display: inline-block;
  border: solid 0.2rem #143c6c;
  border-radius: 0.8rem;
  width: 100%;
  max-width: 27rem;
  text-align: center;
  text-decoration: none;
  color: #143c6c;
  padding: 1.3rem 4rem;
  box-shadow: 0.5rem 0.5rem #143c6c;
  background: #fff;
  transition: all 200ms 0s ease;
}

section.recruit-message .button a::after {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 1rem;
  background: url(../img/button_icon_arrow_darkblue.png) center/100% auto no-repeat;
  margin-left: 1.5rem;
}

section.recruit-message .button a:hover {
  color: #fff;
  background: #143c6c;
}

section.recruit-message .button a:hover::after {
  background: url(../img/button_icon_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.recruit-message .block-image {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.recruit-message .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.recruit-message .block-image .image {
    width: calc(34% - 1rem);
    max-width: 30rem;
  }
  section.recruit-message .block-image .content {
    width: calc(66% - 1rem);
  }
}
@media screen and (max-width: 1023px) {
  section.recruit-message .block-image .image {
    margin-bottom: 3rem;
  }
}
section.recruit-flow .container {
  padding-top: 5.9rem;
  padding-bottom: 14.2rem;
}

section.recruit-flow .page-subtitle {
  margin-bottom: 6rem;
  text-align: left;
  width: 100%;
  max-width: 110rem;
  margin: 0 auto;
  margin-bottom: 6.8rem;
}

section.recruit-flow .step {
  max-width: 110rem;
  margin: 0 auto;
  padding-right: 5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.recruit-flow .step li {
  width: calc(25% - 1rem);
  max-width: 23rem;
  position: relative;
}

section.recruit-flow .step li::before {
  content: "";
  display: block;
  width: 65%;
  height: 2.2rem;
  background: url(../img/recruit_flow_arrow.png) top left/100% auto no-repeat;
  position: absolute;
  top: 1rem;
  right: calc(-50% + 2.4rem);
}

section.recruit-flow .step li:last-child::before {
  content: none;
}

section.recruit-flow .step li .number {
  font-size: 1.8rem;
  color: #0E86C2;
  text-align: center;
  margin-bottom: 2.5rem;
}

section.recruit-flow .step li .caption {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 3.5rem;
}

section.recruit-flow .step li .text {
  font-size: 1.5rem;
}

@media screen and (max-width: 1023px) {
  section.recruit-flow .container {
    padding-top: 5.9rem;
    padding-bottom: 14;
  }
  section.recruit-flow .step {
    padding-right: 0;
  }
  section.recruit-flow .step li {
    width: 100%;
    max-width: unset;
    text-align: center;
    margin-bottom: 6rem;
  }
  section.recruit-flow .step li::before {
    width: 4rem;
    height: 4rem;
    background: url(../img/recruit_flow_arrow.png) center right/200% auto no-repeat;
    top: unset;
    bottom: -5rem;
    right: unset;
    left: calc(50% - 2rem);
    transform: rotate(90deg);
    transform-origin: center;
  }
  section.recruit-flow .step li .number {
    margin-bottom: 1rem;
  }
  section.recruit-flow .step li .caption {
    margin-bottom: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  section.recruit-banner {
    background: #fdf8ca;
  }
  section.recruit-banner .container {
    padding-top: 8.1rem;
    padding-bottom: 11rem;
    text-align: center;
  }
  section.recruit-banner .container .text {
    color: #0E86C2;
    font-size: 1.8rem;
    margin-bottom: 1.4rem;
  }
  section.recruit-banner .container a {
    display: inline-block;
    transition: opacity 500ms 0s ease;
  }
  section.recruit-banner .container a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 1023px) {
  section.recruit-banner {
    background: #fdf8ca;
  }
  section.recruit-banner .container {
    padding: 5.5rem 2rem;
    text-align: center;
  }
  section.recruit-banner .container .text {
    color: #0E86C2;
    font-size: 1.8rem;
    margin-bottom: 1.4rem;
  }
  section.recruit-banner .container a {
    display: inline-block;
  }
}
section.works-list .container {
  padding-top: 9rem;
  padding-bottom: 10rem;
}

section.works-list .page-title {
  padding: 0;
  margin-bottom: 4.2rem;
}

section.works-list .page-title .main {
  font-size: 2rem;
}

section.works-list .page-title::before {
  height: 1rem;
  background: #D6E7BA;
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  z-index: 0;
}

section.works-list ul.navi-category {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 100rem;
  margin: 0 auto;
  margin-bottom: 9.6rem;
}

section.works-list ul.navi-category li {
  display: block;
  margin: 0 1.7rem 2rem 1.7rem;
}

section.works-list ul.navi-category li a {
  display: block;
  font-size: 1.5rem;
  color: #143C6C;
  background: #fff;
  border: solid 1px #143C6C;
  padding: 0.5rem 3rem;
  text-decoration: none;
  border-radius: 3rem;
}

section.works-list ul.navi-category li a:hover {
  color: #fff;
  background: #143C6C;
}

section.works-list ul.list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 115rem;
  margin: 0 auto;
  margin-bottom: 8.1rem;
}

section.works-list ul.list::after {
  content: "";
  display: block;
  width: calc(33.3% - 3rem);
}

section.works-list ul.list li {
  width: calc(33.3% - 3rem);
  overflow: hidden;
  margin-bottom: 4.4rem;
}

section.works-list ul.list li a {
  display: block;
  text-decoration: none;
  width: 100%;
  height: 100%;
  position: relative;
  transition: opacity 500ms 0s ease;
  border: 1px solid #ccc;
  border-radius: 0 0 30px 0;
  background-color: #FFF;
}

section.works-list ul.list li a:hover {
  opacity: 0.6;
}

section.works-list ul.list .area {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  font-size: 1.4rem;
  padding: 0.6rem 2rem 1rem 1.8rem;
  border-radius: 0 0 2rem 0;
}

section.works-list ul.list .image {
  aspect-ratio: 16/9;
  overflow: hidden;
  margin-bottom: 1.8rem;
}

section.works-list ul.list .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

section.works-list ul.list .new {
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
  color: #fff;
  background: #8EC43E;
  font-size: 1.3rem;
  padding: 0 1rem;
}

section.works-list ul.list .new::before {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  background: #F9C9BA;
  border-radius: 0.6rem;
  position: absolute;
  top: calc(50% - 0.3rem);
  left: 0;
}

section.works-list ul.list .title {
  padding: 0 1rem;
  margin-bottom: 2.5rem;
  color: #0E86C2;
  font-size: 1.5rem;
  font-weight: 600;
}

section.works-list ul.list .date {
  position: absolute;
  right: 1rem;
  font-size: 1.3rem;
  color: #999;
}

section.works-list ul.list .title .name {
  display: block;
  color: #1d2327;
}

section.works-list ul.list .category {
  font-size: 1.3rem;
  background-color: #0E86C2;
  color: #fff;
  border: solid 1px #0E86C2;
  display: inline-block;
  padding: 0.3rem 1rem;
  margin-bottom: 1rem;
  margin-left: 1rem;
}

@media screen and (max-width: 1023px) {
  section.works-list .container {
    padding-top: 5rem;
    padding-bottom: 4rem;
  }
  section.works-list ul.list {
    margin-bottom: 3.5rem;
  }
  section.works-list ul.list .title {
    font-size: 1.4rem;
  }
  section.works-list ul.navi-category {
    max-width: unset;
    margin-bottom: 5rem;
  }
  section.works-list ul.navi-category li {
    margin: 0.5rem;
  }
  section.works-list ul.navi-category li a {
    font-size: 1.3rem;
    padding: 0.2rem 0.5rem;
  }
  section.works-list ul.list li {
    width: calc(50% - 1.3rem);
  }
  section.works-list ul.list .date {
    bottom: 1rem;
    font-size: 1.2rem;
  }
  section.works-list ul.list .category {
    font-size: 1.2rem;
  }
}
section.works-single .container {
  padding: 0;
  padding-top: 12rem;
  padding-bottom: 7rem;
  margin: 0 auto;
}

section.works-single .mainimage {
  position: relative;
  border-radius: 2.5rem;
  overflow: hidden;
  margin-bottom: 2.3rem;
}

section.works-single .mainimage .image img {
  width: 100%;
  height: auto;
}

/* section.works-single .mainimage .date {
  position: absolute;
  top: 0;
  left: 0;
  color: #0E86C2;
  background: #fff;
  font-size: 1.8rem;
  padding: 1.7rem 2.1rem 1.9rem 2.1rem;
  border-radius: 0 0 3.0rem 0;
} */
section.works-single .mainimage .after {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  background: #8ec43d;
  font-size: 2rem;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 2px;
  padding: 0.7rem 3.1rem 0.9rem 3.1rem;
  border-radius: 0 0 3rem 0;
  border: none;
}

section.works-single .title {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 1.3rem;
}

section.works-single .name {
  margin-bottom: 2.5rem;
  color: #153c6c;
}

section.works-single .name .date {
  color: #bbb;
  margin-left: 3rem;
  font-size: 1.3rem;
}

section.works-single .detail {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 3.5rem;
}

section.works-single .detail .image {
  width: 35rem;
  overflow: hidden;
  position: relative;
}

section.works-single .detail .image img {
  width: 100%;
  height: auto;
  border-radius: 1rem;
}

section.works-single .detail .image span {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #153c6c;
  border-radius: 0 10px;
  border: none;
  color: #FFF;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 2px;
  padding: 1rem 2.5rem 0.9rem 2.5rem;
}

section.works-single .detail .content {
  width: calc(100% - 38rem);
  padding-top: 3.8rem;
  position: relative;
}

section.works-single .detail .desc {
  margin-bottom: 4.5rem;
}

section.works-single .detail .price {
  font-size: 1.6rem;
  font-weight: 600;
  /* position: absolute;
  left: 0;
  bottom: 0; */
}

section.works-single .detail .price .value {
  font-size: 2.4rem;
  color: #0E86C2;
}

section.works-single .overview {
  background: #E2F0F8;
  max-width: 100%;
  margin: 0 auto;
  padding: 4.2rem 5rem;
  margin-bottom: 3rem;
}

section.works-single .overview .caption {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
}

section.works-single .overview dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 1.5rem;
}

section.works-single .overview dl dt {
  color: #0E86C2;
  width: 17rem;
  padding: 1.2rem 0.5rem;
  border-top: dashed 1px #2E3234;
}

section.works-single .overview dl dd {
  width: calc(100% - 17rem);
  padding: 1.2rem 0.5rem;
  border-top: dashed 1px #2E3234;
}

section.works-single .overview dl dt:nth-child(1),
section.works-single .overview dl dd:nth-child(2) {
  border-top: none;
}

section.works-single .overview dl dd span {
  display: inline-block;
}

section.works-single .overview dl dd span::after {
  content: "｜";
}

section.works-single .after h4,
section.works-single .before h4,
section.works-single .under h4 {
  text-align: center;
  margin-bottom: 2rem;
}

section.works-single .after h4 .en,
section.works-single .before h4 .en,
section.works-single .under h4 .en {
  display: block;
  font-family: "Montserrat", sans-serif;
  color: #0E86C2;
  font-size: 1.4rem;
}

section.works-single .after h4 .main,
section.works-single .before h4 .main,
section.works-single .under h4 .main {
  display: block;
  font-size: 2rem;
}

section.works-single .after {
  border: solid 1rem #E2F0F8;
  padding: 2.5rem 3rem 1rem 3rem;
  margin-bottom: 2rem;
  background-color: #FFF;
}

section.works-single .after ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.works-single .after ul li {
  width: calc(50% - 1rem);
  margin-bottom: 2rem;
}

section.works-single .after ul li img {
  width: 100%;
  height: 220px;
  -o-object-fit: cover;
  object-fit: cover;
}

section.works-single .before {
  border: solid 1rem #D9D9D9;
  padding: 2.5rem 1.5rem 1rem 1.5rem;
  margin-bottom: 2rem;
  background-color: #FFF;
}

section.works-single .before ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

section.works-single .before ul li {
  width: 33.3%;
  margin-bottom: 1.5rem;
  padding: 0 0.5rem;
}

section.works-single .before ul li img {
  height: 181px;
  -o-object-fit: cover;
  object-fit: cover;
  text-align: center;
  width: 100%;
}

section.works-single .before .text {
  font-size: 1.5rem;
  margin: 0rem 0.5rem;
}

section.works-single .under {
  border: solid 1rem #D9D9D9;
  padding: 2.5rem 1.5rem 1rem 1.5rem;
  margin-bottom: 15.5rem;
  background-color: #FFF;
}

section.works-single .under ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

section.works-single .under ul li {
  width: 33.3%;
  margin-bottom: 1.5rem;
  padding: 0 0.5rem;
}

section.works-single .under ul li img {
  height: 181px;
  -o-object-fit: cover;
  object-fit: cover;
  text-align: center;
  width: 100%;
}

section.works-single .under .text {
  display: inline-block;
  font-size: 1.4rem;
  margin-top: 1.2rem;
}

section.works-single .page-title {
  padding: 0;
  margin: 0;
  margin-bottom: 7rem;
}

section.works-single .page-title .main {
  font-size: 2rem;
  margin: 0;
  text-align: left;
}

section.works-single .page-title::before {
  height: 1rem;
  background: #D6E7BA;
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  z-index: 0;
}

section.works-single .navi-single {
  position: relative;
  margin-bottom: 5rem;
}

section.works-single .navi-single ul a {
  display: block;
  text-decoration: none;
  background: #22729A;
  color: #fff;
  padding: 1.2rem 2rem;
  text-align: center;
  min-width: 16rem;
  border-radius: 10rem;
  transition: opacity 500ms 0s ease;
}

section.works-single .navi-single ul a:hover {
  opacity: 0.6;
}

section.works-single .navi-single ul .prev {
  position: absolute;
  top: 0;
  left: 0;
}

section.works-single .navi-single ul .prev a::before {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  background: url(../img/navi_single_icon_arrow_left.png) center/100% auto no-repeat;
  margin-right: 2rem;
}

section.works-single .navi-single ul .list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

section.works-single .navi-single ul .list a {
  min-width: 20rem;
}

section.works-single .navi-single ul .next {
  position: absolute;
  top: 0;
  right: 0;
}

section.works-single .navi-single ul .next a::after {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  background: url(../img/navi_single_icon_arrow_right.png) center/100% auto no-repeat;
  margin-left: 2rem;
}

@media screen and (max-width: 1023px) {
  section.works-single .container {
    padding: 4rem 2rem;
  }
  section.works-single .mainimage {
    margin-bottom: 1.3rem;
  }
  section.works-single .mainimage .after {
    font-size: 1.5rem;
    letter-spacing: 1px;
    padding: 0.3rem 2rem;
    border-radius: 0 0 2rem 0;
  }
  section.works-single .mainimage {
    font-size: 1rem;
    text-align: right;
    color: #bbb;
  }
  section.works-single .overview .caption {
    font-size: 1.8rem;
  }
  section.works-single .overview dl {
    font-size: 1.4rem;
  }
  section.works-single .overview dl dt {
    width: 10rem;
  }
  section.works-single .overview dl dd {
    width: calc(100% - 10rem);
  }
  section.works-single .name {
    margin-bottom: 0.5rem;
  }
  section.works-single .title {
    font-size: 2rem;
  }
  section.works-single .detail {
    padding: 1rem;
    flex-direction: column-reverse;
  }
  section.works-single .detail .content {
    width: 100%;
    font-size: 1.4rem;
  }
  section.works-single .detail .image {
    width: 65%;
  }
  section.works-single .detail .image span {
    right: auto;
    left: 0;
    border-radius: 1rem 0;
    letter-spacing: 1px;
    padding: 0.3rem 2rem;
  }
  section.works-single .detail dd {
    width: calc(100% - 8.5rem);
  }
  section.works-single .detail dd:nth-child(4n) {
    width: calc(100% - 8.5rem);
  }
  section.works-single .overview {
    padding: 3.2rem 3rem;
  }
  section.works-single .after ul li img {
    aspect-ratio: 4/3;
    height: auto;
    width: auto;
    max-width: 100%;
  }
  section.works-single .before ul li img {
    aspect-ratio: 4/3;
    height: auto;
    width: auto;
    max-width: 100%;
  }
  section.works-single .under {
    margin-bottom: 6.5rem;
  }
  section.works-single .under ul li img {
    height: auto;
    width: auto;
    aspect-ratio: 4/3;
  }
  section.works-single .under .text {
    font-size: 1.1rem;
    margin-top: 0;
  }
  section.works-single .navi-single ul a {
    font-size: 1.4rem;
    min-width: unset;
    padding: 0.5rem 2rem;
  }
  section.works-single .navi-single ul .prev a::before {
    width: 0.4rem;
    height: 0.6rem;
    margin-right: 1rem;
  }
  section.works-single .navi-single ul .list a {
    min-width: unset;
  }
  section.works-single .navi-single ul .next a::after {
    width: 0.4rem;
    height: 0.6rem;
    margin-left: 1rem;
  }
}
section .works-wrap .sidebar .block {
  box-shadow: 0.1rem 0.1rem 0.4rem #999;
  background-color: #FFF;
}

section .works-wrap .sidebar .block .caption {
  color: #fff;
  text-align: center;
  background: #0E86C2;
  padding: 1rem;
}

section .works-wrap .sidebar .block .category {
  padding: 0.5rem 1.5rem;
  margin-bottom: 4.5rem;
}

section .works-wrap .sidebar .block .category li {
  margin-bottom: 0.5rem;
  border-bottom: dashed 0.1rem #6FA0CD;
}

section .works-wrap .sidebar .block .category li:last-child {
  margin-bottom: 0rem;
  border-bottom: none;
}

section .works-wrap .sidebar .block .category a {
  font-size: 1.4rem;
  text-decoration: none;
  display: block;
  padding: 1rem 0.7rem;
  background: url(../img/works_icon_arrow_right.png) calc(100% - 1.8rem) 50%/0.7rem auto no-repeat;
  transition: opacity 500ms 0s ease;
}

section .works-wrap .sidebar .block .category a:hover {
  opacity: 0.6;
}

section .works-wrap .sidebar .block .archives {
  padding: 0.5rem 1.5rem;
  margin-bottom: 4.5rem;
}

section .works-wrap .sidebar .block .archives > li {
  margin-bottom: 0.5rem;
  border-bottom: dashed 0.2rem #6FA0CD;
}

section .works-wrap .sidebar .block .archives > li:last-child {
  margin-bottom: 0rem;
  border-bottom: none;
}

section .works-wrap .sidebar .block .archives .year {
  text-decoration: none;
  display: block;
  padding: 2rem 1.7rem 2rem 4rem;
  cursor: pointer;
  background: url(../img/works_icon_plus.png) 0 50%/2.4rem auto no-repeat;
  transition: opacity 500ms 0s ease;
}

section .works-wrap .sidebar .block .archives .year:hover {
  opacity: 0.6;
}

section .works-wrap .sidebar .block .archives .open .year {
  background: url(../img/works_icon_minus.png) 0 50%/2.4rem auto no-repeat;
}

section .works-wrap .sidebar .block .archives > li ul {
  margin-top: -2rem;
  padding: 1rem 3.5rem;
  display: none;
}

section .works-wrap .sidebar .block .archives > li.open ul {
  display: block;
}

section .works-wrap .sidebar .block .archives > li ul li {
  margin-bottom: 0.6rem;
}

section .works-wrap .sidebar .block .archives > li ul li a {
  text-decoration: none;
}

section .works-wrap .sidebar .block .archives > li ul li a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 1024px) {
  section .works-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 115rem;
    margin: 0 auto;
  }
  section .works-wrap .single {
    width: 70%;
    max-width: 80.5rem;
    flex-shrink: 0;
  }
  section .works-wrap .sidebar {
    width: 100%;
    max-width: 28.9rem;
    padding-left: 2rem;
  }
}
section.event-list .container {
  padding-top: 9rem;
  padding-bottom: 10rem;
}

section.event-list .page-title {
  padding: 0;
  margin-bottom: 4.2rem;
}

section.event-list .page-title .main {
  font-size: 2rem;
}

section.event-list .page-title::before {
  height: 1rem;
  background: #D6E7BA;
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  z-index: 0;
}

section.event-list ul.navi-category {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 82rem;
  margin: 0 auto;
  margin-bottom: 9.6rem;
}

section.event-list ul.navi-category li {
  display: block;
  margin: 0 1.7rem 2.7rem 1.7rem;
}

section.event-list ul.navi-category li a {
  display: block;
  font-size: 1.5rem;
  color: #143C6C;
  background: #fff;
  border: solid 1px #143C6C;
  padding: 0.2rem 3rem;
  text-decoration: none;
  border-radius: 3rem;
}

section.event-list ul.navi-category li a:hover {
  color: #fff;
  background: #143C6C;
}

section.event-list ul.list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 110rem;
  margin: 0 auto;
  margin-bottom: 8.1rem;
}

section.event-list ul.list::after {
  content: "";
  display: block;
  width: calc(33.3% - 2.5rem);
}

section.event-list ul.list li {
  width: calc(33.3% - 2.5rem);
  overflow: hidden;
  margin-bottom: 4.4rem;
}

section.event-list ul.list li a {
  display: block;
  text-decoration: none;
  width: 100%;
  height: 100%;
  position: relative;
  transition: opacity 500ms 0s ease;
}

section.event-list ul.list li a:hover {
  opacity: 0.6;
}

section.event-list ul.list .category {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  font-size: 1.5rem;
  padding: 0.2rem 2.4rem 1rem 2.1rem;
  border-radius: 0 0 2rem 0;
}

section.event-list ul.list .image {
  aspect-ratio: 4/3;
  border-radius: 2rem;
  overflow: hidden;
  margin-bottom: 0.8rem;
}

section.event-list ul.list .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

section.event-list ul.list .new {
  display: inline-block;
  position: static;
  right: 2.9rem;
  color: #8EC43E;
  font-size: 1.8rem;
  padding-left: 1rem;
}

section.event-list ul.list .new::before {
  content: "";
  display: inline-flex;
  width: 0.6rem;
  height: 0.6rem;
  background: #F9C9BA;
  border-radius: 0.6rem;
  position: static;
  top: calc(50% - 0.3rem);
  left: 0;
}

section.event-list ul.list .title {
  padding: 0 1rem;
  margin-bottom: 1rem;
}

section.event-list ul.list .status {
  font-size: 1.3rem;
  color: #0E86C2;
  border: solid 1px #0E86C2;
  display: inline-block;
  padding: 0.3rem 1rem;
  margin-bottom: 1.5rem;
}

section.event-list ul.list .status.end {
  color: #3E3A39;
  border: solid 1px #3E3A39;
}

@media screen and (max-width: 1023px) {
  section.event-list ul.navi-category {
    max-width: unset;
  }
  section.event-list ul.navi-category li {
    margin: 0.5rem;
  }
  section.event-list ul.navi-category li a {
    font-size: 1.3rem;
    padding: 0.2rem 0.5rem;
  }
  section.event-list ul.list li {
    width: 100%;
  }
}
section.event-single .container {
  padding: 0;
  padding-top: 10.5rem;
  padding-bottom: 7rem;
  margin: 0 auto;
}

section.event-single .single {
  max-width: 100rem;
  margin: 0 auto;
}

section.event-single .single h2 {
  font-weight: 700;
  color: #0E86C2;
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 5.7rem;
}

section.event-single .mainimage {
  margin-bottom: 3rem;
  text-align: center;
}

section.event-single .detail {
  border: solid 1rem #E2F0F8;
  padding: 2rem 3rem 1rem 3rem;
  max-width: 87rem;
  margin: 0 auto;
  margin-bottom: 5rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.event-single .detail .item {
  width: 50%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.event-single .detail .item .label {
  color: #0E86C2;
  width: 10rem;
  padding: 1.2rem 0.5rem;
}

section.event-single .detail .item .value {
  width: calc(100% - 10rem);
  padding: 1.2rem 0.5rem;
}

section.event-single .detail .item.date {
  width: 100%;
}

section.event-single .wp-content {
  max-width: 87rem;
  margin: 0 auto;
}

section.event-single .navi-single {
  position: relative;
  margin-bottom: 5rem;
}

section.event-single .navi-single ul a {
  display: block;
  text-decoration: none;
  background: #22729A;
  color: #fff;
  padding: 1.2rem 2rem;
  text-align: center;
  min-width: 16rem;
  border-radius: 10rem;
  transition: opacity 500ms 0s ease;
}

section.event-single .navi-single ul a:hover {
  opacity: 0.6;
}

section.event-single .navi-single ul .prev {
  position: absolute;
  top: 0;
  left: 0;
}

section.event-single .navi-single ul .prev a::before {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  background: url(../img/navi_single_icon_arrow_left.png) center/100% auto no-repeat;
  margin-right: 2rem;
}

section.event-single .navi-single ul .list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

section.event-single .navi-single ul .list a {
  min-width: 20rem;
}

section.event-single .navi-single ul .next {
  position: absolute;
  top: 0;
  right: 0;
}

section.event-single .navi-single ul .next a::after {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  background: url(../img/navi_single_icon_arrow_right.png) center/100% auto no-repeat;
  margin-left: 2rem;
}

@media screen and (max-width: 1023px) {
  section.event-single .container {
    padding: 4rem 2rem;
  }
  section.event-single .detail {
    padding: 2rem;
  }
  section.event-single .detail dd {
    width: calc(100% - 8.5rem);
  }
  section.event-single .detail dd:nth-child(4n) {
    width: calc(100% - 8.5rem);
  }
  section.event-single .navi-single ul a {
    font-size: 1.4rem;
    min-width: unset;
    padding: 0.5rem 2rem;
  }
  section.event-single .navi-single ul .prev a::before {
    width: 0.4rem;
    height: 0.6rem;
    margin-right: 1rem;
  }
  section.event-single .navi-single ul .list a {
    min-width: unset;
  }
  section.event-single .navi-single ul .next a::after {
    width: 0.4rem;
    height: 0.6rem;
    margin-left: 1rem;
  }
}
section.menu-navi .container {
  padding-top: 9rem;
  padding-bottom: 14rem;
}

section.menu-navi h2 {
  font-weight: 700;
  font-size: 3rem;
  text-align: center;
  margin-bottom: 4.4rem;
}

section.menu-navi .text {
  text-align: center;
  line-height: 1.75;
  margin-bottom: 5.3rem;
}

section.menu-navi .navi {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 103.5rem;
  margin: 0 auto;
}

section.menu-navi .navi li {
  display: block;
  width: calc(20% - 1.5rem);
}

section.menu-navi .navi li a {
  background: #fff;
  display: block;
  text-decoration: none;
  padding: 1rem 1rem;
  text-align: center;
  transition: opacity 500ms 0s ease;
  border: solid 3px #153c6c;
  border-radius: 8px;
}

section.menu-navi .navi li a:hover {
  opacity: 0.6;
}

section.menu-navi .navi .image {
  margin-bottom: 1rem;
}

section.menu-navi .navi .label {
  font-size: 1.6rem;
  font-weight: 600;
  color: #153c6c;
  position: relative;
}

section.menu-navi .navi .label::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #153c6c;
  line-height: 1;
  width: 1rem;
  height: 1rem;
  border: 0.2rem solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-50%) rotate(135deg);
  position: absolute;
  right: 20px;
  top: 50%;
}

@media screen and (max-width: 1023px) {
  section.menu-navi .container {
    padding-top: 6rem;
    padding-bottom: 5rem;
  }
  section.menu-navi .navi li {
    width: calc(50% - 1rem);
    margin-bottom: 2rem;
  }
  section.menu-navi .text {
    text-align: left;
    line-height: 1.75;
    margin-bottom: 5.3rem;
  }
}
section.menu-list .container {
  padding-top: 7.5rem;
  padding-bottom: 5rem;
}

section.menu-list .page-subtitle2 {
  padding: 0 5rem;
  margin-bottom: 3rem;
}

section.menu-list .page-subtitle2:before {
  bottom: 0;
  background: #FEF283;
  height: 1.5rem;
}

section.menu-list .text {
  text-decoration: none;
  text-align: center;
  margin-bottom: 7rem;
  font-size: 1.4rem;
}

section.menu-list ul.list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 115rem;
  margin: 0 auto;
}

section.menu-list ul.list li {
  width: calc(48% - 1rem);
  margin-bottom: 3rem;
  border: 1px solid #ddd;
  display: flex;
}

section.menu-list ul.list li a {
  display: block;
  text-decoration: none;
  background: #fff;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  transition: all 500ms 0s ease;
  width: 1000%;
}

section.menu-list ul.list li a:hover {
  background: #E8F6FD;
}

section.menu-list ul.list .image {
  width: 16.8rem;
  aspect-ratio: 1/1;
  overflow: hidden;
}

section.menu-list ul.list .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

section.menu-list ul.list .content {
  width: calc(100% - 16.8rem);
  padding: 1.3rem 1.7rem;
}

section.menu-list ul.list .category {
  background: #0E86C2;
  color: #fff;
  font-size: 1.4rem;
  padding: 0.3rem 0.5rem;
  display: inline-block;
  margin-bottom: 1.2rem;
}

section.menu-list ul.list .title {
  width: 100%;
}

section.menu-list ul.list .name {
  color: #0E86C2;
  margin-bottom: 1rem;
  font-weight: 600;
}

section.menu-list ul.list .price {
  color: #D77770;
}

section.menu-list ul.list .price .value {
  font-size: 2.4rem;
}

@media screen and (max-width: 1023px) {
  section.menu-list .text {
    margin-bottom: 3rem;
    font-size: 1.6rem;
  }
  section.menu-list ul.list li {
    width: 100%;
  }
  section.menu-list ul.list .image {
    width: 14.8rem;
  }
  section.menu-list ul.list .content {
    width: calc(100% - 14.8rem);
  }
}
section.menu-single .container {
  padding: 0;
  padding-top: 12.3rem;
  padding-bottom: 7rem;
  max-width: 100rem;
  margin: 0 auto;
}

section.menu-single .single {
  max-width: 89.5rem;
  margin-left: 3.5rem;
}

section.menu-single .single .category {
  background: #0E86C2;
  color: #fff;
  font-size: 1.4rem;
  padding: 0.3rem 0.5rem;
  display: inline-block;
  margin-bottom: 2.5rem;
}

section.menu-single .single .title {
  width: 100%;
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}

section.menu-single .single .name {
  color: #0E86C2;
  margin-bottom: 3.8rem;
  font-weight: 600;
  font-size: 2rem;
}

section.menu-single .single .mainimage {
  margin-bottom: 3rem;
  height: 350px;
}

section.menu-single .single .mainimage img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

section.menu-single .single .price {
  color: #cf0e0e;
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 0.5rem;
}

section.menu-single .single .price .value {
  font-size: 3.6rem;
  margin: 0 0.7rem;
}

section.menu-single .single .price-memo {
  text-align: center;
  margin-bottom: 1.5rem;
}

section.menu-single .single .tags {
  text-align: center;
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
  width: 80%;
  margin: 5rem auto 3rem;
}

section.menu-single .single .tags li {
  background: #fff;
  color: #163c6c;
  font-size: 1.3rem;
  font-weight: 500;
  padding: 0.4rem 2rem;
  border: 1px solid #163c6c;
}

section.menu-single .single .warning {
  border: solid 1rem #E9E5E0;
  padding: 3rem 7.5rem 4.9rem 7.5rem;
  margin-bottom: 12.1rem;
}

section.menu-single .single .warning .caption {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 3.2rem;
}

section.menu-single .single .detail {
  margin-bottom: 6rem;
}

section.menu-single .single .detail .catchphrase {
  line-height: 1.4;
  margin-bottom: 4rem;
  text-align: center;
}

section.menu-single .single .detail .catchphrase .en {
  display: block;
  font-family: "Montserrat", sans-serif;
  color: #0E86C2;
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 1rem;
  letter-spacing: 1px;
}

section.menu-single .single .detail .catchphrase .main {
  display: block;
  font-size: 2.4rem;
}

section.menu-single .single .detail .item {
  text-decoration: none;
  background: #fff;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 5rem;
  padding-bottom: 6rem;
  border-bottom: 1px dashed;
}

section.menu-single .single .detail .item .image {
  width: 27.3rem;
  overflow: hidden;
}

section.menu-single .single .detail .item .content {
  width: calc(100% - 27.3rem);
  padding: 0 0 0 2.5rem;
}

@media screen and (min-width: 1024px) {
  section.menu-banner {
    background: #fdf8ca;
  }
  section.menu-banner .container {
    padding-top: 8.1rem;
    padding-bottom: 11rem;
    text-align: center;
  }
  section.menu-banner .container .text {
    font-size: 1.8rem;
    margin-bottom: 1.4rem;
  }
  section.menu-banner .container a {
    display: inline-block;
    transition: opacity 500ms 0s ease;
  }
  section.menu-banner .container a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 1023px) {
  section.menu-banner {
    background: #fdf8ca;
  }
  section.menu-banner .container {
    padding: 5.5rem 2rem;
    text-align: center;
  }
  section.menu-banner .container .text {
    color: #0E86C2;
    font-size: 1.8rem;
    margin-bottom: 1.4rem;
  }
  section.menu-banner .container a {
    display: inline-block;
  }
  section.menu-single .container {
    padding-top: 8rem;
    padding-bottom: 0;
  }
  section.menu-single .single {
    width: 90%;
    margin: 0 auto;
  }
  section.menu-single .single .mainimage {
    height: 200px;
  }
  section.menu-single .single .tags li {
    font-size: 1.6rem;
    margin: 0 0.5rem;
    margin-bottom: 1.5rem;
  }
  section.menu-single .single .warning {
    padding: 3rem 3.5rem 3.9rem 3.5rem;
    margin-bottom: 12.1rem;
  }
  section.menu-single .single .detail .item .image {
    width: 15rem;
  }
  section.menu-single .single .detail .item .content {
    width: calc(100% - 15rem);
    padding-left: 1.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .fixed-navi {
    position: fixed;
    top: 15%;
    right: 0;
    z-index: 9999;
    width: 5.5rem;
  }
  .fixed-navi .quo-block {
    position: relative;
    margin-bottom: 3.5rem;
  }
  .fixed-navi .quo-block::before {
    content: "";
    display: block;
    width: 5.5rem;
    height: 7rem;
    background: url(../img/fixed_navi_fukidashi_quo.png) 0 0/100% auto no-repeat;
    position: absolute;
    top: -2.5rem;
    /* left: calc(50% - 3.25rem); */
  }
  .fixed-navi .quo-block .button {
    width: 100%;
    height: 100%;
  }
  .fixed-navi .quo-block .button a {
    display: block;
    width: 100%;
    border: solid 0.2rem #e67711;
    border-radius: 2.5rem 0 0 0;
    text-decoration: none;
    color: #fff;
    text-align: center;
    background: #e67711 url(../img/icon_calendar_white.png) 50% 3rem/3rem auto no-repeat;
    /* writing-mode: vertical-rl; */
    line-height: 1.6rem;
    padding: 6.5rem 0.5rem 1.5rem;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 1px;
  }
  .fixed-navi .quo-block .button a:hover {
    background: #fff url(../img/icon_calendar_orange.png) 50% 4rem/3rem auto no-repeat;
    color: #e67711;
  }
  .fixed-navi .quo-block .button a:hover .caption {
    background: #fff url(../img/icon_calendar_orange.png) 50% 5.2rem no-repeat;
  }
  .fixed-navi .line-block {
    background: #8ec43e;
    border-radius: 2.5rem 0 0 0;
    width: 5.5rem;
    padding: 4.5rem 0 0.5rem 0;
    position: relative;
    margin-bottom: 4rem;
  }
  .fixed-navi .line-block::before {
    content: "";
    display: block;
    width: 5.5rem;
    height: 7rem;
    background: url(../img/fixed_navi_fukidashi_line.png) 0 0/100% auto no-repeat;
    position: absolute;
    top: -2rem;
    /* left: calc(50% - 3.25rem); */
  }
  .fixed-navi .line-block .title {
    color: #fff;
    writing-mode: vertical-rl;
    line-height: 5.5rem;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 2px;
    margin-bottom: 0.4rem;
  }
  .fixed-navi .line-block .line {
    color: #fff;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0px;
    line-height: 1;
    margin-bottom: 1rem;
  }
  .fixed-navi .line-block .button {
    width: 100%;
    height: 5.7rem;
    padding: 0 0.5rem;
    /* margin-bottom: 0.5rem; */
  }
  .fixed-navi .line-block .button:last-child {
    margin-bottom: 0rem;
  }
  .fixed-navi .line-block a {
    display: block;
    text-decoration: none;
    width: 100%;
    height: 90%;
    text-align: center;
    border: solid 0.3rem #fff;
    font-weight: bold;
    padding: 0.2rem 0;
    font-size: 1.3rem;
    background: #fff url(../img/fixed_navi_icon_line_green.png) 50% calc(100% - 0.5rem)/3.7rem auto no-repeat;
  }
  .fixed-navi .line-block a:hover {
    background: #8EC43E url(../img/fixed_navi_icon_line_white.png) 50% calc(100% - 0.5rem)/3.7rem auto no-repeat;
  }
  .fixed-navi .review-block {
    background: #eaf1f5;
    border-radius: 2.5rem 0 0 0;
    width: 5.5rem;
    padding: 4rem 0 0.1rem 0;
    position: relative;
  }
  .fixed-navi .review-block::before {
    content: "";
    display: block;
    width: 5.5rem;
    height: 7rem;
    background: url(../img/fixed_navi_fukidashi_review.png) 0 0/100% auto no-repeat;
    position: absolute;
    top: -2.5rem;
  }
  .fixed-navi .review-block .button {
    width: 100%;
    height: 100%;
    padding: 0 0.2rem;
    margin-bottom: 0.5rem;
  }
  .fixed-navi .review-block .button a {
    display: block;
    width: 100%;
    border: solid 0.2rem #EAF1F5;
    text-decoration: none;
    color: #000;
    text-align: center;
    background: #fff;
    line-height: 1.7rem;
    padding: 0.2em 0;
    font-size: 1.2rem;
    font-weight: 500;
  }
  .fixed-navi .review-block .button a .yellow {
    color: #FFD600;
    line-height: 1;
    font-size: 2rem;
  }
  .fixed-navi .review-block .button a .star {
    font-size: 1.1rem;
    text-align: center;
    line-height: 0;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 1023px) {
  .fixed-navi {
    display: none;
  }
}
section.form-section h3 {
  font-weight: bold;
  text-align: center;
  font-size: 3rem;
  margin-bottom: 6rem;
}

section.form-section .lead {
  text-align: center;
  margin-bottom: 3.5rem;
}

section.form-section .step {
  max-width: 74rem;
  margin: 0 auto;
  padding-right: 2.1rem;
}

section.form-section .step ul {
  display: flex;
}

section.form-section .step li {
  width: 33.3%;
  position: relative;
  color: #fff;
  height: 6rem;
  line-height: 6rem;
  text-align: center;
}

section.form-section .step li span {
  position: relative;
  z-index: 2;
}

section.form-section .step li::after {
  content: "";
  position: absolute;
  top: 0;
  z-index: 1;
  right: -4.2rem;
  width: 4.2rem;
  height: 4.2rem;
  transform: rotate(45deg);
  transform-origin: left top;
}

section.form-section .step li:nth-child(1) {
  background: #0D85C2;
}

section.form-section .step li:nth-child(1)::after {
  background: #0D85C2;
}

section.form-section .step li:nth-child(2) {
  background: #43b4ee;
}

section.form-section .step li:nth-child(2)::after {
  background: #43b4ee;
}

section.form-section .step li:nth-child(3) {
  background: #67c5f4;
}

section.form-section .step li:nth-child(3)::after {
  background: #67c5f4;
}

section.form-section .form-block {
  margin: 6rem auto;
  background-color: #fff;
  box-shadow: 0 0 10px 3px #d2e4ef;
  padding: 8rem 0 1rem;
  margin-bottom: 10rem;
  max-width: 120rem;
}

section.form-section .form-block .notice {
  text-align: center;
  margin-bottom: 4.8rem;
}

section.form-section .form-block .input-row {
  max-width: 100rem;
  margin: 0 auto;
  margin-bottom: 3rem;
  line-height: 1.8;
  display: flex;
  justify-content: flex-start;
}

section.form-section .form-block .input-row .label {
  margin-bottom: 0.5rem;
  width: 20%;
  font-weight: 700;
}

section.form-section .form-block .input-row .label .required {
  color: #f00;
  font-size: 1.3rem;
  margin-left: 1rem;
}

section.form-section .form-block .input-row .input label {
  margin-right: 1rem;
}

section.form-section .form-block .input-row.select-inquiry .label {
  margin-bottom: 1rem;
}

section.form-section .form-block .input-row .input .wpcf7-list-item {
  display: block;
}

section.form-section .form-block .input-row.select-inquiry .input label {
  display: block;
}

section.form-section .form-block .input-row.zipcode .input {
  max-width: 21rem;
}

section.form-section .form-block .input-row.zipcode .input {
  max-width: 21rem;
}

section.form-section .form-block .input-row.dt .input {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
}
section.form-section .form-block .input-row.dt .input .note {
  width: 100%;
}

section.form-section .form-block .input-row.dt .input > span,
section.form-section .form-block .input-row.dt .input > span {
  width: calc(45% - 2rem);
  margin-right: 2rem;
}

section.form-section .form-block .input-row.confirm {
  text-align: center;
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

section.form-section .form-block .text {
  font-size: 1.4rem;
  max-width: 100rem;
  margin: 0 auto;
  margin-top: 9rem;
}

section.form-section .form-block .text p {
  margin-bottom: 2rem;
}

section.form-section .form-block .text p.red {
  color: #E20D0D;
}

section.form-section .form-block .kiyaku {
  max-width: 100rem;
  font-size: 1.4rem;
  overflow-y: scroll;
  height: 25rem;
  border: solid 1px #D9D9D9;
  padding: 3rem;
  margin: 4rem auto;
  background: #fff;
}

section.form-section .form-block .kiyaku h4 {
  font-weight: 700;
  margin-bottom: 0.5rem;
}

section.form-section .form-block .kiyaku .kiyaku_inner,
section.form-section .form-block .kiyaku p,
section.form-section .form-block .kiyaku ul {
  margin-bottom: 2rem;
}

section.form-section .form-block .input-button {
  text-align: center;
}

section.form-section .form-block .input-button button,
section.form-section .form-block .input-button input[type=submit] {
  display: inline-block;
  border: solid 0.2rem #E67711;
  border-radius: 10rem;
  width: 100%;
  max-width: 27rem;
  text-align: center;
  text-decoration: none;
  padding: 1.3rem 4rem;
  color: #fff;
  background: #E67711 url(../img/button_icon_arrow_white.png) calc(100% - 2rem) 50%/0.7rem auto no-repeat;
  transition: all 200ms 0s ease;
}

section.form-section .form-block .input-button button:hover,
section.form-section .form-block .input-button input[type=submit]:hover {
  color: #E67711;
  background: #fff url(../img/button_icon_arrow_darkblue.png) calc(100% - 2rem) 50%/0.7rem auto no-repeat;
}

section.form-section .form-block .input-button input[type=button] {
  display: inline-block;
  border: solid 0.2rem #143c6c;
  border-radius: 10rem;
  width: 100%;
  max-width: 27rem;
  text-align: center;
  text-decoration: none;
  padding: 1.3rem 4rem;
  color: #fff;
  background: #333;
  margin-right: 2rem;
  transition: all 200ms 0s ease;
}

section.form-section .form-block .input-button input[type=button]:hover {
  color: #333;
  background: #fff;
}

section.form-section .form-block .input-button .wpcf7-spinner {
  display: block;
  margin: 3rem auto;
}

section.form-section .wpcf7-response-output {
  display: none;
}

section.form-section .complete {
  text-align: center;
  margin: 10rem 0;
}

section.form-section .complete .block {
  line-height: 3;
  max-width: 60vw;
  margin: 0 auto;
}

@media screen and (max-width: 1023px) {
  section.form-section h3 {
    font-size: 2.5rem;
    margin-bottom: 5rem;
  }
  section.form-section .lead {
    text-align: left;
  }
  section.form-section .form-block {
    margin: 6rem auto;
    background-color: #fff;
    box-shadow: 0 0 10px 3px #d2e4ef;
    padding: 4rem 3rem 0;
    margin-bottom: 5rem;
    max-width: 120rem;
  }
  section.form-section .form-block .input-row .label {
    width: 100%;
  }
  section.form-section .form-block .input-row {
    flex-wrap: wrap;
  }
  section.form-section .form-block .input-row.dt .input > span,
  section.form-section .form-block .input-row.dt .input > span {
    width: calc(1005% - 2rem);
    margin-right: 2rem;
  }
  section.form-section .form-block .text {
    margin-top: 4rem;
  }
  section.form-section .form-block .kiyaku {
    margin: 2rem auto;
  }
  section.form-section .form-block .kiyaku {
    margin-bottom: 5rem;
  }
  section.form-section .form-block .input-row.confirm {
    margin-bottom: 3rem;
  }
  section.form-section .step {
    font-size: 1.1rem;
  }
  section.form-section .step li {
    padding-left: 3rem;
    text-align: left;
    height: 4rem;
    line-height: 4rem;
  }
  section.form-section .step li::after {
    right: -2.8rem;
    width: 2.8rem;
    height: 2.8rem;
  }
  section.form-section .complete {
    text-align: left;
    margin: 0 0 5rem;
  }
  section.form-section .complete .block {
    line-height: 2;
    max-width: 85vw;
    font-weight: 500;
  }
}
/*　防水工事　*/
section.waterproof-lead .container {
  padding-top: 10.5rem;
  padding-bottom: 8.1rem;
}

section.waterproof-lead .block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 130rem;
  margin: 0 auto;
}

section.waterproof-lead .block .image {
  width: calc(50% - 1rem);
  max-width: 60rem;
  flex-shrink: 0;
  text-align: center;
  padding-top: 2rem;
}

section.waterproof-lead .block .content {
  width: calc(50% - 1rem);
  max-width: 70rem;
  padding-top: 1rem;
}

section.waterproof-lead .block h3 {
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 2;
  margin-bottom: 2.5rem;
}

section.waterproof-lead .block h3 span {
  color: #3087c2;
  line-height: 1;
  font-size: 2.8rem;
}

section.waterproof-lead .block .text {
  line-height: 2;
}

section.waterproof-lead .block .text p {
  margin-bottom: 2.5rem;
}

section.waterproof-lead .block .text p span {
  font-weight: 700;
  border-bottom: 2px solid;
}

section.waterproof-point .container {
  padding-top: 8.5rem;
  padding-bottom: 2rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

section.waterproof-point .left_blc {
  width: 49%;
}

section.waterproof-point .page-subtitle {
  margin-bottom: 8rem;
}

section.waterproof-point .page-subtitle .main {
  line-height: 1.5;
}

section.waterproof-point .lead {
  margin-bottom: 7rem;
  font-size: 1.8rem;
  line-height: 2;
  padding: 0 5rem;
}

section.waterproof-point .block {
  max-width: 110rem;
  margin: 0 auto;
  width: 45%;
}

section.waterproof-point .block ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.waterproof-point .block ul li {
  width: calc(50% - 1rem);
  max-width: 27rem;
  overflow: hidden;
  border-radius: 3rem;
  margin-bottom: 5rem;
  box-shadow: 0 1px 10px #bcd2df;
}

section.waterproof-point .block ul li .text {
  font-weight: 600;
  text-align: center;
  padding: 1.5rem 1rem;
  background: #fff;
  line-height: 1.2;
  font-size: 1.4rem;
}

section.waterproof-point .button-wrap .text01 {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.waterproof-method .table_base {
  background: #fff;
  padding: 30px 0 20px;
  margin: 0 auto 50px;
  border-radius: 15px;
  border: 8px solid #153c6c;
  max-width: 100rem;
}

section.waterproof-method .table_base table {
  margin: 10px auto 30px;
}

section.waterproof-method .table_base table th,
section.waterproof-method .table_base table td {
  padding: 25px 30px;
  border-bottom: 1px solid #ddd;
  text-align: center;
  font-size: 1.5rem;
}

section.waterproof-method .container {
  padding-top: 9.5rem;
  padding-bottom: 1.5rem;
}

section.waterproof-method .wrap {
  margin-bottom: 7.5rem;
  border-bottom: 1px dashed #a0c367;
  padding-bottom: 5rem;
}

section.waterproof-method .wrap:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

section.waterproof-method .lead span {
  color: #ec6941;
}

section.waterproof-method .wrap dl {
  margin: 30px auto;
  font-size: 1.4rem;
}

section.waterproof-method .wrap dl dt {
  padding: 5px 10px;
  margin-bottom: 7px;
  display: inline-block;
  border: 1px solid;
}

section.waterproof-method .wrap dl dd {
  margin-bottom: 15px;
}

section.waterproof-method .page-subtitle2 {
  margin-bottom: 3.5rem;
}

section.waterproof-method .lead {
  text-align: center;
  margin-bottom: 8rem;
  font-size: 1.8rem;
  line-height: 2;
}

/*section.waterproof-method .lead span {
  color: ;
}*/
section.waterproof-method .block-image {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 8rem;
}

section.waterproof-method .block-image .content {
  width: calc(60% - 1rem);
  max-width: 60rem;
}

section.waterproof-method .block-image .content h4 {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 2.2rem;
  display: inline-block;
  border: 1px solid;
  padding: 5px 10px;
  background-color: #fff;
}

section.waterproof-method .block-image .content .text {
  line-height: 1.75;
}

section.waterproof-method .block-image .content .text .main {
  margin-bottom: 3rem;
}

section.waterproof-method .block-image .image {
  width: calc(40% - 1rem);
  max-width: 44rem;
}

section.waterproof-condition .container {
  padding-top: 8.5rem;
  padding-bottom: 11rem;
}

section.waterproof-condition .page-subtitle {
  margin-bottom: 8rem;
}

section.waterproof-condition .lead {
  text-align: center;
  margin-bottom: 4.5rem;
  font-size: 1.8rem;
  line-height: 2;
}

section.waterproof-condition .block {
  max-width: 110rem;
  margin: 0 auto;
}

section.waterproof-condition .block ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

section.waterproof-condition .block ul::after {
  content: "";
  display: block;
  width: calc(25% - 1rem);
  max-width: 25rem;
  height: 0;
}

section.waterproof-condition .block ul li {
  width: calc(25% - 1rem);
  max-width: 25rem;
  overflow: hidden;
  border-radius: 1rem 1rem 0 0;
  margin-bottom: 5rem;
  box-shadow: 0 0 10px 3px #d2e4ef;
  border-bottom: solid 0.5rem #143C6C;
  padding-bottom: 1rem;
  background-color: #fff;
}

section.waterproof-condition .block ul li .text {
  color: #3087c2;
  font-weight: 600;
  text-align: center;
  padding: 1.8rem 1rem 0;
  background: #fff;
  line-height: 1.2;
}

section.waterproof-condition .block ul li p {
  padding: 1rem;
  font-size: 1.5rem;
}

section.waterproof-condition .box {
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  text-align: center;
  padding: 3rem 2rem;
  font-size: 1.8rem;
  line-height: 2;
}

section.waterproof-condition .box span {
  font-weight: 700;
  font-size: 2rem;
}

section.waterproof-condition .button-wrap .text01 {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.waterproof-condition .button-wrap .text02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  color: #3087c2;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.waterproof-condition .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.waterproof-condition .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #0E86C2;
  background: #fff url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
  padding: 2.8rem 11.5rem 2.8rem 20rem;
  box-shadow: 0.5rem 0.5rem #FEF283;
  font-size: 2.5rem;
  font-weight: 600;
  transition: all 200ms 0s ease;
}

section.waterproof-condition .button-wrap .button a:hover {
  color: #fff;
  background: #0E86C2 url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
}

@media screen and (max-width: 1023px) {
  section.waterproof-condition .block ul li {
    width: calc(50% - 1rem);
  }
  section.waterproof-lead .block h3 span {
    font-size: 2.4rem;
  }
  section.waterproof-lead .block .content,
  section.waterproof-lead .block .image {
    width: 100%;
  }
}
@media screen and (max-width: 780px) {
  section.waterproof-lead .container {
    padding-top: 5.5rem;
    padding-bottom: 3.5rem;
  }
  section.waterproof-lead .block .content {
    width: 100%;
  }
  section.waterproof-lead .block .image {
    width: 100%;
  }
  section.waterproof-point .container {
    padding-top: 5.5rem;
    flex-wrap: wrap;
  }
  section.waterproof-point .left_blc,
  section.waterproof-point .block {
    width: 100%;
  }
  section.waterproof-point .page-subtitle {
    margin-bottom: 3rem;
  }
  section.waterproof-point .lead {
    padding: 0 2rem;
    margin-bottom: 4rem;
    font-size: 1.6rem;
  }
  section.waterproof-point .block ul li {
    border-radius: 1rem;
    margin-bottom: 3rem;
  }
  section.waterproof-condition .container {
    padding-top: 5.5rem;
    padding-bottom: 0;
  }
  section .page-subtitle2 {
    margin-bottom: 3rem;
  }
  section.waterproof-condition .lead {
    text-align: left;
    line-height: 1.75;
  }
  section.waterproof-condition .block ul li {
    margin-bottom: 2rem;
    border-bottom: solid 0.5rem #143C6C;
  }
  section.waterproof-condition .block ul li .text {
    border-bottom: none;
  }
  section.waterproof-method.blue {
    padding-top: 5.5rem;
    padding-bottom: 3rem;
  }
  section.waterproof-method .table_base {
    overflow-y: scroll;
    padding: 30px 20px;
    background: unset;
    border: none;
  }
  section.waterproof-method .table_base table {
    border: 8px solid #153c6c;
    background-color: #fff;
    white-space: nowrap;
  }
  section.waterproof-method .table_base table th,
  section.waterproof-method .table_base table td {
    padding: 13px 20px;
    font-size: 1.4rem;
  }
  section.waterproof-method .container {
    padding-top: 5.5rem;
  }
  section.waterproof-method .wrap {
    margin-bottom: 3.5rem;
  }
  section.waterproof-method .lead {
    text-align: left;
    margin-bottom: 5rem;
  }
  section.waterproof-method .block-image {
    padding: 0;
    flex-wrap: wrap;
  }
  section.waterproof-method .block-image .content,
  section.waterproof-method .block-image .image {
    width: 100%;
  }
  section.waterproof-method .block-image .image {
    text-align: center;
  }
  section.waterproof-method .block-image .content h4 {
    font-size: 1.8rem;
  }
  section.waterproof-method .block-image .content .text {
    margin-bottom: 10px;
  }
  section.waterproof-method .wrap dl dt {
    background-color: #fff;
  }
}
section.waterproof-type {
  padding: 8rem 0;
}

section.waterproof-type .type_blc {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 110rem;
  gap: 3rem;
}

section.waterproof-type .type_blc .type_set {
  border-radius: 10px;
  padding: 4rem 4rem 4rem 5rem;
  width: 50%;
  border: 4px solid #3087c2;
}

section.waterproof-type .type_blc .type_set h3 {
  text-align: center;
  font-weight: 600;
  font-size: 2rem;
  background: #eebe06;
  color: #fff;
  border-radius: 30px;
  padding: 1rem;
  width: 70%;
  margin: 0 auto 3rem;
}

section.waterproof-type .type_blc .type_set .type_detail {
  display: flex;
  flex-wrap: wrap;
}

section.waterproof-type .type_blc .type_set .type_detail dt,
section.waterproof-type .type_blc .type_set .type_detail dd {
  padding: 1.5rem 0;
  border-bottom: 1px solid #ddd;
}

section.waterproof-type .type_blc .type_set .type_detail dt {
  width: 25%;
}

section.waterproof-type .type_blc .type_set .type_detail dd {
  width: 75%;
  font-size: 1.5rem;
}

@media screen and (max-width: 1023px) {
  section.waterproof-type .type_blc {
    flex-wrap: wrap;
  }
  section.waterproof-type .type_blc .type_set {
    width: 90%;
  }
}
section.waterproof-master .body .block-content .content .three_list {
  display: flex;
  gap: 2rem;
  justify-content: center;
}

/* 追加 */
@media screen and (min-width: 1024px) {
  .mainvisual .title--line2 {
    padding-top: 2.3rem;
    padding-bottom: 2.3rem;
  }
}
@media screen and (max-width: 1023px) {
  .mainvisual .title--line2 {
    padding-top: 1.17rem;
    padding-bottom: 1.17rem;
  }
}
@media screen and (min-width: 1024px) {
  .mainvisual .title--line2 .jp {
    line-height: 3.4rem;
  }
}
@media screen and (max-width: 1023px) {
  .mainvisual .title--line2 .jp {
    line-height: 1.2;
  }
}
.exterior_reform .container {
  max-width: 120rem;
}

.exterior_reform .anchor {
  position: absolute;
  top: -10rem;
  left: 0;
}

.exterior_reform.lead {
  padding: 6rem 0 7rem;
  background: url(../img/bg-dot.png) 50% 0/23.4rem auto repeat;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.lead {
    padding: 0;
  }
}
.exterior_reform.lead .image {
  width: 18rem;
  margin: 0 auto;
}

.exterior_reform.lead .text {
  line-height: 1.2;
  padding: 3rem 0 0;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.exterior_reform.lead .text::before,
.exterior_reform.lead .text::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.exterior_reform.lead .text::before {
  margin-bottom: -0.1em;
}

.exterior_reform.lead .text::after {
  margin-top: -0.1em;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.lead .text {
    line-height: 1.5;
  }
  .exterior_reform.lead .text::before,
  .exterior_reform.lead .text::after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .exterior_reform.lead .text::before {
    margin-bottom: -0.25em;
  }
  .exterior_reform.lead .text::after {
    margin-top: -0.25em;
  }
}
.exterior_reform.lead .menu {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  margin: 4rem 0 0;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.lead .menu {
    flex-direction: column;
    gap: 1rem;
  }
}
.exterior_reform.lead .menu a {
  display: grid;
  place-items: center;
  width: 30rem;
  height: 5.4rem;
  background: #143C6C url(../img/button_icon_arrow_down.png) calc(100% - 3rem) 50%/1rem auto no-repeat;
  border-radius: 2.7rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: inset 0 0 0 1px #143C6C;
  transition: 0.4s;
  transition-property: background-color, color;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.lead .menu a {
    margin: 0 auto;
  }
}
.exterior_reform.lead .menu a:hover {
  background-color: #fff;
  background-image: url(../img/button_icon_arrow_down_darkblue.png);
  color: #143C6C;
}

.exterior_reform.selecting_point {
  position: relative;
  background: #E2F0F8;
}

.exterior_reform.selecting_point .lead {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 57.2rem;
  gap: 10rem 6rem;
  padding: 8.5rem 0 12rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .lead {
    display: block;
    padding: 0 0 4rem;
  }
}
.exterior_reform.selecting_point .lead .ttl {
  grid-row: 1/2;
  grid-column: 1/3;
  line-height: 1;
  text-align: center;
}

.exterior_reform.selecting_point .lead .ttl .sub,
.exterior_reform.selecting_point .lead .ttl .main {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.exterior_reform.selecting_point .lead .ttl .sub {
  font-size: 2.2rem;
  font-weight: 500;
}

.exterior_reform.selecting_point .lead .ttl .main {
  margin-top: 3rem;
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(0deg, #D6E7BA 1.5rem, transparent 1.5rem);
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .lead .ttl .main {
    margin-top: 1rem;
    font-size: 2.6rem;
  }
}
.exterior_reform.selecting_point .lead .text {
  grid-row: 2/3;
  grid-column: 1/2;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .lead .text {
    margin: 4rem 0 0;
  }
}
.exterior_reform.selecting_point .lead .text .catch {
  line-height: 1.6363636364;
  font-size: 2.2rem;
  font-weight: 700;
}

.exterior_reform.selecting_point .lead .text .catch::before,
.exterior_reform.selecting_point .lead .text .catch::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.exterior_reform.selecting_point .lead .text .catch::before {
  margin-bottom: -0.3181818182em;
}

.exterior_reform.selecting_point .lead .text .catch::after {
  margin-top: -0.3181818182em;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .lead .text .catch {
    font-size: 2rem;
  }
}
.exterior_reform.selecting_point .lead .text p {
  line-height: 1.75;
  padding: 5rem 0 0;
  font-weight: 500;
}

.exterior_reform.selecting_point .lead .text p::before,
.exterior_reform.selecting_point .lead .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.exterior_reform.selecting_point .lead .text p::before {
  margin-bottom: -0.375em;
}

.exterior_reform.selecting_point .lead .text p::after {
  margin-top: -0.375em;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .lead .text p {
    padding: 4rem 0 0;
  }
}
.exterior_reform.selecting_point .lead .image {
  grid-row: 2/3;
  grid-column: 2/3;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .lead .image {
    margin: 4rem 0 0;
  }
}
.exterior_reform.selecting_point .lead .image .photo {
  border-radius: 1.5rem;
}

.exterior_reform.selecting_point .lead .image .illust {
  width: 13rem;
  position: absolute;
  right: -2.7rem;
  bottom: -4.2rem;
}

.exterior_reform.selecting_point .rule .prepend {
  padding: 6.5rem 5.5rem 0;
  background: #fff;
  border-radius: 3rem 3rem 0 0;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .rule .prepend {
    margin: 0 -2.2rem;
    padding: 4rem 2.2rem 0;
  }
}
.exterior_reform.selecting_point .rule .prepend .ttl {
  position: relative;
}

.exterior_reform.selecting_point .rule .prepend .ttl .sub,
.exterior_reform.selecting_point .rule .prepend .ttl .main {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.exterior_reform.selecting_point .rule .prepend .ttl .sub {
  position: absolute;
  top: -6.5rem;
  left: 50%;
  padding: 0 2rem;
  background: #FFCA10;
  border-radius: 3rem;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 6rem;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .rule .prepend .ttl .sub {
    position: relative;
    top: 0;
    left: 0;
    border-radius: 2rem;
    font-size: 2rem;
    line-height: 4rem;
    transform: none;
  }
}
.exterior_reform.selecting_point .rule .prepend .ttl .sub::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 2.2rem;
  position: absolute;
  top: 100%;
  left: calc(50% - 0.4rem);
  background: #FFCA10;
  -webkit-clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
  clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .rule .prepend .ttl .sub::after {
    width: 3rem;
    height: 1.5rem;
    left: calc(50% - 1rem);
  }
}
.exterior_reform.selecting_point .rule .prepend .ttl .main {
  margin: 0 auto;
  padding: 0 0 0 10rem;
  background: url(../img/exterior_reform_blt01.png) 3rem 0/auto 100% no-repeat;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 5.5rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .rule .prepend .ttl .main {
    margin: 2.5rem auto 0;
    padding: 0 0 0 4rem;
    background-position: 0 0;
    font-size: 2.2rem;
    line-height: 3rem;
  }
}
.exterior_reform.selecting_point .rule .prepend .ttl .main strong {
  color: #0E86C2;
  font-weight: inherit;
}

.exterior_reform.selecting_point .rule .list {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  padding: 4rem 5.5rem 5rem;
  background: #fff;
  border-radius: 0 0 3rem 3rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .rule .list {
    flex-direction: column;
    gap: 2rem;
    margin: 0 -2.2rem;
    padding: 4rem 2.2rem;
  }
}
.exterior_reform.selecting_point .rule .list .item {
  box-sizing: border-box;
  width: 48rem;
  padding: 3rem 3rem 2.5rem;
  position: relative;
  background: #EFF7FB;
  border-radius: 2rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .rule .list .item {
    width: auto;
    padding: 3rem 2rem;
  }
}
.exterior_reform.selecting_point .rule .list .item .num {
  display: grid;
  place-items: center;
  width: 8rem;
  height: 5rem;
  position: absolute;
  top: 2rem;
  left: -0.8rem;
  background: #0E86C2;
  border-radius: 0 2.5rem 2.5rem 0;
  color: #fff;
  font-size: 3rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .rule .list .item .num {
    width: 6rem;
    height: 4rem;
    left: 0;
    font-size: 2rem;
  }
}
.exterior_reform.selecting_point .rule .list .item .text {
  padding: 2rem 0 0;
}

.exterior_reform.selecting_point .rule .list .item .text strong {
  color: #0E86C2;
  font-weight: inherit;
}

.exterior_reform.selecting_point .rule .list .item .text .name {
  padding: 0 0 0 6rem;
  background: url(../img/exterior_reform_blt02.png) 0 50%/4rem auto no-repeat;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.3684210526;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .rule .list .item .text .name {
    padding: 0 0 0 4rem;
    background-size: 3rem auto;
  }
}
.exterior_reform.selecting_point .rule .list .item .text p {
  line-height: 1.75;
  padding: 2rem 0 0;
  font-weight: 500;
}

.exterior_reform.selecting_point .rule .list .item .text p::before,
.exterior_reform.selecting_point .rule .list .item .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.exterior_reform.selecting_point .rule .list .item .text p::before {
  margin-bottom: -0.375em;
}

.exterior_reform.selecting_point .rule .list .item .text p::after {
  margin-top: -0.375em;
}

.exterior_reform.selecting_point .rule .append {
  padding: 7.5rem 0 6rem;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .rule .append {
    padding: 5rem 0 0;
  }
}
.exterior_reform.selecting_point .rule .append::before {
  content: "";
  display: block;
  width: 9rem;
  height: 4rem;
  position: absolute;
  top: 0;
  left: calc(50% - 4.5rem);
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

@media screen and (max-width: 1023px) {
  .exterior_reform.selecting_point .rule .append::before {
    width: 5rem;
    height: 3rem;
    left: calc(50% - 2.5rem);
  }
}
.exterior_reform.selecting_point .rule .append p {
  line-height: 1.75;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.exterior_reform.selecting_point .rule .append p::before,
.exterior_reform.selecting_point .rule .append p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.exterior_reform.selecting_point .rule .append p::before {
  margin-bottom: -0.375em;
}

.exterior_reform.selecting_point .rule .append p::after {
  margin-top: -0.375em;
}

.exterior_reform.selecting_point .rule .append p strong {
  color: #0E86C2;
  font-weight: inherit;
}

.exterior_reform.selecting_point .rule .append .image {
  width: 40rem;
  margin: 4rem auto 0;
}

.exterior_reform.fail .prepend {
  padding: 9rem 0 0;
  background-image: url(../img/exterior_reform_illust_04.png), url(../img/exterior_reform_illust_05.png);
  background-position: 12.5rem 100%, calc(100% - 12.5rem) 100%;
  background-size: 5rem auto, 7.5rem auto;
  background-repeat: no-repeat;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.fail .prepend {
    padding: 0;
    background-position: 0 100%, 100% 100%;
  }
}
.exterior_reform.fail .prepend .ttl {
  line-height: 1;
}

.exterior_reform.fail .prepend .ttl .sub,
.exterior_reform.fail .prepend .ttl .main {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.exterior_reform.fail .prepend .ttl .sub {
  font-size: 2.2rem;
  font-weight: 500;
}

.exterior_reform.fail .prepend .ttl .main {
  margin-top: 3rem;
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(0deg, #D6E7BA 1.5rem, transparent 1.5rem);
}

@media screen and (max-width: 1023px) {
  .exterior_reform.fail .prepend .ttl .main {
    margin-top: 1rem;
    font-size: 2.6rem;
  }
}
.exterior_reform.fail .prepend .text {
  padding: 4rem 0 0;
  line-height: 1.875;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.fail .prepend .text {
    padding: 4rem 8rem 0;
    text-align: left;
  }
}
.exterior_reform.fail .list {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 7.5rem;
  max-width: 96rem;
  margin: 0 auto;
  padding: 8rem 0 11rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.fail .list {
    gap: 4rem 2rem;
    padding: 4rem 0 0;
  }
}
.exterior_reform.fail .list .item {
  width: 27rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.fail .list .item {
    width: calc(50% - 1rem);
  }
}
.exterior_reform.fail .list .item .image {
  border-radius: 2rem;
  overflow: hidden;
}

.exterior_reform.fail .list .item .text {
  padding: 1rem 0 0;
}

.exterior_reform.fail .list .item .text .name {
  color: #0E86C2;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.exterior_reform.fail .list .item .text p {
  line-height: 1.6666666667;
  padding: 2rem 0 0;
  font-size: 1.5rem;
}

.exterior_reform.fail .list .item .text p::before,
.exterior_reform.fail .list .item .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.exterior_reform.fail .list .item .text p::before {
  margin-bottom: -0.3333333333em;
}

.exterior_reform.fail .list .item .text p::after {
  margin-top: -0.3333333333em;
}

.exterior_reform.contact {
  padding: 8rem 0 10rem;
  position: relative;
  background: #0E86C2;
  color: #fff;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.contact {
    padding: 4rem 0;
  }
}
.exterior_reform.contact .container {
  margin: 0 auto;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.contact .container {
    padding: 0 2.2rem;
  }
}
.exterior_reform.contact .catch {
  font-size: 3.2rem;
  line-height: 1.40625;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.contact .catch {
    font-size: 2.8rem;
  }
}
.exterior_reform.contact p {
  padding: 1.5rem 0 0;
  font-size: 1.8rem;
  line-height: 1.5555555556;
}

.exterior_reform.contact .btn {
  display: grid;
  place-items: center;
  width: 48rem;
  height: 8rem;
  margin: 4rem auto 0;
  position: relative;
  background: #fff;
  border-radius: 4rem;
  font-size: 2.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: 0.4s;
  transition-property: background-color, color;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.contact .btn {
    width: auto;
    height: 6rem;
    margin: 3rem 0 0;
    border-radius: 3rem;
    font-size: 2.2rem;
  }
}
.exterior_reform.contact .btn::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 2.5rem;
  right: 3rem;
  background: #143C6C url(../img/button_icon_big_arrow_white.png) 50% 50%/0.5rem auto no-repeat;
  border-radius: 50%;
  transition: 0.4s;
  transition-property: background-color;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.contact .btn::after {
    width: 2.4rem;
    height: 2.4rem;
    top: 1.8rem;
    right: 2rem;
  }
}
.exterior_reform.contact .btn:hover {
  background-color: #143C6C;
  color: #fff;
}

.exterior_reform.contact .btn:hover::after {
  background-color: #fff;
  background-image: url(../img/button_icon_big_arrow_darkblue.png);
}

.exterior_reform.contact .image {
  width: 15rem;
  position: absolute;
  right: calc(50% + 12rem);
  bottom: 2rem;
  pointer-events: none;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.contact .image {
    display: none;
  }
}
.exterior_reform.faq {
  position: relative;
}

.exterior_reform.faq .prepend {
  background: #E2F0F8;
}

.exterior_reform.faq .prepend .container {
  padding: 9rem 0 5rem;
  background-image: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-position: 13rem calc(100% + 6.5rem), calc(100% - 12rem) calc(100% + 6.6rem);
  background-size: 7.5rem auto, 10rem auto;
  background-repeat: no-repeat;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .prepend .container {
    padding: 4rem 2.2rem;
    background-position: 1rem calc(100% + 6.5rem), calc(100% - 1rem) calc(100% + 6.6rem);
  }
}
.exterior_reform.faq .prepend .ttl {
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.exterior_reform.faq .prepend .ttl .sub,
.exterior_reform.faq .prepend .ttl .main {
  display: block;
}

.exterior_reform.faq .prepend .ttl .sub {
  color: #0E86C2;
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .prepend .ttl .sub {
    font-size: 2rem;
  }
}
.exterior_reform.faq .prepend .ttl .main {
  margin-top: 1rem;
  font-size: 3rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .prepend .ttl .main {
    font-size: 2.6rem;
  }
}
.exterior_reform.faq .prepend .text {
  padding: 3rem 0 0;
  line-height: 1.875;
  text-align: center;
}

.exterior_reform.faq .body {
  border-bottom: 12rem solid #E2F0F8;
  padding: 7rem 0 8rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .body {
    border-bottom: none;
    padding: 0;
  }
}
.exterior_reform.faq .body .menu {
  display: flex;
  justify-content: center;
  gap: 1rem;
  max-width: 80rem;
  margin: 0 auto;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .body .menu {
    flex-direction: column;
  }
}
.exterior_reform.faq .body .menu a {
  display: grid;
  place-items: center;
  width: 26rem;
  height: 5rem;
  background: #143C6C url(../img/button_icon_arrow_down.png) calc(100% - 2.4rem) 50%/1rem auto no-repeat;
  border-radius: 2.5rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: inset 0 0 0 1px #143C6C;
  transition: 0.4s;
  transition-property: background-color, color;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .body .menu a {
    margin: 0 auto;
  }
}
.exterior_reform.faq .body .menu a:hover {
  background-color: #fff;
  background-image: url(../img/button_icon_arrow_down_darkblue.png);
  color: #143C6C;
}

.exterior_reform.faq .body .group {
  max-width: 80rem;
  margin: 5.5rem auto 0;
  position: relative;
}

.exterior_reform.faq .body .group .sttl {
  color: #0E86C2;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .body .group .sttl {
    font-size: 2rem;
  }
}
.exterior_reform.faq .body .group .sttl + .item {
  margin: 3rem 0 0;
  border-top: 1px solid #E9E5E0;
}

.exterior_reform.faq .body .group .item {
  border-bottom: 1px solid #E9E5E0;
  transition: padding 0.4s;
}

.exterior_reform.faq .body .group .item .summary {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 7rem;
  padding: 1rem 6rem;
  position: relative;
  background: url(../img/exterior_reform_blt03.png) 1.5rem 1.7rem/3.6rem auto no-repeat;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5555555556;
  cursor: pointer;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .body .group .item .summary {
    padding: 0.6rem 5rem;
    background-position: 1rem 1.7rem;
    background-size: 3rem;
  }
}
.exterior_reform.faq .body .group .item .summary::after {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  top: 2.6rem;
  right: 2rem;
  background: #0E86C2 url(../img/button_icon_arrow_down.png) 50% 50%/0.7rem auto no-repeat;
  border-radius: 0.9rem;
  transition: transform 0.4s;
}

.exterior_reform.faq .body .group .item .detail {
  display: none;
  padding: 2rem 2rem 2rem 6rem;
  background: #ECF4F8 url(../img/exterior_reform_blt04.png) 1.5rem 1.7rem/3.6rem auto no-repeat;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6666666667;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .body .group .item .detail {
    background-position: 1rem 1.7rem;
    background-size: 3rem;
  }
}
.exterior_reform.faq .body .group .item.active {
  padding: 0 0 2.5rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .body .group .item.active {
    padding: 0 0 2rem;
  }
}
.exterior_reform.faq .body .group .item.active .summary::after {
  transform: scale(1, -1);
}

.exterior_reform.faq .body .group + .group {
  margin-top: 9.5rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.faq .body .group + .group {
    margin-top: 4rem;
  }
}
.exterior_reform.flow {
  position: relative;
}

.exterior_reform.flow .prepend {
  padding: 9rem 0 3rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .prepend {
    padding: 0 0 4rem;
  }
}
.exterior_reform.flow .prepend .ttl {
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.exterior_reform.flow .prepend .ttl .sub,
.exterior_reform.flow .prepend .ttl .main {
  display: block;
}

.exterior_reform.flow .prepend .ttl .sub {
  color: #0E86C2;
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .prepend .ttl .sub {
    font-size: 2rem;
  }
}
.exterior_reform.flow .prepend .ttl .main {
  margin-top: 1rem;
  font-size: 3rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .prepend .ttl .main {
    font-size: 2.6rem;
  }
}
.exterior_reform.flow .prepend .image {
  max-width: 62rem;
  margin: 5rem auto 0;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .prepend .image {
    margin: 4rem auto 0;
  }
}
.exterior_reform.flow .body {
  padding: 0 0 9rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body {
    padding: 0;
  }
}
.exterior_reform.flow .body .item {
  display: flex;
  max-width: 96rem;
  margin: 0 auto;
  padding: 4rem 0 3rem;
  position: relative;
  background: #ECF4F8;
  border-radius: 4rem 1rem 1rem 1rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item {
    display: block;
    padding: 3rem 2rem;
  }
}
.exterior_reform.flow .body .item .num {
  width: 12rem;
  color: #0E86C2;
  font-size: 4rem;
  font-weight: 500;
  line-height: 3rem;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item .num {
    grid-row: 1/2;
    grid-column: 1/2;
    width: auto;
    font-size: 3rem;
  }
}
.exterior_reform.flow .body .item .num::after {
  content: "";
  display: block;
  width: 1px;
  position: absolute;
  top: 9.3rem;
  left: 6rem;
  bottom: -3.3rem;
  background: #0E86C2;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item .num::after {
    content: none;
  }
}
.exterior_reform.flow .body .item .text {
  width: 60rem;
  margin: 0 2rem 0 0;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item .text {
    width: auto;
    margin: 2rem 0 0;
  }
}
.exterior_reform.flow .body .item .text .name {
  color: #0E86C2;
  font-size: 2rem;
  font-weight: 700;
  line-height: 3rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item .text .name {
    line-height: 1;
  }
}
.exterior_reform.flow .body .item .text p,
.exterior_reform.flow .body .item .text ul {
  padding: 2.5rem 0 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6666666667;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item .text p,
  .exterior_reform.flow .body .item .text ul {
    padding: 2rem 0 0;
  }
}
.exterior_reform.flow .body .item .text p a,
.exterior_reform.flow .body .item .text ul a {
  color: #0E86C2;
  text-decoration: none;
}

.exterior_reform.flow .body .item .text p a:hover,
.exterior_reform.flow .body .item .text ul a:hover {
  text-decoration: underline;
}

.exterior_reform.flow .body .item .text ul {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item .text ul {
    display: block;
  }
}
.exterior_reform.flow .body .item .text ul li:nth-child(odd) {
  width: 27rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item .text ul li:nth-child(odd) {
    width: auto;
  }
}
.exterior_reform.flow .body .item .text ul li:nth-child(even) {
  width: calc(100% - 27rem);
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item .text ul li:nth-child(even) {
    width: auto;
  }
}
.exterior_reform.flow .body .item .image {
  width: 18rem;
  align-self: center;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item .image {
    margin: 1rem auto 0;
  }
}
.exterior_reform.flow .body .item + .item {
  margin-top: 5rem;
}

@media screen and (max-width: 1023px) {
  .exterior_reform.flow .body .item + .item {
    margin-top: 4rem;
  }
}
.exterior_reform.flow .body .item:last-child .num::after {
  content: none;
}

main:has(.exterior_reform) + footer::before {
  content: none;
}

/* mainvisual-home */
.mainvisual-home {
  position: relative;
  background: #fff;
}
@media screen and (max-width: 1023px) {
  .mainvisual-home {
    padding: 1rem 0 0;
  }
}
.mainvisual-home .mainimage-slider {
  width: 100%;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .mainvisual-home .mainimage-slider {
    max-width: calc((100vh - 12rem) / 1260 * 2200 + 0.2rem);
    margin: 0 auto;
    overflow: visible;
  }
}
@media screen and (max-width: 1023px) {
  .mainvisual-home .mainimage-slider {
    overflow: hidden;
  }
}
@media screen and (min-width: 1024px) {
  .mainvisual-home .mainimage-slider .slick-list {
    overflow: visible;
  }
}
@media screen and (max-width: 1023px) {
  .mainvisual-home .mainimage-slider .slick-list {
    overflow: hidden;
  }
}
.mainvisual-home .mainimage-slider li {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .mainvisual-home .mainimage-slider li {
    box-sizing: border-box;
    border-right: 0.1rem solid #fff;
    border-left: 0.1rem solid #fff;
  }
}
.mainvisual-home .mainimage-slider li a {
  display: block;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .mainvisual-home .mainimage-slider li a {
    transition: opacity 0.5s;
  }
  .mainvisual-home .mainimage-slider li a:hover {
    opacity: 0.8;
  }
}
.mainvisual-home .mainimage-slider li img {
  width: 100%;
  height: auto;
  /*@media screen and (min-width: 1024px) {
    max-width: calc((100vh - 12rem) / 1260 * 2200);
    max-height: calc(100vh - 12rem);
    object-fit: cover;
  }*/
}
.mainvisual-home .mainimage-slider .slick-arrow {
  width: 3rem;
  height: 3rem;
  background: url(../img/arw02.svg) 0 0/contain no-repeat;
}
.mainvisual-home .mainimage-slider .slick-arrow::before {
  content: none;
}
.mainvisual-home .mainimage-slider .slick-arrow.slick-prev {
  left: 1rem;
  z-index: 1;
  scale: -1 1;
}
.mainvisual-home .mainimage-slider .slick-arrow.slick-next {
  right: 1rem;
}
.mainvisual-home .mainimage-slider .link {
  display: grid;
  place-items: center;
  width: 18rem;
  height: 4.6rem;
  position: absolute;
  left: calc(50% - 9rem);
  bottom: 7.4rem;
  background: #fff url(../img/arw01_b.svg) calc(100% - 1.3rem) 50%/0.6rem auto no-repeat;
  border-radius: 2.3rem;
  font-size: 1.6rem;
  text-decoration: none;
}
.mainvisual-home .news-block {
  box-sizing: border-box;
  width: 48rem;
  padding: 1.5rem 3rem 4.2rem 7rem;
  position: absolute;
  bottom: -3rem;
  left: 0;
  z-index: 1;
  background: #fff linear-gradient(#0E86C2, #0E86C2) 0 100%/40rem 0.5rem no-repeat;
  border-radius: 0 1.5rem 1.5rem 0;
}
@media screen and (max-width: 1023px) {
  .mainvisual-home .news-block {
    width: 88vw;
    padding: 3.7333333333vw 9.6vw 8vw 3.7333333333vw;
    bottom: -37.3333333333vw;
    background-size: 80vw 1.3333333333vw;
  }
}
.mainvisual-home .news-block .legend {
  box-sizing: border-box;
  height: 3.6rem;
  padding: 1.4rem 0 0 3.6rem;
  background: url(../img/top/blt-news.png) 0 0/auto 100% no-repeat;
  color: #0E86C2;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .mainvisual-home .news-block .legend {
    height: 6.4vw;
    padding: 2.1333333333vw 0 0 6.6666666667vw;
    font-size: 3.2vw;
  }
}
.mainvisual-home .news-block .list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin: 1.2rem 0 0;
  padding: 0 0 0 1rem;
  font-size: 1.4rem;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .mainvisual-home .news-block .list {
    gap: 4.2666666667vw;
    margin: 3.2vw 0 0;
    padding: 0 0 0 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.mainvisual-home .news-block .list li {
  display: flex;
}
.mainvisual-home .news-block .list li .date {
  width: 6em;
}
.mainvisual-home .news-block .list li .title {
  width: calc(100% - 6em);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* BEFORE AFTER */
.ba-blc {
  max-width: 88rem;
  margin: 0 auto;
  padding: 0 2rem;
}

.ba_list_set {
  display: flex;
  max-width: 100rem;
  margin: 0 auto 40px;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.ba_list_set:last-of-type {
  margin-bottom: 0;
}

.ba_list_set::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 20px solid #E2F0F8;
  border-right: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ba_list_set .image {
  max-width: 45rem;
  position: relative;
  border: 1px solid #ddd;
}

.ba_list_set .image::before {
  content: "BEFORE";
  background-color: #fff;
  color: #0D85C2;
  font-size: 1.8rem;
  display: inline-block;
  text-align: center;
  padding: 5px 15px;
  position: absolute;
  right: 0;
  bottom: 0;
}

.ba_list_set .image.after::before {
  content: "AFTER";
  background-color: #0D85C2;
  color: #fff;
}

@media screen and (max-width: 780px) {
  .ba_list_set::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 10px solid #3086c2;
    border-right: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .ba_list_set .image {
    max-width: 42vw;
  }
}
/* works_btn */
.works_btn {
  margin-top: 8rem;
}

.works_btn.wall {
  margin-bottom: 8rem;
}

.works_btn.roof {
  margin-bottom: 8rem;
}

.works_btn a {
  display: block;
  background: #0E86C2 url(../img/apart_plan_icon_button.png) 4rem 50%/7rem auto no-repeat;
  border: solid 0.2rem #0E86C2;
  border-radius: 60px;
  color: #fff;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  max-width: fit-content;
  margin: 0 auto;
  padding: 1.5rem 10rem 1.5rem 13rem;
  position: relative;
  transition: all 200ms 0s ease;
}

.works_btn a::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 2.5rem;
  right: 3rem;
  background: #143C6C url(../img/button_icon_big_arrow_white.png) 50% 50%/0.5rem auto no-repeat;
  border-radius: 50%;
  transition: 0.4s;
  transition-property: background-color;
}

.works_btn a:hover {
  background: #fff url(../img/apart_plan_icon_button.png) 4rem 50%/7rem auto no-repeat;
  color: #0E86C2;
}

.works_btn.watarproof a {
  background: #0E86C2 url(../img/watarproof_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

.works_btn.watarproof a:hover {
  background: #fff url(../img/watarproof_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

.works_btn.roof a {
  background: #0E86C2 url(../img/roof_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

.works_btn.roof a:hover {
  background: #fff url(../img/roof_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

.works_btn.door a {
  background: #0E86C2 url(../img/door_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

.works_btn.door a:hover {
  background: #fff url(../img/door_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

.works_btn.wall a {
  background: #0E86C2 url(../img/wall_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

.works_btn.wall a:hover {
  background: #fff url(../img/wall_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

.works_btn.factory a {
  background: #0E86C2 url(../img/factory_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

.works_btn.factory a:hover {
  background: #fff url(../img/factory_plan_icon_button.png) 6rem 50%/7rem auto no-repeat;
}

@media screen and (max-width: 1023px) {
  .works_btn {
    margin-top: 3rem;
    margin-bottom: 6rem;
  }
  .works_btn a:hover {
    background-color: #0E86C2;
    color: #fff;
  }
  .works_btn.wall {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
  .works_btn.roof {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 780px) {
  .works_btn {
    margin-top: 3rem;
    margin-bottom: 6rem;
  }
  .works_btn.wall {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
}
.reason .container {
  max-width: 120rem;
}

.reason .anchor {
  position: absolute;
  top: -10rem;
  left: 0;
}

.reason.lead {
  padding: 6rem 0 7rem;
  background: url(../img/bg-dot.png) 50% 0/23.4rem auto repeat;
}

@media screen and (max-width: 1023px) {
  .reason.lead {
    padding: 0;
  }
}
.reason.lead .image {
  width: 18rem;
  margin: 0 auto;
}

.reason.lead .text {
  line-height: 1.2;
  padding: 3rem 0 0;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.reason.lead .text::before,
.reason.lead .text::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.reason.lead .text::before {
  margin-bottom: -0.1em;
}

.reason.lead .text::after {
  margin-top: -0.1em;
}

@media screen and (max-width: 1023px) {
  .reason.lead .text {
    line-height: 1.5;
  }
  .reason.lead .text::before,
  .reason.lead .text::after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
  .reason.lead .text::before {
    margin-bottom: -0.25em;
  }
  .reason.lead .text::after {
    margin-top: -0.25em;
  }
}
.reason.lead .menu {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  margin: 4rem 0 0;
}

@media screen and (max-width: 1023px) {
  .reason.lead .menu {
    flex-direction: column;
    gap: 1rem;
  }
}
.reason.lead .menu a {
  display: grid;
  place-items: center;
  width: 30rem;
  height: 5.4rem;
  background: #143C6C url(../img/button_icon_arrow_down.png) calc(100% - 3rem) 50%/1rem auto no-repeat;
  border-radius: 2.7rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: inset 0 0 0 1px #143C6C;
  transition: 0.4s;
  transition-property: background-color, color;
}

@media screen and (max-width: 1023px) {
  .reason.lead .menu a {
    margin: 0 auto;
  }
}
.reason.lead .menu a:hover {
  background-color: #fff;
  background-image: url(../img/button_icon_arrow_down_darkblue.png);
  color: #143C6C;
}

.reason.feature {
  position: relative;
  background: #E2F0F8;
}

.reason.feature .lead {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 40rem;
  gap: 10rem 6rem;
  padding: 8.5rem 0 12rem;
}

@media screen and (max-width: 1023px) {
  .reason.feature .lead {
    display: block;
    padding: 0 0 4rem;
  }
}
.reason.feature .lead .ttl {
  grid-row: 1/2;
  grid-column: 1/3;
  line-height: 1;
  text-align: center;
}

.reason.feature .lead .ttl .sub,
.reason.feature .lead .ttl .main {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.reason.feature .lead .ttl .sub {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0E86C2;
  font-family: "Montserrat", sans-serif;
}

.reason.feature .lead .ttl .main {
  margin-top: 3rem;
  font-size: 3.6rem;
  font-weight: 700;
}

@media screen and (max-width: 1023px) {
  .reason.feature .lead .ttl .main {
    margin-top: 1rem;
    font-size: 2.6rem;
  }
}
.reason.feature .lead .text {
  grid-row: 2/3;
  grid-column: 1/2;
}

@media screen and (max-width: 1023px) {
  .reason.feature .lead .text {
    margin: 4rem 0 0;
  }
}
.reason.feature .lead .text .catch {
  line-height: 1.6363636364;
  font-size: 2.2rem;
  font-weight: 700;
}

.reason.feature .lead .text .catch::before,
.reason.feature .lead .text .catch::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.reason.feature .lead .text .catch::before {
  margin-bottom: -0.3181818182em;
}

.reason.feature .lead .text .catch::after {
  margin-top: -0.3181818182em;
}

@media screen and (max-width: 1023px) {
  .reason.feature .lead .text .catch {
    font-size: 2rem;
  }
}
.reason.feature .lead .text p {
  line-height: 1.75;
  padding: 5rem 0 0;
  font-weight: 500;
}

.reason.feature .lead .text p::before,
.reason.feature .lead .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.reason.feature .lead .text p::before {
  margin-bottom: -0.375em;
}

.reason.feature .lead .text p::after {
  margin-top: -0.375em;
}

@media screen and (max-width: 1023px) {
  .reason.feature .lead .text p {
    padding: 4rem 0 0;
  }
}
.reason.feature .lead .image {
  grid-row: 2/3;
  grid-column: 2/3;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .reason.feature .lead .image {
    margin: 4rem 0 0;
    display: block;
  }
}
.reason.feature .lead .image .photo {
  border-radius: 1.5rem;
}

.reason.feature .lead .image .illust {
  width: 13rem;
  position: absolute;
  right: -2.7rem;
  bottom: -4.2rem;
}

.reason.feature .rule .prepend {
  padding: 6.5rem 5.5rem 0;
  background: #fff;
  border-radius: 3rem 3rem 0 0;
  position: relative;
}

.reason.feature .rule .prepend::before {
  content: "";
  background-image: url(../img/reason_illust_03.png);
  background-repeat: no-repeat;
  width: 316px;
  height: 118px;
  display: inline-block;
  position: absolute;
  left: 50%;
  top: -111px;
  transform: translateX(-50%);
}

@media screen and (max-width: 1023px) {
  .reason.feature .rule .prepend {
    margin: 0 -2.2rem;
    padding: 4rem 2.2rem 0;
  }
}
.reason.feature .rule .prepend .ttl {
  position: relative;
}

.reason.feature .rule .prepend .ttl .sub,
.reason.feature .rule .prepend .ttl .main {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.reason.feature .rule .prepend .ttl .sub {
  position: absolute;
  top: -6.5rem;
  left: 50%;
  padding: 0 2rem;
  background: #FFCA10;
  border-radius: 3rem;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 6rem;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 1023px) {
  .reason.feature .rule .prepend .ttl .sub {
    position: relative;
    top: 0;
    left: 0;
    border-radius: 2rem;
    font-size: 2rem;
    line-height: 4rem;
    transform: none;
  }
}
.reason.feature .rule .prepend .ttl .sub::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 2.2rem;
  position: absolute;
  top: 100%;
  left: calc(50% - 0.4rem);
  background: #FFCA10;
  -webkit-clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
  clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
}

@media screen and (max-width: 1023px) {
  .reason.feature .rule .prepend .ttl .sub::after {
    width: 3rem;
    height: 1.5rem;
    left: calc(50% - 1rem);
  }
}
.reason.feature .rule .prepend .ttl .main {
  margin: 0 auto;
  font-size: 3rem;
  font-weight: 700;
  line-height: 4.5rem;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .reason.feature .rule .prepend .ttl .main {
    margin: 2.5rem auto 0;
    padding: 0 0 0 4rem;
    background-position: 0 0;
    font-size: 2.2rem;
    line-height: 3rem;
  }
}
.reason.feature .rule .prepend .ttl .main strong {
  color: #0E86C2;
  font-weight: inherit;
}

.reason.feature .rule .list {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  padding: 4rem 5.5rem 5rem;
  background: #fff;
  border-radius: 0 0 3rem 3rem;
}

@media screen and (max-width: 1023px) {
  .reason.feature .rule .list {
    flex-direction: column;
    gap: 2rem;
    margin: 0 -2.2rem;
    padding: 4rem 2.2rem;
  }
}
.reason.feature .rule .list .item {
  box-sizing: border-box;
  width: 48rem;
  padding: 3rem 3rem 2.5rem;
  position: relative;
  background: #EFF7FB;
  border-radius: 2rem;
  max-width: 48%;
}

@media screen and (max-width: 1023px) {
  .reason.feature .rule .list .item {
    width: auto;
    padding: 3rem 2rem;
    max-width: 100%;
  }
}
.reason.feature .rule .list .item .num {
  display: grid;
  place-items: center;
  width: 8rem;
  height: 5rem;
  position: absolute;
  top: 2rem;
  left: -0.8rem;
  background: #0E86C2;
  border-radius: 0 2.5rem 2.5rem 0;
  color: #fff;
  font-size: 3rem;
}

@media screen and (max-width: 1023px) {
  .reason.feature .rule .list .item .num {
    width: 6rem;
    height: 4rem;
    left: 0;
    font-size: 2rem;
  }
}
.reason.feature .rule .list .item .text {
  padding: 2rem 0 0;
}

.reason.feature .rule .list .item .text strong {
  color: #0E86C2;
  font-weight: inherit;
}

.reason.feature .rule .list .item .text .name {
  padding: 0 0 0 6rem;
  background: url(../img/factory_tosou_icon_light.png) 0 50%/5rem auto no-repeat;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.3684210526;
}

@media screen and (max-width: 1023px) {
  .reason.feature .rule .list .item .text .name {
    padding: 0 0 0 4rem;
    background-size: 3rem auto;
  }
}
.reason.feature .rule .list .item .text p {
  line-height: 1.75;
  padding: 2rem 0 0;
  font-weight: 500;
}

.reason.feature .rule .list .item .text p::before,
.reason.feature .rule .list .item .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.reason.feature .rule .list .item .text p::before {
  margin-bottom: -0.375em;
}

.reason.feature .rule .list .item .text p::after {
  margin-top: -0.375em;
}

.reason.feature .rule .append {
  padding: 10.5rem 0 12rem;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .reason.feature .rule .append {
    padding: 5rem 0 0;
  }
}
.reason.feature .rule .append::before {
  content: "";
  display: block;
  width: 9rem;
  height: 4rem;
  position: absolute;
  top: 0;
  left: calc(50% - 4.5rem);
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

@media screen and (max-width: 1023px) {
  .reason.feature .rule .append::before {
    width: 5rem;
    height: 3rem;
    left: calc(50% - 2.5rem);
  }
}
.reason.feature .rule .append p {
  line-height: 1.75;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.reason.feature .rule .append p::before,
.reason.feature .rule .append p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.reason.feature .rule .append p::before {
  margin-bottom: -0.375em;
}

.reason.feature .rule .append p::after {
  margin-top: -0.375em;
}

.reason.feature .rule .append p strong {
  color: #0E86C2;
  font-weight: inherit;
}

.reason.feature .rule .append .image {
  width: 40rem;
  margin: 4rem auto 0;
}

.reason.fail .prepend {
  padding: 9rem 0 0;
  background-image: url(../img/exterior_reform_illust_04.png), url(../img/exterior_reform_illust_05.png);
  background-position: 12.5rem 100%, calc(100% - 12.5rem) 100%;
  background-size: 5rem auto, 7.5rem auto;
  background-repeat: no-repeat;
}

@media screen and (max-width: 1023px) {
  .reason.fail .prepend {
    padding: 0;
    background-position: 0 100%, 100% 100%;
  }
}
.reason.fail .prepend .ttl {
  line-height: 1;
}

.reason.fail .prepend .ttl .sub,
.reason.fail .prepend .ttl .main {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.reason.fail .prepend .ttl .sub {
  font-size: 2.2rem;
  font-weight: 500;
}

.reason.fail .prepend .ttl .main {
  margin-top: 3rem;
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(0deg, #D6E7BA 1.5rem, transparent 1.5rem);
}

@media screen and (max-width: 1023px) {
  .reason.fail .prepend .ttl .main {
    margin-top: 1rem;
    font-size: 2.6rem;
  }
}
.reason.fail .prepend .text {
  padding: 4rem 0 0;
  line-height: 1.875;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .reason.fail .prepend .text {
    padding: 4rem 8rem 0;
    text-align: left;
  }
}
.reason.fail .list {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 7.5rem;
  max-width: 96rem;
  margin: 0 auto;
  padding: 8rem 0 11rem;
}

@media screen and (max-width: 1023px) {
  .reason.fail .list {
    gap: 4rem 2rem;
    padding: 4rem 0 0;
  }
}
.reason.fail .list .item {
  width: 27rem;
}

@media screen and (max-width: 1023px) {
  .reason.fail .list .item {
    width: calc(50% - 1rem);
  }
}
.reason.fail .list .item .image {
  border-radius: 2rem;
  overhistory: hidden;
}

.reason.fail .list .item .text {
  padding: 1rem 0 0;
}

.reason.fail .list .item .text .name {
  color: #0E86C2;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.reason.fail .list .item .text p {
  line-height: 1.6666666667;
  padding: 2rem 0 0;
  font-size: 1.5rem;
}

.reason.fail .list .item .text p::before,
.reason.fail .list .item .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.reason.fail .list .item .text p::before {
  margin-bottom: -0.3333333333em;
}

.reason.fail .list .item .text p::after {
  margin-top: -0.3333333333em;
}

.reason.contact {
  padding: 8rem 0 10rem;
  position: relative;
  background: #0E86C2;
  color: #fff;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .reason.contact {
    padding: 4rem 0;
  }
}
.reason.contact .container {
  margin: 0 auto;
}

@media screen and (max-width: 1023px) {
  .reason.contact .container {
    padding: 0 2.2rem;
  }
}
.reason.contact .catch {
  font-size: 3.2rem;
  line-height: 1.40625;
}

@media screen and (max-width: 1023px) {
  .reason.contact .catch {
    font-size: 2.8rem;
  }
}
.reason.contact p {
  padding: 1.5rem 0 0;
  font-size: 1.8rem;
  line-height: 1.5555555556;
}

.reason.contact .btn {
  display: grid;
  place-items: center;
  width: 48rem;
  height: 8rem;
  margin: 4rem auto 0;
  position: relative;
  background: #fff;
  border-radius: 4rem;
  font-size: 2.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: 0.4s;
  transition-property: background-color, color;
}

@media screen and (max-width: 1023px) {
  .reason.contact .btn {
    width: auto;
    height: 6rem;
    margin: 3rem 0 0;
    border-radius: 3rem;
    font-size: 2.2rem;
  }
}
.reason.contact .btn::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 2.5rem;
  right: 3rem;
  background: #143C6C url(../img/button_icon_big_arrow_white.png) 50% 50%/0.5rem auto no-repeat;
  border-radius: 50%;
  transition: 0.4s;
  transition-property: background-color;
}

@media screen and (max-width: 1023px) {
  .reason.contact .btn::after {
    width: 2.4rem;
    height: 2.4rem;
    top: 1.8rem;
    right: 2rem;
  }
}
.reason.contact .btn:hover {
  background-color: #143C6C;
  color: #fff;
}

.reason.contact .btn:hover::after {
  background-color: #fff;
  background-image: url(../img/button_icon_big_arrow_darkblue.png);
}

.reason.contact .image {
  width: 15rem;
  position: absolute;
  right: calc(50% + 12rem);
  bottom: 2rem;
  pointer-events: none;
}

@media screen and (max-width: 1023px) {
  .reason.contact .image {
    display: none;
  }
}
.reason.promiss {
  position: relative;
}

.reason.promiss .prepend {
  background: #E2F0F8;
}

.reason.promiss .prepend .container {
  padding: 9rem 0 5rem;
  background-image: url(../img/reason_illust_08.png);
  background-position: calc(100% - 15rem) calc(100% + 0.5rem);
  background-size: 14.5rem auto, 10rem auto;
  background-repeat: no-repeat;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .prepend .container {
    padding: 4rem 2.2rem;
    background-position: calc(100% - 0rem) calc(100% + 4rem);
  }
}
.reason.promiss .prepend .ttl {
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.reason.promiss .prepend .ttl .sub,
.reason.promiss .prepend .ttl .main {
  display: block;
}

.reason.promiss .prepend .ttl .sub {
  color: #0E86C2;
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .prepend .ttl .sub {
    font-size: 2rem;
  }
}
.reason.promiss .prepend .ttl .main {
  margin-top: 1rem;
  font-size: 3rem;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .prepend .ttl .main {
    font-size: 2.6rem;
  }
}
.reason.promiss .prepend .text {
  padding: 3rem 0 0;
  line-height: 1.875;
  text-align: center;
}

.reason.promiss .body {
  border-bottom: 12rem solid #E2F0F8;
  padding: 7rem 0 8rem;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .body {
    border-bottom: none;
    padding: 0;
  }
}
.reason.promiss .body .menu {
  display: flex;
  justify-content: space-between;
  max-width: 80rem;
  margin: 0 auto;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .body .menu {
    flex-direction: column;
    gap: 1rem;
  }
}
.reason.promiss .body .menu a {
  display: grid;
  place-items: center;
  width: 26rem;
  height: 5rem;
  background: #143C6C url(../img/button_icon_arrow_down.png) calc(100% - 2.4rem) 50%/1rem auto no-repeat;
  border-radius: 2.5rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: inset 0 0 0 1px #143C6C;
  transition: 0.4s;
  transition-property: background-color, color;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .body .menu a {
    margin: 0 auto;
  }
}
.reason.promiss .body .menu a:hover {
  background-color: #fff;
  background-image: url(../img/button_icon_arrow_down_darkblue.png);
  color: #143C6C;
}

.reason.promiss .body .group {
  max-width: 80rem;
  margin: 0 auto;
  position: relative;
}

.reason.promiss .body .group .sttl {
  color: #0E86C2;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .body .group .sttl {
    font-size: 2rem;
  }
}
.reason.promiss .body .group .sttl + .item {
  margin: 3rem 0 0;
  border-top: 1px solid #E9E5E0;
}

.reason.promiss .body .group .item {
  border-bottom: 1px solid #E9E5E0;
  transition: padding 0.4s;
}

.reason.promiss .body .group .item .summary {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 7rem;
  padding: 1rem 6rem;
  position: relative;
  background: url(../img/factory_tosou_icon_light.png) 1.5rem 1.7rem/3.6rem auto no-repeat;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5555555556;
  cursor: pointer;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .body .group .item .summary {
    padding: 0.6rem 5rem;
    background-position: 1rem 1.7rem;
    background-size: 3rem;
  }
}
.reason.promiss .body .group .item .summary::after {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  top: 2.6rem;
  right: 2rem;
  background: #0E86C2 url(../img/button_icon_arrow_down.png) 50% 50%/0.7rem auto no-repeat;
  border-radius: 0.9rem;
  transition: transform 0.4s;
}

.reason.promiss .body .group .item .detail {
  display: none;
  padding: 4rem 6rem;
  background: #ECF4F8;
  font-size: 1.5rem;
  line-height: 1.6666666667;
}

.reason.promiss .body .group .item .detail em {
  color: #3087c2;
}

.reason.promiss .body .group .item .detail .license_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  background: #fff;
  border-radius: 1rem;
  padding: 3rem 5rem;
  margin: 3rem 0 1rem;
  position: relative;
}

.reason.promiss .body .group .item .detail .license_list::before {
  content: "";
  background-image: url(../img/exterior_reform_illust_08.png);
  width: 100px;
  height: 150px;
  display: inline-block;
  position: absolute;
  right: -25px;
  bottom: -10px;
}

.reason.promiss .body .group .item .detail .license_list li {
  list-style: circle;
  width: 48%;
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}

.reason.promiss .body .group .item .detail .guarantee {
  margin: 3rem 0 1rem;
  background: #fff;
  border-radius: 1rem;
  padding: 3.5rem 4rem 3rem;
  font-size: 1.45rem;
  position: relative;
}

.reason.promiss .body .group .item .detail .guarantee::before {
  content: "";
  background-image: url(../img/exterior_reform_illust_08.png);
  width: 100px;
  height: 150px;
  display: inline-block;
  position: absolute;
  right: -25px;
  bottom: -10px;
}

.reason.promiss .body .group .item .detail .guarantee dt {
  color: #3087c2;
  background: url(../img/exterior_reform_blt02.png) 0 50%/2rem auto no-repeat;
  margin-bottom: 0.5rem;
  padding-left: 2.5rem;
}

.reason.promiss .body .group .item .detail .guarantee dd {
  margin-bottom: 1.5rem;
}

.reason.promiss .body .group .item .detail .image_list {
  display: flex;
  gap: 3rem;
  margin: 3px 0 1rem;
  padding-top: 3rem;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .body .group .item .detail {
    background-position: 1rem 1.7rem;
    background-size: 3rem;
    padding: 3rem;
  }
  .reason.promiss .body .group .item .detail .license_list {
    padding: 3rem;
  }
  .reason.promiss .body .group .item .detail .license_list li {
    width: 45%;
  }
  .reason.promiss .body .group .item .detail .guarantee {
    padding: 3rem;
  }
}
.reason.promiss .body .group .item.active {
  padding: 0 0 2.5rem;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .body .group .item.active {
    padding: 0 0 2rem;
  }
}
.reason.promiss .body .group .item.active .summary::after {
  transform: scale(1, -1);
}

.reason.promiss .body .group + .group {
  margin-top: 9.5rem;
}

@media screen and (max-width: 1023px) {
  .reason.promiss .body .group + .group {
    margin-top: 4rem;
  }
}
.reason.history,
.reason.trust {
  position: relative;
}

.reason.history .prepend,
.reason.trust .prepend {
  padding: 0rem 0 3rem;
}

@media screen and (max-width: 1023px) {
  .reason.history .prepend,
  .reason.trust .prepend {
    padding: 0 0 4rem;
  }
}
.reason.history .prepend .ttl,
.reason.trust .prepend .ttl {
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.reason.history .prepend .ttl .sub,
.reason.history .prepend .ttl .main,
.reason.trust .prepend .ttl .sub,
.reason.trust .prepend .ttl .main {
  display: block;
}

.reason.history .prepend .ttl .sub,
.reason.trust .prepend .ttl .sub {
  color: #0E86C2;
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
}

@media screen and (max-width: 1023px) {
  .reason.history .prepend .ttl .sub,
  .reason.trust .prepend .ttl .sub {
    font-size: 2rem;
  }
}
.reason.history .prepend .ttl .main,
.reason.trust .prepend .ttl .main {
  margin-top: 1rem;
  font-size: 3rem;
}

@media screen and (max-width: 1023px) {
  .reason.history .prepend .ttl .main,
  .reason.trust .prepend .ttl .main {
    font-size: 2.6rem;
  }
}
.reason.history .prepend .text {
  padding: 3rem 0 0;
  line-height: 1.875;
  text-align: center;
}

.reason.history .prepend .image {
  max-width: 62rem;
  margin: 5rem auto 0;
}

@media screen and (max-width: 1023px) {
  .reason.history .prepend .image {
    margin: 4rem auto 0;
  }
}
.reason.history .body,
.reason.trust .body {
  padding: 4rem 0 9rem;
}

@media screen and (max-width: 1023px) {
  .reason.history .body,
  .reason.trust .body {
    padding: 0;
  }
}
.reason.history .body .item,
.reason.trust .body .item {
  display: flex;
  justify-content: space-evenly;
  max-width: 96rem;
  margin: 0 auto;
  padding: 4rem 0 3rem;
  position: relative;
  background: #ECF4F8;
  border-radius: 4rem 1rem 1rem 1rem;
  flex-wrap: wrap;
  align-items: center;
}

.reason.history .body .item:nth-of-type(odd),
.reason.trust .body .item:nth-of-type(odd) {
  flex-direction: row-reverse;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item,
  .reason.trust .body .item {
    display: block;
    padding: 3rem 2rem;
  }
}
.reason.history .body .item .num {
  width: 12rem;
  color: #0E86C2;
  font-size: 4rem;
  font-weight: 500;
  line-height: 3rem;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item .num {
    grid-row: 1/2;
    grid-column: 1/2;
    width: auto;
    font-size: 3rem;
  }
}
.reason.history .body .item .num::after {
  content: "";
  display: block;
  width: 1px;
  position: absolute;
  top: 9.3rem;
  left: 6rem;
  bottom: -3.3rem;
  background: #0E86C2;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item .num::after {
    content: none;
  }
}
.reason.history .body .item .text {
  width: 60rem;
  margin: 0 2rem 0 0;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item .text {
    width: auto;
    margin: 2rem 0 0;
  }
}
.reason.history .body .item .text .name {
  color: #0E86C2;
  font-size: 2rem;
  font-weight: 700;
  line-height: 3rem;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item .text .name {
    line-height: 1;
  }
}
.reason.history .body .item .text p,
.reason.history .body .item .text ul {
  padding: 2.5rem 0 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6666666667;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item .text p,
  .reason.history .body .item .text ul {
    padding: 2rem 0 0;
  }
}
.reason.history .body .item .text p a,
.reason.history .body .item .text ul a {
  color: #0E86C2;
  text-decoration: none;
}

.reason.history .body .item .text p a:hover,
.reason.history .body .item .text ul a:hover {
  text-decoration: underline;
}

.reason.history .body .item .text ul {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item .text ul {
    display: block;
  }
}
.reason.history .body .item .text ul li:nth-child(odd) {
  width: 27rem;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item .text ul li:nth-child(odd) {
    width: auto;
  }
}
.reason.history .body .item .text ul li:nth-child(even) {
  width: calc(100% - 27rem);
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item .text ul li:nth-child(even) {
    width: auto;
  }
}
.reason.history .body .item .image {
  width: 18rem;
  align-self: center;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item .image {
    margin: 1rem auto 0;
  }
}
.reason.history .body .item + .item {
  margin-top: 5rem;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item + .item {
    margin-top: 4rem;
  }
}
.reason.history .body .item .image-list {
  max-width: 83rem;
  margin: 3rem auto;
}

.reason.history .body .item .image-list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

.reason.history .body .item .image-list ul li p {
  font-size: 1.5rem;
  text-align: center;
  margin-top: 0.5rem;
}

@media screen and (max-width: 1023px) {
  .reason.history .body .item .image-list ul li {
    width: 45%;
  }
}
.reason.history .body .item:last-child .num::after {
  content: none;
}

/*　trust */
.reason.trust .prepend .text {
  padding: 3rem 0 0;
  line-height: 1.875;
  text-align: center;
  font-size: 1.8rem;
}

.reason.trust .body .item .text {
  width: 35%;
  margin: 0 2rem 0 0;
}

@media screen and (max-width: 1023px) {
  .reason.trust .body .item .text {
    width: auto;
    margin: 2rem 0 0;
  }
}
.reason.trust .body .item .text .name {
  color: #0E86C2;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 3rem;
}

@media screen and (max-width: 1023px) {
  .reason.trust .body .item .text .name {
    line-height: 1;
  }
}
.reason.trust .body .item .text p {
  padding: 2.5rem 0 0;
  font-size: 1.7rem;
  line-height: 1.6666666667;
}

@media screen and (max-width: 1023px) {
  .reason.trust .body .item .text p {
    padding: 2rem 0 0;
  }
}
.reason.trust .body .item .image {
  width: 50%;
  align-self: center;
}

@media screen and (max-width: 1023px) {
  .reason.trust .body .item .image {
    width: 100%;
    margin: 1rem auto 0;
  }
}
.reason.trust .body .item + .item {
  margin-top: 5rem;
}

@media screen and (max-width: 1023px) {
  .reason.trust .body .item + .item {
    margin-top: 4rem;
  }
}
main:has(.reason) + footer::before {
  content: none;
}


/*# amadoi */
section.roof-amadoi .container {
  padding-top: 7.3rem;
  padding-bottom: 6.3rem;
}

section.roof-amadoi .page-title {
  margin-bottom: 10rem;
}

section.roof-amadoi .page-subtitle {
  margin-bottom: 5rem;
}

section.roof-amadoi .wrap {
  margin-bottom: 10.5rem;
}

section.roof-amadoi .block-image {
  max-width: 110rem;
  margin: 0 auto;
  margin-bottom: 4rem;
}

section.roof-amadoi .block-image .content h4 {
  font-size: 2.2rem;
  margin-bottom: 2.2rem;
  font-weight: bold;
}

section.roof-amadoi .block-image .content h4 span {
  color: #0E86C2;
}

section.roof-amadoi .block-image .content .text {
  line-height: 1.75;
}

section.roof-amadoi .block-image .content .text p {
  margin-bottom: 3rem;
}

section.roof-amadoi .block-image .content .text p span {
  font-weight: 700;
  border-bottom: 2px solid #2c2325;
}

section.roof-amadoi .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

@media screen and (min-width: 1024px) {
  section.roof-amadoi .block-image {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
  }
  section.roof-amadoi .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.roof-amadoi .block-image .image {
    width: calc(50% - 1rem);
    max-width: 50rem;
  }
  section.roof-amadoi .block-image .content {
    width: calc(48% - 1rem);
    max-width: 48rem;
  }
}
@media screen and (max-width: 1023px) {
  section.roof-amadoi .page-title {
    margin-bottom: 5rem;
  }
  section.roof-amadoi .block-image {
    margin-bottom: 0;
  }
  section.roof-amadoi .block-image .image {
    margin-bottom: 2rem;
  }
  section.amadoi-point .container .lead {
    text-align: left;
    margin-bottom: 4rem;
  }
}
section.amadoi-point .container {
  max-width: 120rem;
  padding-top: 8.5rem;
  padding-bottom: 5rem;
}

section.amadoi-point .container .page-subtitle .sub {
  position: absolute;
  top: -8rem;
  left: 50%;
  padding: 0 2rem;
  background: #FFCA10;
  border-radius: 3rem;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 6rem;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

section.amadoi-point .container .page-subtitle .sub::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 2.2rem;
  position: absolute;
  top: 100%;
  left: calc(50% - 0.4rem);
  background: #FFCA10;
  -webkit-clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
  clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
}

section.amadoi-point .container .lead {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 8rem;
}

section.amadoi-point .container .block {
  max-width: 96rem;
  margin: 0 auto;
  background-color: #ffffff;
}

section.amadoi-point .container .block ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}

section.amadoi-point .container .block ul::after {
  content: "";
  width: calc(33.3% - 1rem);
  max-width: 27rem;
  display: block;
}

section.amadoi-point .container .block ul li {
  width: calc(33.3% - 1rem);
  max-width: 27rem;
  margin-bottom: 2rem;
  align-self: stretch;
}

section.amadoi-point .container .block ul li .text {
  font-weight: 600;
  text-align: center;
  font-size: 1.5rem;
  padding: 1rem 0;
}

section.amadoi-point .container .block ul li .text em {
  color: #3087c2;
}

@media screen and (max-width: 1023px) {
  section.amadoi-point .container .block {
    background: unset;
  }
  section.amadoi-point .container .block ul li {
    width: calc(50% - 1rem);
  }
}
section.amadoi-about .prepend {
  background: #e2f0f8;
  padding-top: 7.5rem;
}

section.amadoi-about .prepend .container {
  padding: 5rem;
  background: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-image: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-position: 13rem calc(100% + 4.5rem), calc(100% - 12rem) calc(100% + 4.6rem);
  background-size: 7.5rem auto, 10rem auto;
  background-repeat: no-repeat;
}

section.amadoi-about .page-subtitle {
  margin-bottom: 5rem;
}

section.amadoi-about .prepend .lead {
  text-align: center;
  line-height: 1.75;
  font-size: 1.8rem;
}

section.amadoi-about .body {
  padding: 7rem 0 8rem;
}

section.amadoi-about .body .block-image {
  display: flex;
  margin: 0 auto;
  max-width: 100rem;
  justify-content: space-around;
  align-items: center;
}

section.amadoi-about .body .block-image .image {
  width: 40%;
}

section.amadoi-about .body .block-image .content {
  line-height: 2;
  width: 48%;
}

section.amadoi-about .body .block-image .content em {
  color: #3087c2;
}

@media screen and (max-width: 1023px) {
  section.amadoi-about .prepend {
    padding-top: 2rem;
  }
  section.amadoi-about .prepend .container {
    padding: 5rem 3rem 10rem;
  }
  section.amadoi-about .prepend .lead {
    text-align: left;
  }
  section.amadoi-about .body {
    padding-bottom: 5rem;
  }
  section.amadoi-about .body .block-image {
    flex-wrap: wrap;
  }
  section.amadoi-about .body .block-image .image,
  section.amadoi-about .body .block-image .content {
    width: 85%;
  }
}
/*# roof_repair */
section.roof-repair-point .container {
  padding-top: 8.5rem;
  padding-bottom: 1.5rem;
  max-width: 120rem;
}

section.roof-repair-point .page-subtitle {
  margin-bottom: 8rem;
  position: relative;
}

section.roof-repair-point .page-subtitle::before {
  content: "";
  background-image: url(../img/exterior_reform_blt01.png);
  position: absolute;
  top: -67px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 62px;
  height: 55px;
}

section.roof-repair-point .lead {
  text-align: center;
  margin-bottom: 7rem;
  font-size: 1.8rem;
  line-height: 2;
}

section.roof-repair-point .lead span {
  font-weight: 800;
}

section.roof-repair-point .block {
  max-width: 96rem;
  margin: 0 auto;
  background-color: #ffffff;
}

section.roof-repair-point .block h4 {
  position: relative;
  margin-bottom: 3.3rem;
  text-align: center;
}

section.roof-repair-point .block h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  background: #0E86C2;
}

section.roof-repair-point .block h4 span {
  display: inline-block;
  background: #E2F0F8;
  padding: 0 2rem;
  position: relative;
  z-index: 2;
  font-size: 1.8rem;
}

section.roof-repair-point .block h4 span::before {
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/termites_checkpoint_icon_check.png) 0 0/100% auto no-repeat;
  margin-right: 2rem;
}

section.roof-repair-point .block ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 5.3rem;
}

section.roof-repair-point .block ul li {
  width: calc(25% - 1rem);
  max-width: 27rem;
  overflow: hidden;
}

section.roof-repair-point .block ul li .image img {
  border-radius: 10px;
}

section.roof-repair-point .block ul li .text {
  text-align: center;
  padding: 2.5rem 1rem;
  background: #fff;
  color: #0E86C2;
  line-height: 1.2;
  font-weight: 600;
}

section.roof-repair-point .roof-index {
  text-align: center;
  position: relative;
  padding: 7.5rem 0 6rem;
}

section.roof-repair-point .roof-index::before {
  content: "";
  display: block;
  width: 9rem;
  height: 4rem;
  position: absolute;
  top: 0;
  left: calc(50% - 4.5rem);
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

section.roof-repair-point .roof-index .image {
  width: 15rem;
  margin: 0 auto;
}

section.roof-repair-point .roof-index .text {
  line-height: 1.75;
  font-size: 2rem;
  font-weight: 700;
  padding: 3rem 0 0;
}

section.roof-repair-point .roof-index .text em {
  color: #0e86c2;
}

@media screen and (max-width: 1023px) {
  section.roof-repair-point .container {
    padding-bottom: 0;
  }
  section.roof-repair-point .page-subtitle {
    margin-bottom: 5rem;
  }
  section.roof-repair-point .lead {
    text-align: left;
    margin-bottom: 4rem;
  }
  section.roof-repair-point .block ul {
    padding: 1.5rem;
    margin-bottom: 0;
  }
  section.roof-repair-point .block ul li {
    width: calc(50% - 1rem);
  }
  section.roof-repair-point .block ul li .text {
    padding: 1.5rem 1rem;
    font-size: 1.5rem;
  }
  section.roof-repair-point .roof-index .image {
    width: 6rem;
  }
}
@media screen and (max-width: 780px) {
  section.roof-repair-point .container {
    padding-top: 5.5rem;
  }
  section.roof-repair-point .block {
    border-radius: 1rem;
  }
  section.roof-repair-point .roof-index {
    padding-top: 6rem;
  }
  section.roof-repair-point .roof-index .menu {
    gap: 1.5rem;
  }
  section.roof-repair-point .roof-index .text {
    line-height: 1.5;
    font-size: 1.5rem;
    font-weight: 600;
    padding: 1.5rem 0 0;
  }
}
section.roof-repair-kouzou .container {
  padding-top: 7.5rem;
  padding-bottom: 5rem;
}

section.roof-repair-kouzou .page-subtitle2 {
  margin-bottom: 7rem;
}

section.roof-repair-kouzou .page-subtitle2::before {
  content: none;
}

section.roof-repair-kouzou .page-subtitle2 span {
  position: absolute;
  top: -8rem;
  left: 50%;
  padding: 0 2rem;
  background: #FFCA10;
  border-radius: 3rem;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 6rem;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

section.roof-repair-kouzou .page-subtitle2 span::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 2.2rem;
  position: absolute;
  top: 100%;
  left: calc(50% - 0.4rem);
  background: #FFCA10;
  -webkit-clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
  clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
}

section.roof-repair-kouzou .block-image {
  max-width: 104rem;
  margin: 0 auto;
  margin-bottom: 4rem;
  background: #e2f0f8;
  border-radius: 1rem;
  padding: 3rem;
}

section.roof-repair-kouzou .block-image .content .text {
  line-height: 1.75;
}

section.roof-repair-kouzou .block-image .content .text p {
  margin-bottom: 3rem;
}

section.roof-repair-kouzou .block-image .content .text p span {
  font-weight: 700;
  border-bottom: 2px solid #2c2325;
}

section.roof-repair-kouzou .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

section.roof-repair-kouzou .button-wrap {
  margin-top: 10.5rem;
}

section.roof-repair-kouzou .button-wrap .text01 {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.roof-repair-kouzou .button-wrap .text02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  color: #3087c2;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.roof-repair-kouzou .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.roof-repair-kouzou .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #0E86C2;
  background: #fff url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
  padding: 2.8rem 11.5rem 2.8rem 20rem;
  box-shadow: 0.5rem 0.5rem #FEF283;
  font-size: 2.5rem;
  font-weight: 600;
  transition: all 200ms 0s ease;
}

section.roof-repair-kouzou .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 1.1rem;
  height: 2rem;
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
  margin-left: 2.5rem;
}

section.roof-repair-kouzou .button-wrap .button a:hover {
  color: #fff;
  background: #0E86C2 url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
}

section.roof-repair-kouzou .button-wrap .button a:hover::after {
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.roof-repair-kouzou .block-image {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.roof-repair-kouzou .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.roof-repair-kouzou .block-image .image {
    width: calc(44% - 1rem);
    max-width: 50rem;
  }
  section.roof-repair-kouzou .block-image .content {
    line-height: 2;
    width: calc(53% - 1rem);
    max-width: 55rem;
  }
}
@media screen and (max-width: 1023px) {
  section.roof-repair-kouzou .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #143c6c url(../img/door_icon_mail.png) 2.5rem 50%/4.3rem auto no-repeat;
  }
  section.roof-repair-kouzou .block-image .image {
    margin-bottom: 2rem;
  }
  section.roof-repair-kouzou .page-subtitle2 span {
    font-size: 2rem;
  }
}
@media screen and (max-width: 780px) {
  section.roof-repair-kouzou .container {
    padding-top: 5rem 2.2rem 2rem;
  }
  section.roof-repair-kouzou .page-subtitle2 {
    margin-bottom: 4rem;
  }
  section.roof-repair-kouzou .block-image {
    margin-bottom: 5rem;
  }
  section.roof-repair-kouzou .block-image .content h4 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
section.roof-repair-cover .page-subtitle {
  margin-bottom: 5rem;
}

section.roof-repair-cover .prepend {
  background: #e2f0f8;
  padding-top: 10rem;
}

section.roof-repair-cover .prepend .container {
  padding: 5rem;
  background: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-image: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-position: 13rem calc(100% + 4.5rem), calc(100% - 12rem) calc(100% + 4.6rem);
  background-size: 7.5rem auto, 10rem auto;
  background-repeat: no-repeat;
}

section.roof-repair-cover .prepend .lead {
  text-align: center;
  line-height: 1.75;
  font-size: 1.8rem;
}

section.roof-repair-cover .body {
  padding: 7rem 0 8rem;
}

section.roof-repair-cover .body .block-image {
  display: flex;
  margin: 0 auto;
  max-width: 110rem;
  justify-content: space-around;
  align-items: center;
}

section.roof-repair-cover .body .block-image .image {
  width: 32%;
}

section.roof-repair-cover .body .block-image .content {
  width: 60%;
  line-height: 2;
}

section.roof-repair-cover .body .block-image .content em {
  color: #ff5722;
}

section.roof-repair-cover .construction-blc {
  border: 2px solid #3186c2;
  max-width: 84rem;
  margin: 6rem auto 14rem;
}

section.roof-repair-cover .construction-blc .construction_title {
  text-align: center;
  background: #3086c2;
  padding: 1rem 0;
  color: #fff;
  font-weight: 600;
}

section.roof-repair-cover .construction-blc ul {
  padding: 3rem;
  display: flex;
  justify-content: space-between;
  gap: 1.8rem;
  flex-wrap: wrap;
}

section.roof-repair-cover .construction-blc ul li {
  width: 48%;
}

section.roof-repair-cover .construction-blc ul li p {
  text-align: center;
  font-size: 1.4rem;
  padding-top: 1rem;
}

@media screen and (max-width: 1023px) {
  section.roof-repair-cover .prepend {
    padding-top: 2rem;
  }
  section.roof-repair-cover .prepend .container {
    padding: 5rem 3rem 11rem;
    background-position: 10rem calc(100% + 4.5rem), calc(100% - 10rem) calc(100% + 4.6rem);
  }
  section.roof-repair-cover .prepend .lead {
    text-align: left;
  }
  section.roof-repair-cover .body {
    padding: 0;
  }
  section.roof-repair-cover .body .block-image {
    display: block;
    padding: 1.5rem;
  }
  section.roof-repair-cover .body .block-image .image {
    margin-bottom: 30px;
    width: 100%;
    text-align: center;
  }
  section.roof-repair-cover .body .block-image .content {
    width: 100%;
  }
  section.roof-repair-cover .construction-blc {
    border: none;
    margin-bottom: 4rem;
  }
  section.roof-repair-cover .construction-blc ul li {
    width: 46%;
  }
}
/*# wall_repair */
section.wall-repair-point .container {
  padding-top: 8.5rem;
  padding-bottom: 1.5rem;
  max-width: 120rem;
}

section.wall-repair-point .page-subtitle {
  margin-bottom: 8rem;
  position: relative;
}

section.wall-repair-point .page-subtitle::before {
  content: "";
  background-image: url(../img/exterior_reform_blt01.png);
  position: absolute;
  top: -67px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 62px;
  height: 55px;
}

section.wall-repair-point .lead {
  text-align: center;
  margin-bottom: 7rem;
  font-size: 1.8rem;
  line-height: 2;
}

section.wall-repair-point .lead span {
  font-weight: 800;
}

section.wall-repair-point .block {
  max-width: 96rem;
  margin: 0 auto;
  background-color: #ffffff;
}

section.wall-repair-point .block h4 {
  position: relative;
  margin-bottom: 3.3rem;
  text-align: center;
}

section.wall-repair-point .block h4::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  background: #0E86C2;
}

section.wall-repair-point .block h4 span {
  display: inline-block;
  background: #E2F0F8;
  padding: 0 2rem;
  position: relative;
  z-index: 2;
  font-size: 1.8rem;
}

section.wall-repair-point .block h4 span::before {
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/termites_checkpoint_icon_check.png) 0 0/100% auto no-repeat;
  margin-right: 2rem;
}

section.wall-repair-point .block ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 5.3rem;
}

section.wall-repair-point .block ul::after {
  display: block;
  content: "";
  width: calc(33% - 1rem);
  max-width: 33rem;
}

section.wall-repair-point .block ul li {
  width: calc(33% - 1rem);
  max-width: 33rem;
  overflow: hidden;
}

section.wall-repair-point .block ul li .text {
  text-align: center;
  padding: 2.5rem 1rem;
  background: #fff;
  color: #0E86C2;
  line-height: 1.2;
  font-weight: 600;
}

section.wall-repair-point .wall-index {
  text-align: center;
  position: relative;
  padding: 7.5rem 0 6rem;
}

section.wall-repair-point .wall-index::before {
  content: "";
  display: block;
  width: 9rem;
  height: 4rem;
  position: absolute;
  top: 0;
  left: calc(50% - 4.5rem);
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

section.wall-repair-point .wall-index .image {
  width: 15rem;
  margin: 0 auto;
}

section.wall-repair-point .wall-index .text {
  line-height: 1.75;
  font-size: 2rem;
  font-weight: 700;
  padding: 3rem 0 0;
}

section.wall-repair-point .wall-index .text em {
  color: #0e86c2;
}

@media screen and (max-width: 1023px) {
  section.wall-repair-point .container {
    padding-bottom: 0;
  }
  section.wall-repair-point .page-subtitle {
    margin-bottom: 5rem;
  }
  section.wall-repair-point .lead {
    text-align: left;
    margin-bottom: 4rem;
  }
  section.wall-repair-point .block ul {
    padding: 1.5rem;
    margin-bottom: 0;
  }
  section.wall-repair-point .block ul li {
    width: calc(50% - 1rem);
  }
  section.wall-repair-point .block ul li .text {
    padding: 1.5rem 1rem;
    font-size: 1.5rem;
  }
  section.wall-repair-point .wall-index .image {
    width: 6rem;
  }
}
@media screen and (max-width: 780px) {
  section.wall-repair-point .container {
    padding-top: 5.5rem;
  }
  section.wall-repair-point .block {
    border-radius: 1rem;
  }
  section.wall-repair-point .wall-index {
    padding-top: 6rem;
  }
  section.wall-repair-point .wall-index .menu {
    gap: 1.5rem;
  }
  section.wall-repair-point .wall-index .text {
    line-height: 1.5;
    font-size: 1.5rem;
    font-weight: 600;
    padding: 1.5rem 0 0;
  }
}
section.wall-repair-kouzou .container {
  padding-top: 7.5rem;
  padding-bottom: 5rem;
}

section.wall-repair-kouzou .page-subtitle2 {
  margin-bottom: 7rem;
}

section.wall-repair-kouzou .page-subtitle2::before {
  content: none;
}

section.wall-repair-kouzou .page-subtitle2 span {
  position: absolute;
  top: -8rem;
  left: 50%;
  padding: 0 2rem;
  background: #FFCA10;
  border-radius: 3rem;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 6rem;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

section.wall-repair-kouzou .page-subtitle2 span::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 2.2rem;
  position: absolute;
  top: 100%;
  left: calc(50% - 0.4rem);
  background: #FFCA10;
  -webkit-clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
  clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
}

section.wall-repair-kouzou .block-image {
  max-width: 104rem;
  margin: 0 auto;
  margin-bottom: 4rem;
  background: #e2f0f8;
  border-radius: 1rem;
  padding: 3rem;
}

section.wall-repair-kouzou .block-image .content .text {
  line-height: 1.75;
}

section.wall-repair-kouzou .block-image .content .text p {
  margin-bottom: 3rem;
}

section.wall-repair-kouzou .block-image .content .text p span {
  font-weight: 700;
  border-bottom: 2px solid #2c2325;
}

section.wall-repair-kouzou .block-image .content .text p:last-child {
  margin-bottom: 0rem;
}

section.wall-repair-kouzou .button-wrap {
  margin-top: 10.5rem;
}

section.wall-repair-kouzou .button-wrap .text01 {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.wall-repair-kouzou .button-wrap .text02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/termites_button_icon_left.png) 0% 50%/0.9rem auto no-repeat, url(../img/termites_button_icon_right.png) 100% 50%/0.9rem auto no-repeat;
  padding: 0 1.5rem 0.5rem 1.5rem;
  color: #3087c2;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.8rem;
}

section.wall-repair-kouzou .button-wrap .button {
  text-align: center;
  margin-top: 1rem;
}

section.wall-repair-kouzou .button-wrap .button a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border: solid 0.2rem #0E86C2;
  border-radius: 10rem;
  text-align: center;
  text-decoration: none;
  color: #0E86C2;
  background: #fff url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
  padding: 2.8rem 11.5rem 2.8rem 20rem;
  box-shadow: 0.5rem 0.5rem #FEF283;
  font-size: 2.5rem;
  font-weight: 600;
  transition: all 200ms 0s ease;
}

section.wall-repair-kouzou .button-wrap .button a::after {
  content: "";
  display: inline-block;
  width: 1.1rem;
  height: 2rem;
  background: url(../img/button_icon_big_arrow_blue.png) center/100% auto no-repeat;
  margin-left: 2.5rem;
}

section.wall-repair-kouzou .button-wrap .button a:hover {
  color: #fff;
  background: #0E86C2 url(../img/termites_button_icon_search.png) 10.3rem 50%/7.6rem auto no-repeat;
}

section.wall-repair-kouzou .button-wrap .button a:hover::after {
  background: url(../img/button_icon_big_arrow_white.png) center/100% auto no-repeat;
}

@media screen and (min-width: 1024px) {
  section.wall-repair-kouzou .block-image {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  section.wall-repair-kouzou .block-image:nth-child(3) {
    flex-direction: row-reverse;
  }
  section.wall-repair-kouzou .block-image .image {
    width: calc(44% - 1rem);
    max-width: 50rem;
  }
  section.wall-repair-kouzou .block-image .content {
    line-height: 2;
    width: calc(53% - 1rem);
    max-width: 55rem;
  }
}
@media screen and (max-width: 1023px) {
  section.wall-repair-kouzou .button-wrap .button a {
    padding-left: 8rem;
    padding-right: 8rem;
    background: #143c6c url(../img/door_icon_mail.png) 2.5rem 50%/4.3rem auto no-repeat;
  }
  section.wall-repair-kouzou .block-image .image {
    margin-bottom: 2rem;
  }
  section.wall-repair-kouzou .page-subtitle2 span {
    font-size: 2rem;
  }
}
@media screen and (max-width: 780px) {
  section.wall-repair-kouzou .container {
    padding-top: 5rem 2.2rem 2rem;
  }
  section.wall-repair-kouzou .page-subtitle2 {
    margin-bottom: 4rem;
  }
  section.wall-repair-kouzou .block-image {
    margin-bottom: 5rem;
  }
  section.wall-repair-kouzou .block-image .content h4 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
section.wall-repair-cover .page-subtitle {
  margin-bottom: 5rem;
}

section.wall-repair-cover .prepend {
  background: #e2f0f8;
  padding-top: 10rem;
}

section.wall-repair-cover .prepend .container {
  padding: 5rem;
  background: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-image: url(../img/exterior_reform_illust_07.png), url(../img/exterior_reform_illust_08.png);
  background-position: 13rem calc(100% + 4.5rem), calc(100% - 12rem) calc(100% + 4.6rem);
  background-size: 7.5rem auto, 10rem auto;
  background-repeat: no-repeat;
}

section.wall-repair-cover .prepend .lead {
  text-align: center;
  line-height: 1.75;
  font-size: 1.8rem;
}

section.wall-repair-cover .body {
  padding: 7rem 0 8rem;
}

section.wall-repair-cover .body .block-image {
  display: flex;
  margin: 0 auto;
  max-width: 100rem;
  justify-content: space-around;
  align-items: center;
}

section.wall-repair-cover .body .block-image .image {
  width: 50%;
}

section.wall-repair-cover .body .block-image .content {
  width: 50%;
  line-height: 2;
}

section.wall-repair-cover .body .block-image .content em {
  color: #0e86c2;
}

section.wall-repair-cover .construction-blc {
  border: 2px solid #3186c2;
  max-width: 84rem;
  margin: 6rem auto 14rem;
}

section.wall-repair-cover .construction-blc .construction_title {
  text-align: center;
  background: #3086c2;
  padding: 1rem 0;
  color: #fff;
  font-weight: 600;
}

section.wall-repair-cover .construction-blc ul {
  padding: 3rem;
  display: flex;
  justify-content: space-between;
  gap: 1.8rem;
}

section.wall-repair-cover .construction-blc ul li p {
  text-align: center;
  font-size: 1.4rem;
  padding-top: 1rem;
}

@media screen and (max-width: 1023px) {
  section.wall-repair-cover .prepend {
    padding-top: 2rem;
  }
  section.wall-repair-cover .prepend .container {
    padding: 5rem 3rem 11rem;
    background-position: 10rem calc(100% + 4.5rem), calc(100% - 10rem) calc(100% + 4.6rem);
  }
  section.wall-repair-cover .prepend .lead {
    text-align: left;
  }
  section.wall-repair-cover .body {
    padding: 0;
  }
  section.wall-repair-cover .body .block-image {
    display: block;
    padding: 1.5rem;
  }
  section.wall-repair-cover .body .block-image .image {
    margin-bottom: 30px;
    width: 100%;
    text-align: center;
  }
  section.wall-repair-cover .body .block-image .content {
    width: 100%;
  }
  section.wall-repair-cover .construction-blc {
    border: none;
    margin-bottom: 4rem;
  }
}
.bnr-list-three li {
  width: 33.333%;
}

header nav .gnavi > li.open > span {
  position: relative;
  z-index: 102;
  color: #fff;
}

.subgnavi-wrap {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 101;
  text-align: left;
}

.open .subgnavi-wrap {
  display: block;
}

.subgnavi {
  position: absolute;
  top: 10rem;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, 0%);
  max-width: 89rem;
  width: 100%;
  background: #fff;
  border-radius: 1rem;
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  padding: 3.6rem 3.5rem;
}

.subgnavi .caption {
  width: 20.2rem;
  border-right: solid 1px #2E3234;
}

.subgnavi .caption span,
.subgnavi .caption a {
  background: url(../img/button_icon_arrow_blue.png) 100% 50%/0.7rem auto no-repeat;
  padding-right: 2rem;
  font-weight: bold;
  font-size: 1.8rem;
}

.subgnavi ul {
  width: calc((100% - 20.2rem) / 2);
  padding: 0.5rem 0rem 0rem 4rem;
}

.subgnavi ul li a {
  text-decoration: none;
  display: block;
  background: url(../img/button_icon_arrow_blue.png) calc(100% - 1rem) 50%/0.7rem auto no-repeat;
  border-bottom: solid 1px #F0F0F0;
  padding-bottom: 0.7rem;
  margin-bottom: 0.7rem;
}

.subgnavi ul li a:hover {
  color: #0E86C2;
}

@media screen and (min-width: 1280px) {
  .subgnavi.right {
    left: unset;
    right: 20rem;
    transform: translate(0%, 0%);
  }
}
/*　　動画　movie　　*/
.movie {
  display: flex;
  gap: 4rem;
  justify-content: space-between;
  width: 100%;
}

@media screen and (max-width: 1023px) {
  .movie {
    display: block;
    aspect-ratio: 16/9;
  }
  iframe {
    width: 100%;
    height: 100%;
  }
  iframe:first-child {
    margin-bottom: 2rem;
  }
}
/*　　塗料　性能比較　paint-performance　　*/
section.paint-performance {
  padding-bottom: 0;
}

section.paint-performance .container {
  padding-bottom: 5rem;
}

.paint-performance li .performance table {
  font-size: 14px;
  font-weight: 500;
  max-width: 95%;
  width: 100%;
  margin: 0 auto;
}

.paint-performance li .performance table td {
  border: 1px solid #ddd;
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
}

.paint-performance li .performance table td:nth-child(odd) {
  background: #f9f7f2;
  border-right: 2px dotted #ddd;
  width: 30%;
}

.paint-performance li .performance table td:nth-child(even) {
  vertical-align: middle;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  section.paint-performance .container {
    padding-bottom: 2rem;
    margin-top: 5rem;
  }
  section.paint-performance .block ul li {
    max-width: 100%;
    width: auto;
    margin-bottom: 4rem;
  }
}
/*　シーリング防水　*/
section.sealing-point .block-image {
  max-width: 120rem;
  margin: 0 auto;
  margin-bottom: 10rem;
}

section.sealing-point .body {
  margin-bottom: 7rem;
  padding-bottom: 5rem;
}

@media screen and (max-width: 1023px) {
  section.sealing-point .body {
    padding-bottom: 0;
  }
  section.waterproof-method .lead {
    margin-bottom: 3rem;
  }
  section.sealing-point .block-image {
    padding: 0 2rem;
    gap: 2rem;
    flex-wrap: wrap;
    margin-bottom: 5rem;
  }
  section.waterproof-method .block-image .content,
  section.waterproof-method .block-image .image {
    width: 100%;
  }
  section.waterproof-method .block-image .image {
    order: 1;
  }
  section.waterproof-method .block-image .content {
    order: 2;
  }
}
/*　b/aの下に施工認定証　*/
.gensen_nintei {
  margin: 5rem auto 0;
  max-width: 84rem;
  background: #e2f0f8;
  border-radius: 10px;
  padding: 2rem 4rem 2rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
  position: relative;
}

.gensen_nintei .image {
  width: 35%;
}

.gensen_nintei .text {
  width: 58%;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 4rem;
  padding-bottom: 5rem;
}

.gensen_nintei .text .pick {
  color: #0D85C2;
}

.gensen_nintei figure {
  position: absolute;
  right: 13px;
  bottom: 3px;
  width: 140px;
}

@media screen and (max-width: 1023px) {
  .gensen_nintei {
    padding: 2rem;
  }
  .gensen_nintei .image {
    width: 25%;
  }
  .gensen_nintei .text {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 2.5rem;
    padding-bottom: 0;
  }
  .gensen_nintei figure {
    display: none;
  }
}
/*　アパート・マンション　price_menu　*/
section.apart-plan .container .price_menu {
  padding: 0 8rem;
}

section.apart-plan .container .price_menu .price_inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

section.apart-plan .container .price_menu .price_inner .price_set {
  border: 3px solid #153c6c;
  width: 48%;
  align-self: stretch;
}

section.apart-plan .container .price_menu .price_inner .price_set h4 {
  color: #fff;
  background: #153c6c;
  text-align: center;
  padding: 1.5rem;
  font-size: 2rem;
}

section.apart-plan .container .price_menu .price_inner .price_set h4 span {
  font-size: 3rem;
  font-weight: 700;
  display: inline-block;
  margin-right: 5px;
}

section.apart-plan .container .price_menu .price_inner .price_set .text {
  padding: 3rem 2rem;
}

section.apart-plan .container .price_menu .price_inner .price_set .text .pick_text {
  text-align: center;
  font-weight: 600;
  font-size: 1.8rem;
  margin-bottom: 2rem;
  border-bottom: double 5px;
}

section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
}

section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box .left {
  width: 60%;
}

section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box .left ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box .left li {
  margin-bottom: 7px;
  width: 32%;
  text-align: center;
  border-radius: 15px;
  padding: 2px;
  background-color: #2196F3;
  color: #fff;
}

section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box .left .size {
  width: 100%;
  background-color: #74c8ee;
}

section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box .price {
  font-weight: 700;
  width: 40%;
  text-align: center;
}

section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box .price span {
  font-size: 4rem;
  color: #cf0e0e;
  display: inline-block;
  margin-right: 5px;
}

section.apart-plan .container .price_menu .price_inner .price_set .text dl {
  display: flex;
  justify-content: flex-start;
  border: 1px solid;
}

section.apart-plan .container .price_menu .price_inner .price_set .text dt,
section.apart-plan .container .price_menu .price_inner .price_set .text dd {
  padding: 1rem 2rem;
  font-weight: normal;
}

section.apart-plan .container .price_menu .price_inner .price_set .text dt {
  color: #fff;
  background: #163c6c;
}

@media screen and (max-width: 1023px) {
  section.apart-plan .container .price_menu {
    padding: 0;
    margin-top: -15rem;
  }
  section.apart-plan .container .price_menu .price_inner {
    display: block;
  }
  section.apart-plan .container .price_menu .price_inner .price_set {
    width: 100%;
    background-color: #fff;
    margin-bottom: 3rem;
  }
  section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box {
    display: block;
  }
  section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box .left,
  section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box .price {
    width: 100%;
  }
  section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box .left li {
    width: 22%;
    font-size: 1.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section.apart-plan .container .price_menu .price_inner .price_set .text .flx_box .left .size {
    width: 34%;
  }
  section.apart-plan .container .price_menu .price_inner .price_set .text dt {
    width: 20%;
  }
}
/*　カラーコーディネーター　color-licence　*/
.color-licence {
  margin: 5rem auto 0;
  max-width: 100rem;
  background: #e2f0f8;
  border-radius: 10px;
  padding: 2rem 4rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
  position: relative;
}

.color-licence .image {
  width: 30%;
}

.color-licence .text {
  width: 55%;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 4rem;
  padding-bottom: 5rem;
}

.color-licence .text .pick {
  color: #0D85C2;
  font-size: 2rem;
  font-weight: 799;
  display: inline-block;
  margin-bottom: 2rem;
}

.color-licence figure {
  position: absolute;
  right: 13px;
  bottom: 3px;
  width: 140px;
}

@media screen and (max-width: 1023px) {
  .color-licence {
    background: #fff;
    padding: 2rem;
  }
  .color-licence .image {
    width: 45%;
  }
  .color-licence .text {
    width: 50%;
    font-size: 1.6rem;
    line-height: 3rem;
    padding-bottom: 0;
  }
  .color-licence .text .pick {
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
  .color-licence figure {
    display: none;
  }
}
/*　塗装できない屋根材　roof-material　*/
section.roof-material .body .list-style {
  max-width: 110rem;
  margin: 0 auto;
}

section.roof-material .body .list-style .three-image {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-bottom: 5rem;
  flex-wrap: wrap;
}

section.roof-material .body .list-style .three-image li {
  width: 30%;
  text-align: center;
}

section.roof-material .body .list-style .three-image li .image {
  margin-bottom: 2rem;
}

section.roof-material .body .list-style .three-image li .image img {
  border-radius: 10px;
}

section.roof-material .body .list-style .three-image li p {
  font-weight: 700;
}

section.roof-material .body .list-style .text {
  max-width: 100rem;
  margin: 0 auto 2rem;
  line-height: 2;
}

section.roof-material .body .list-style .text span {
  color: #0e86c2;
  font-size: 1.7rem;
  font-weight: 600;
}

section.roof-material .body .list-style .button {
  text-align: center;
  margin: 5rem auto;
  max-width: 530px;
}

section.roof-material .body .list-style .button a {
  background: #153c6c;
  color: #fff;
  text-decoration: none;
  padding: 2rem 5rem;
  border-radius: 30px;
  width: 100%;
  display: block;
  position: relative;
}

section.roof-material .body .list-style .button a::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 50%;
  right: 3rem;
  background: #143C6C url(../img/button_icon_big_arrow_white.png) 50% 50%/0.5rem auto no-repeat;
  border-radius: 50%;
  transition: 0.4s;
  transition-property: background-color;
  transform: translateY(-50%);
}

@media screen and (max-width: 1023px) {
  section.roof-material .body .list-style {
    padding: 4rem 2rem 0;
  }
  /* section.roof-material .body .list-style .three-image {
        display: block;
        gap: 0;
    } */
  section.roof-material .body .list-style .three-image li {
    width: 45%;
    margin: 0 auto 2rem;
  }
  section.roof-material .body .list-style .three-image li .image {
    margin-bottom: 1rem;
  }
  section.roof-material .body .list-style .button {
    max-width: 275px;
  }
}
/*　メーカーバナーリスト　maker-bnr-list　*/
section.maker-bnr {
  padding: 9rem 0;
  background: #e2f0f8;
}

.maker-bnr-list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.8%;
}

.maker-bnr-list li {
  width: 16%;
  border: 1px solid #ccc;
  margin-bottom: 1.8%;
}

@media screen and (max-width: 1023px) {
  section.maker-bnr {
    padding: 0rem 0 4rem;
  }
  .maker-bnr-list {
    gap: 1.5%;
  }
  .maker-bnr-list li {
    width: 32%;
  }
}
/*　recaptya　*/
.grecaptcha-badge {
  visibility: hidden;
}

/*　pagetop　*/
.pagetop {
  position: fixed;
  right: 2rem;
  bottom: 1rem;
}

.pagetop a {
  display: block;
  width: 50px;
}

.pagetop a img {
  max-width: 100%;
  width: auto;
}

@media screen and (max-width: 1023px) {
  .pagetop {
    right: 1rem;
    bottom: 2rem;
  }
}
/* ヘッダー来店予約ボタン　*/
@media screen and (min-width: 1024px) {
  header nav .button a {
    letter-spacing: 1px;
    font-size: 1.5rem;
  }
}
/* フローティングバナー　サイド　*/
@media screen and (min-width: 1024px) {
  .fixed-navi {
    top: auto;
    bottom: 30%;
  }
}
/* フッターレビュー*/
@media screen and (max-width: 1023px) {
  footer .footer-google {
    display: flex;
  }
  footer .footer-google .review {
    display: block;
    width: 45%;
  }
}
/*　コラム column　*/
section.column-list .page-title::before {
  background: #f7c7b8;
}

section.column-list ul.list .new {
  background: #e67711;
}

section.works-list ul.list .category {
  background-color: #fff;
  border-color: #153c6c;
  color: #153c6c;
}

section.column-list ul.list .title {
  color: #153c6c;
}

section.column-single .page-title::before {
  background: #f7c7b8;
}

/** area **/
section h2.area-title {
  line-height: 1;
  position: relative;
  text-align: center;
}

section h2.area-title:before {
  content: "";
  display: block;
  width: 1px;
  height: 2rem;
  background: #0E86C2;
  position: absolute;
  top: -3.3rem;
  left: 50%;
}

section h2.area-title .num {
  display: block;
  color: #0E86C2;
  font-size: 3.2rem;
  font-weight: 600;
  margin-bottom: 1.4rem;
}

section h2.area-title .jp {
  display: block;
  color: #143C6C;
  font-size: 2.8rem;
  font-weight: 600;
  margin-bottom: 0.9rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

section h2.area-title .en {
  display: block;
  color: #0E86C2;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

section h3.area-subtitle {
  text-align: center;
  width: fit-content;
  margin: 0 auto;
  background: url(../img/area_title_bg_left.png) 0 calc(100% - 1.4rem)/6.2rem auto no-repeat, url(../img/area_title_bg_right.png) 100% calc(100% - 1.4rem)/6.3rem auto no-repeat;
  padding: 0 8.2rem;
  margin-bottom: 3.6rem;
}

section h3.area-subtitle .sub {
  color: #0E86C2;
  display: block;
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

section h3.area-subtitle .main {
  color: #143C6C;
  display: block;
  font-size: 3.2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

section .area-list ul {
  margin-bottom: 1.5rem;
}

section .area-list li {
  margin-bottom: 2.5rem;
}

section .area-list a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  overflow: hidden;
  border-radius: 1rem;
  padding-bottom: 2.2rem;
  border: solid 1px #C5C5C5;
  transition: opacity 200ms 0s ease;
}

section .area-list a:hover {
  opacity: 0.6;
}

section .area-list .image {
  width: 100%;
  aspect-ratio: 250/176;
  margin-bottom: 2.3rem;
}

section .area-list .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

section .area-list .title {
  font-size: 1.4rem;
  padding: 0 1.9rem;
  position: relative;
  z-index: 1;
  line-height: 1.65;
  margin-bottom: 0.7rem;
  font-weight: 600;
}

section .area-list .content {
  padding: 0 1.9rem;
  font-size: 1.4rem;
  line-height: 1.75;
  margin-bottom: 1.6rem;
}

section .area-list .detail {
  color: #0E86C2;
  text-align: right;
  font-size: 1.4rem;
  padding-right: 4.1rem;
}

section .area-button a {
  display: block;
  text-decoration: none;
  background: #143C6C;
  border-radius: 10rem;
  color: #fff;
  text-align: center;
  padding: 2.3rem;
  max-width: 45rem;
  margin: 0 auto;
  transition: opacity 200ms 0s ease;
}

section .area-button a:hover {
  opacity: 0.6;
}

@media screen and (min-width: 1024px) {
  section .area-list ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  section .area-list ul::after {
    content: "";
    display: block;
    width: calc(33.3% - 1.5rem);
    height: 0;
  }
  section .area-list ul li {
    width: calc(33.3% - 1.5rem);
  }
}
@media screen and (max-width: 1023px) {
  section .area-list ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  section .area-list ul li {
    width: calc(50% - 0.5rem);
  }
  section .area-list ul li .image {
    margin-bottom: 1rem;
  }
  section .area-list .title {
    padding: 0 1rem;
  }
  section .area-list .content {
    padding: 0 1rem;
    margin-bottom: 1rem;
  }
  section .area-list .detail {
    padding-right: 1.5rem;
  }
}
section.area-head {
  position: relative;
  background: url(../img/bg_point.png) center;
}

section.area-head h1 {
  font-size: 2.9rem;
  letter-spacing: 0.012em;
  font-weight: 600;
  margin-bottom: 4.1rem;
}

section.area-head .name {
  color: #143C6C;
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 2.4rem;
}

section.area-head .text {
  line-height: 1.75;
  margin-bottom: 9.3rem;
}

section.area-head ul.navi {
  margin-bottom: 12rem;
}

section.area-head ul.navi li a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  text-align: center;
  background: #E2F0F8;
  border: solid 2px #143C6C;
  border-radius: 1rem;
  color: #143C6C;
  font-weight: 600;
  padding: 2.2rem 1rem 1.4rem 1rem;
  transition: opacity 200ms 0s ease;
}

section.area-head ul.navi li a:hover {
  opacity: 0.6;
}

section.area-head ul.navi li a .icon {
  display: block;
  max-width: 8.4rem;
  margin: 0 auto;
  margin-bottom: 0.1rem;
}

section.area-head ul.navi li a .label {
  line-height: 1.85;
}

section.area-head .mokuji {
  border: solid 2px #143C6C;
  border-radius: 1rem;
  background: #fff;
  max-width: 60rem;
  margin: 0 auto;
  padding: 4.5rem 2rem 7.5rem 2rem;
}

section.area-head .mokuji .caption {
  color: #143C6C;
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 2.5rem;
}

section.area-head .mokuji ul {
  max-width: 48rem;
  margin: 0 auto;
}

section.area-head .mokuji ul li {
  margin-bottom: 1rem;
}

section.area-head .mokuji ul li a {
  text-decoration: none;
}

section.area-head .mokuji ul li a:hover {
  text-decoration: underline;
}

section.area-head .mokuji ul li a .num {
  color: #0E86C2;
  font-weight: 600;
  display: inline-block;
  margin-right: 4rem;
}

@media screen and (min-width: 1024px) {
  section.area-head .container {
    max-width: 100rem;
    margin: 0 auto;
    padding: 0 10rem;
    padding-top: 17rem;
  }
  section.area-head .breadcrumb {
    position: absolute;
    top: 7.3rem;
    right: 3.3rem;
    z-index: 1;
  }
  section.area-head .breadcrumb ul {
    margin-right: 2rem;
  }
  section.area-head .breadcrumb ul li {
    display: inline-block;
    background: url(../img/icon_arrow_breadcrumb.png) calc(100% - 0.5rem) calc(50% + 0.2rem)/0.6rem auto no-repeat;
    padding-right: 2.3rem;
    font-size: 1.2rem;
  }
  section.area-head .breadcrumb ul li:last-child {
    background: none;
    padding-right: 0;
  }
  section.area-head ul.navi {
    display: flex;
    justify-content: space-between;
  }
  section.area-head ul.navi li {
    width: calc(33.3% - 1.6rem);
  }
}
@media screen and (max-width: 1023px) {
  section.area-head .breadcrumb {
    text-align: right;
    position: absolute;
    right: auto;
    left: 2rem;
  }
  section.area-head .breadcrumb ul {
    margin-right: 2rem;
  }
  section.area-head .breadcrumb ul li {
    display: inline-block;
    background: url(../img/icon_arrow_breadcrumb.png) calc(100% - 0.5rem) calc(50% + 0.2rem)/0.6rem auto no-repeat;
    padding-right: 2.3rem;
    font-size: 1.2rem;
  }
  section.area-head .breadcrumb ul li:last-child {
    background: none;
    padding-right: 0;
  }
  section.area-head ul.navi li {
    margin-bottom: 2rem;
  }
}
section.area-access h2.area-title {
  margin-bottom: 4.6rem;
}

section.area-access .item {
  margin-bottom: 10rem;
}

section.area-access .item .caption {
  color: #143C6C;
  font-size: 2rem;
  font-weight: 600;
  background: url(../img/area_access_icon_pin.png) 0 50%/1.4rem auto no-repeat;
  padding-left: 3rem;
  margin-bottom: 1.5rem;
}

section.area-access .item dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

section.area-access .item dl dt {
  color: #0E86C2;
  font-weight: 600;
  position: relative;
  padding-left: 3rem;
  width: 13rem;
  margin-bottom: 1.1rem;
}

section.area-access .item dl dt::before {
  content: "";
  display: block;
  width: 1.1rem;
  height: 0.2rem;
  background: #143C6C;
  position: absolute;
  top: 50%;
  left: 0;
}

section.area-access .item dl dd {
  width: calc(100% - 13rem);
  padding-left: 0.3rem;
  margin-bottom: 1.1rem;
}

section.area-access .google-review {
  margin-bottom: 3rem;
  margin-top: 3rem;
}

@media screen and (min-width: 1024px) {
  section.area-access .container {
    max-width: 100rem;
    margin: 0 auto;
    padding: 0 10rem;
    padding-top: 15.3rem;
    padding-bottom: 0rem;
  }
  section.area-access .item {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    flex-wrap: wrap;
  }
  section.area-access .item .image {
    width: 25rem;
    padding-top: 0.3rem;
  }
  section.area-access .item .detail {
    width: calc(100% - 25rem);
  }
  section.area-access .item .map {
    max-width: 100%;
    width: auto;
  }
  section.area-access .google-review {
    width: calc(100% - 30rem);
    margin: 3rem auto 0 0;
  }
}
@media screen and (max-width: 1023px) {
  section.area-access .item .image {
    text-align: center;
    margin-bottom: 2rem;
  }
}
section.area-sales h2.area-title {
  margin-bottom: 3.9rem;
}

section.area-sales .text {
  line-height: 1.7;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 1024px) {
  section.area-sales .container {
    max-width: 100rem;
    margin: 0 auto;
    padding: 0 10rem;
    padding-top: 15.3rem;
  }
}
section.area-merit h2.area-title {
  margin-bottom: 4.7rem;
}

section.area-merit .list li {
  margin-bottom: 2.5rem;
  overflow: hidden;
  border-radius: 1rem;
  padding-bottom: 2.5rem;
  background: #E2F0F8;
  border: solid 1px #C4C4C4;
}

section.area-merit .list .image {
  width: 100%;
  aspect-ratio: 250/176;
  margin-bottom: 1.9rem;
}

section.area-merit .list .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

section.area-merit .list h3 {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.05em;
  padding: 0 1rem;
  position: relative;
  z-index: 1;
  line-height: 1.65;
  margin-bottom: 1.4rem;
}

section.area-merit .list h3 em {
  display: block;
  position: relative;
  width: fit-content;
  margin: 0 auto;
}

section.area-merit .list h3 em * {
  position: relative;
  z-index: 1;
}

section.area-merit .list h3 em::before {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: #FFE969;
}

section.area-merit .list .text {
  padding: 0 2rem;
  font-size: 1.4rem;
  line-height: 1.75;
}

@media screen and (min-width: 1024px) {
  section.area-merit .container {
    max-width: 100rem;
    margin: 0 auto;
    padding: 0 10rem;
    padding-top: 14.9rem;
  }
  section.area-merit .list ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  section.area-merit .list ul::after {
    content: "";
    display: block;
    width: calc(33.3% - 1.5rem);
    height: 0;
  }
  section.area-merit .list ul li {
    width: calc(33.3% - 1.5rem);
  }
}
@media screen and (max-width: 1023px) {
  section.area-merit .list ul li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 1rem;
  }
  section.area-merit .list ul li .image {
    width: 50%;
  }
  section.area-merit .list ul li h3 {
    width: 50%;
  }
  section.area-merit .list ul li .text {
    width: 100%;
    padding: 0;
  }
}
section.area-voice h2.area-title {
  margin-bottom: 4.8rem;
}

@media screen and (min-width: 1024px) {
  section.area-voice .container {
    max-width: 100rem;
    margin: 0 auto;
    padding: 0 10rem;
    padding-top: 12.6rem;
  }
}
section.area-work h2.area-title {
  margin-bottom: 4.7rem;
}

@media screen and (min-width: 1024px) {
  section.area-work .container {
    max-width: 100rem;
    margin: 0 auto;
    padding: 0 10rem;
    padding-top: 15.3rem;
  }
}
section.area-column h2.area-title {
  margin-bottom: 4.7rem;
}

@media screen and (min-width: 1024px) {
  section.area-column .container {
    max-width: 100rem;
    margin: 0 auto;
    padding: 0 10rem;
    padding-top: 15.3rem;
  }
}
section.area-about h2.area-title {
  margin-bottom: 5rem;
}

section.area-about .youtube {
  aspect-ratio: 16/9;
  width: 100%;
  max-width: 60rem;
  margin: 0 auto;
  margin-bottom: 10.7rem;
}

section.area-about .youtube iframe {
  width: 100%;
  height: 100%;
}

section.area-about .detail {
  background: #E2F0F8;
  border-radius: 1rem;
  padding: 5.1rem 4rem;
  margin-bottom: 9rem;
}

section.area-about .detail h4 {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 2.5rem;
}

section.area-about .jisseki {
  margin-bottom: 11rem;
}

section.area-about .jisseki h3 {
  font-size: 2.4rem;
  text-align: center;
  font-weight: 600;
  color: #143C6C;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 4.1rem;
}

section.area-about .jisseki .image {
  text-align: center;
}

section.area-about .oyakusoku {
  border: solid 3px #143C6C;
  border-radius: 1rem;
  padding: 1.5rem 3.7rem;
  margin-bottom: 11.2rem;
}

section.area-about .oyakusoku .table p {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 2.3rem 0;
  border-bottom: dashed 1px #000;
}

section.area-about .oyakusoku .table p:last-child {
  border-bottom: none;
}

section.area-about .oyakusoku .table .label {
  color: #0E86C2;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  width: 22.5rem;
  padding-left: 5rem;
  background: url(../img/area_icon_light.png) 1rem 50%/2.9rem auto no-repeat;
}

section.area-about .oyakusoku .table .text {
  width: calc(100% - 22.5rem);
}

section.area-about .message {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

section.area-about .message .image {
  float: left;
  padding-top: 0.9rem;
  width: 25rem;
}

section.area-about .message .content {
  width: calc(100% - 27.5rem);
  line-height: 1.75;
}

section.area-about .message .content p {
  margin-bottom: 2.8rem;
}

section.area-about .message .content .name {
  font-family: "Noto Serif JP", serif;
  text-align: right;
  font-size: 2rem;
  margin-top: 5.1rem;
}

@media screen and (min-width: 1024px) {
  section.area-about .container {
    max-width: 100rem;
    margin: 0 auto;
    padding: 0 10rem;
    padding-top: 15.3rem;
    padding-bottom: 9.1rem;
  }
  section.area-about .detail dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  section.area-about .detail dl dt,
  section.area-about .detail dl dd {
    padding: 2.3rem 0;
    border-bottom: dashed 1px #000;
  }
  section.area-about .detail dl dt {
    color: #0E86C2;
    width: 17rem;
    padding-left: 1rem;
  }
  section.area-about .detail dl dd {
    width: calc(100% - 17rem);
  }
}
@media screen and (max-width: 1023px) {
  section.area-about .detail dl dt {
    color: #0E86C2;
    padding-top: 2.3rem;
  }
  section.area-about .detail dl dd {
    padding-bottom: 2.3rem;
    border-bottom: dashed 1px #000;
  }
  section.area-about .oyakusoku .table .label {
    width: 100%;
    margin-bottom: 1rem;
  }
  section.area-about .oyakusoku .table .text {
    width: 100%;
  }
  section.area-about .message .image {
    width: 100%;
    text-align: center;
    margin-bottom: 1rem;
  }
  section.area-about .message .content {
    width: 100%;
  }
}
section.area-flow {
  background: #E2F0F8;
}

section.area-flow h2.area-title {
  margin-bottom: 7.2rem;
}

section.area-flow .step {
  position: relative;
}

section.area-flow .step::before {
  content: "";
  display: block;
  background: #0E86C2;
  width: 12rem;
  height: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

section.area-flow .step .item {
  position: relative;
  background: #fff;
  border-radius: 2rem;
  box-shadow: 0px 0px 10px #AFCADA;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 3rem 7rem;
  margin-bottom: 5.5rem;
}

section.area-flow .step .item .num {
  position: absolute;
  top: -2.5rem;
  left: -1rem;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  font-size: 2.8rem;
  background: #0E86C2;
  padding: 0.3rem 4.5rem 0.3rem 3.5rem;
  border-radius: 0 10rem 10rem 0;
}

section.area-flow .step .item .num::before {
  content: "STEP";
  display: inline-block;
  font-size: 1.6rem;
  margin-right: 0.8rem;
}

section.area-flow .step .item .image {
  width: 17.9rem;
}

section.area-flow .step .item .content {
  width: calc(100% - 20.5rem);
}

section.area-flow .step .item .content h3 {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 1024px) {
  section.area-flow .container {
    max-width: 100rem;
    margin: 0 auto;
    padding: 0 10rem;
    padding-top: 15.3rem;
    padding-bottom: 6.5rem;
  }
}
@media screen and (max-width: 1023px) {
  section.area-flow .container {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
  section.area-flow .step .item {
    padding: 3rem;
  }
  section.area-flow .step .item .image {
    width: 35%;
    text-align: center;
    margin-bottom: 2rem;
  }
  section.area-flow .step .item .content {
    width: 55%;
  }
}
/*　　amamori　　*/
.amamori .container {
  max-width: 120rem;
}

.amamori.selecting_point {
  position: relative;
  background: #E2F0F8;
}

.amamori.selecting_point .container {
  padding-top: 20rem;
}

.amamori.selecting_point .lead {
  padding: 0 0 15rem;
  margin-top: -5rem;
}

.amamori.selecting_point .lead .ttl {
  grid-row: 1/2;
  grid-column: 1/3;
  line-height: 1;
  text-align: center;
  margin-bottom: 10rem;
}

.amamori.selecting_point .lead .ttl .sub {
  font-size: 2.2rem;
  font-weight: 500;
  display: block;
  width: fit-content;
  margin: 0 auto 3rem;
}

.amamori.selecting_point .lead .ttl .main {
  font-size: 3.6rem;
  font-weight: 700;
  background: linear-gradient(0deg, #D6E7BA 1.5rem, transparent 1.5rem);
}

.amamori.selecting_point .lead .inner {
  display: flex;
  background: #fff;
  justify-content: space-evenly;
  align-items: center;
  padding: 5rem 3rem;
  flex-wrap: wrap;
}

.amamori.selecting_point .lead .text {
  grid-row: 2/3;
  grid-column: 1/2;
  width: 45%;
}

.amamori.selecting_point .lead .text p {
  line-height: 1.75;
  padding: 0;
  font-weight: 500;
}

.amamori.selecting_point .lead .text p span {
  color: #0E86C2;
}

.amamori.selecting_point .lead .image {
  grid-row: 2/3;
  grid-column: 2/3;
  position: relative;
}

.amamori.selecting_point .lead .image .photo {
  border-radius: 1.5rem;
}

.amamori.selecting_point .rule .prepend {
  padding: 6.5rem 5.5rem 0;
  background: #fff;
  border-radius: 3rem 3rem 0 0;
}

@media screen and (max-width: 1023px) {
  .amamori.selecting_point .container {
    padding-top: 1rem;
  }
  .amamori.selecting_point .lead {
    margin-top: 5rem;
    padding-bottom: 0;
  }
  .amamori.selecting_point .lead .text {
    width: 100%;
    margin-bottom: 2rem;
  }
  .amamori.selecting_point .lead .ttl {
    margin-bottom: 5rem;
  }
  .amamori.selecting_point .lead .ttl .main {
    font-size: 3rem;
    line-height: 4rem;
  }
  .amamori.selecting_point .rule .prepend {
    margin: 0 -2.2rem;
    padding: 6rem 2.2rem 0;
  }
}
.amamori.selecting_point .rule .prepend .ttl {
  position: relative;
}

.amamori.selecting_point .rule .prepend .ttl .outer,
.amamori.selecting_point .rule .prepend .ttl .sub,
.amamori.selecting_point .rule .prepend .ttl .main {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.amamori.selecting_point .rule .prepend .ttl .outer {
  position: absolute;
  top: -13rem;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 700;
  white-space: nowrap;
  color: #cd1800;
}

.amamori.selecting_point .rule .prepend .ttl .sub {
  position: absolute;
  top: -6.5rem;
  left: 50%;
  padding: 0 7rem;
  background: #CD0E00;
  border-radius: 3rem;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 6rem;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 1023px) {
  .amamori.selecting_point .rule .prepend .ttl .outer {
    top: -2rem;
  }
  .amamori.selecting_point .rule .prepend .ttl .sub {
    position: relative;
    top: 20px;
    border-radius: 2rem;
    font-size: 2rem;
    line-height: 4rem;
  }
}
.amamori.selecting_point .rule .prepend .ttl .sub::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 2.2rem;
  position: absolute;
  top: 100%;
  left: calc(50% - 0.4rem);
  background: #CD0E00;
  -webkit-clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
  clip-path: polygon(0.2rem 0, 100% 0, 0 100%);
}

@media screen and (max-width: 1023px) {
  .amamori.selecting_point .rule .prepend .ttl .sub::after {
    width: 3rem;
    height: 1.5rem;
    left: calc(50% - 1rem);
  }
}
.amamori.selecting_point .rule .prepend .ttl .main {
  margin: 0 auto;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 5.5rem;
}

@media screen and (max-width: 1023px) {
  .amamori.selecting_point .rule .prepend .ttl .main {
    margin: 2.5rem auto 0;
    padding: 0 0 0 4rem;
    background-position: 0 0;
    font-size: 2.2rem;
    line-height: 4rem;
  }
}
.amamori.selecting_point .rule .prepend .ttl .main strong {
  color: #0E86C2;
  font-weight: inherit;
  font-size: 3.6rem;
  text-align: center;
  display: block;
}

.amamori.selecting_point .rule .list {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  padding: 4rem 5.5rem 5rem;
  background: #fff;
  border-radius: 0 0 3rem 3rem;
}

@media screen and (max-width: 1023px) {
  .amamori.selecting_point .rule .list {
    flex-direction: column;
    gap: 2rem;
    margin: 0 -2.2rem;
    padding: 4rem 2.2rem;
  }
}
.amamori.selecting_point .rule .list .item {
  box-sizing: border-box;
  width: 48rem;
  padding: 8rem 3rem 2.5rem;
  position: relative;
  background: #EFF7FB;
  border-radius: 2rem;
}

@media screen and (max-width: 1023px) {
  .amamori.selecting_point .rule .list .item {
    width: auto;
    padding: 7rem 3rem 2.5rem;
  }
}
.amamori.selecting_point .rule .list .item .num {
  display: grid;
  place-items: center;
  width: 20rem;
  height: 5rem;
  position: absolute;
  top: 2rem;
  left: -0.8rem;
  background: #0E86C2;
  border-radius: 0 2.5rem 2.5rem 0;
  color: #fff;
  font-size: 2.5rem;
  font-family: "Montserrat", sans-serif;
}

@media screen and (max-width: 1023px) {
  .amamori.selecting_point .rule .list .item .num {
    width: 15rem;
    height: 4rem;
    left: 0;
    font-size: 2rem;
  }
}
.amamori.selecting_point .rule .list .item .text {
  padding: 2rem 0 0;
}

.amamori.selecting_point .rule .list .item .text strong {
  color: #0E86C2;
  font-weight: inherit;
}

.amamori.selecting_point .rule .list .item .text .name {
  padding: 0 0 0 6rem;
  background: url(../img/factory_tosou_icon_light.png) 0 50%/4rem auto no-repeat;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.3684210526;
}

@media screen and (max-width: 1023px) {
  .amamori.selecting_point .rule .list .item .text .name {
    padding: 0 0 0 4rem;
    background-size: 3rem auto;
  }
}
.amamori.selecting_point .rule .list .item .text p {
  line-height: 1.75;
  padding: 2rem 0 0;
  font-weight: 500;
}

.amamori.selecting_point .rule .list .item .text p::before,
.amamori.selecting_point .rule .list .item .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.amamori.selecting_point .rule .list .item .text p::before {
  margin-bottom: -0.375em;
}

.amamori.selecting_point .rule .list .item .text p::after {
  margin-top: -0.375em;
}

.amamori.selecting_point .rule .append {
  padding: 7.5rem 0 6rem;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .amamori.selecting_point .rule .append {
    padding: 5rem 0 0;
  }
}
.amamori.selecting_point .rule .append::before {
  content: "";
  display: block;
  width: 9rem;
  height: 4rem;
  position: absolute;
  top: 0;
  left: calc(50% - 4.5rem);
  background: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

@media screen and (max-width: 1023px) {
  .amamori.selecting_point .rule .append::before {
    width: 5rem;
    height: 3rem;
    left: calc(50% - 2.5rem);
  }
}
.amamori.selecting_point .rule .append p {
  line-height: 1.75;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.amamori.selecting_point .rule .append p::before,
.amamori.selecting_point .rule .append p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.amamori.selecting_point .rule .append p::before {
  margin-bottom: -0.375em;
}

.amamori.selecting_point .rule .append p::after {
  margin-top: -0.375em;
}

.amamori.selecting_point .rule .append p strong {
  color: #0E86C2;
  font-weight: inherit;
}

.amamori.selecting_point .rule .append ul {
  display: flex;
  gap: 2rem;
  justify-content: center;
  max-width: 90%;
  margin: 5rem auto;
}

.amamori.fail .prepend {
  padding: 9rem 0 0;
  background-image: url(../img/exterior_reform_blt01.png);
  background-position: top center;
  background-repeat: no-repeat;
}

.amamori.fail .prepend .ttl {
  line-height: 1;
}

.amamori.fail .prepend .ttl .sub,
.amamori.fail .prepend .ttl .main {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.amamori.fail .prepend .ttl .sub {
  font-size: 1.8rem;
  font-weight: 500;
  color: #0E86C2;
}

.amamori.fail .prepend .ttl .main {
  margin-top: 3rem;
  font-size: 3.6rem;
  font-weight: 700;
}

@media screen and (max-width: 1023px) {
  .amamori.fail .prepend .ttl .main {
    margin-top: 1rem;
    font-size: 2.6rem;
  }
}
.amamori.fail .prepend .text {
  padding: 4rem 0 0;
  line-height: 1.875;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .amamori.fail .prepend .text {
    padding: 4rem 8rem 0;
    text-align: left;
  }
  .amamori.selecting_point .rule .append ul {
    flex-wrap: wrap;
  }
  .amamori.selecting_point .rule .append ul li {
    width: 47%;
  }
}
.amamori.fail .list {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 7.5rem;
  max-width: 96rem;
  margin: 0 auto;
  padding: 8rem 0 11rem;
  position: relative;
}

.amamori.fail .list::after {
  content: url(../img/exterior_reform_illust_04.png);
  width: 50px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 1023px) {
  .amamori.fail .list {
    gap: 4rem 2rem;
    padding: 4rem 0 0;
  }
}
.amamori.fail .list .item {
  width: 27rem;
}

@media screen and (max-width: 1023px) {
  .amamori.fail .list .item {
    width: calc(50% - 1rem);
  }
}
.amamori.fail .list .item .image {
  border-radius: 2rem;
  overflow: hidden;
}

.amamori.fail .list .item .text {
  padding: 1rem 0 0;
}

.amamori.fail .list .item .text .name {
  color: #0E86C2;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.amamori.fail .list .item .text p {
  line-height: 1.6666666667;
  padding: 2rem 0 0;
  font-size: 1.5rem;
}

.amamori.fail .list .item .text p::before,
.amamori.fail .list .item .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.amamori.fail .list .item .text p::before {
  margin-bottom: -0.3333333333em;
}

.amamori.fail .list .item .text p::after {
  margin-top: -0.3333333333em;
}

.amamori.fail .list .text {
  text-align: center;
  margin: 5rem auto;
  font-weight: 600;
  font-size: 1.8rem;
}

@media screen and (max-width: 1023px) {
  .amamori.fail .list .text {
    margin-bottom: 18rem;
    margin-top: 0;
  }
}
.amamori.contact {
  padding: 8rem 0 10rem;
  position: relative;
  background: #0E86C2;
  color: #fff;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .amamori.contact {
    padding: 4rem 0;
  }
}
.amamori.contact .container {
  margin: 0 auto;
  text-align: left;
  max-width: 90rem;
}

@media screen and (max-width: 1023px) {
  .amamori.contact .container {
    padding: 0 2.2rem;
  }
}
.amamori.contact .catch {
  font-size: 3.2rem;
  line-height: 1.40625;
}

@media screen and (max-width: 1023px) {
  .amamori.contact .catch {
    font-size: 2.8rem;
  }
}
.amamori.contact p {
  padding: 1.5rem 0 0;
  font-size: 1.8rem;
  line-height: 1.5555555556;
  margin-bottom: 2rem;
}

.amamori.contact .btn {
  display: grid;
  place-items: center;
  width: 48rem;
  height: 8rem;
  margin: 4rem 0 0;
  position: relative;
  background: #fff;
  border-radius: 4rem;
  font-size: 2.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: 0.4s;
  transition-property: background-color, color;
}

@media screen and (max-width: 1023px) {
  .amamori.contact .btn {
    width: 25rem;
    height: 6rem;
    margin: 3rem 0 0;
    border-radius: 3rem;
    font-size: 2.2rem;
    padding-right: 10px;
  }
}
.amamori.contact .btn::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 2.5rem;
  right: 3rem;
  background: #143C6C url(../img/button_icon_big_arrow_white.png) 50% 50%/0.5rem auto no-repeat;
  border-radius: 50%;
  transition: 0.4s;
  transition-property: background-color;
}

@media screen and (max-width: 1023px) {
  .amamori.contact .btn::after {
    width: 2.4rem;
    height: 2.4rem;
    top: 1.8rem;
    right: 2rem;
  }
}
.amamori.contact .btn:hover {
  background-color: #143C6C;
  color: #fff;
}

.amamori.contact .btn:hover::after {
  background-color: #fff;
  background-image: url(../img/button_icon_big_arrow_darkblue.png);
}

.amamori.contact .image {
  width: 32rem;
  position: absolute;
  right: 25%;
  bottom: 6rem;
  pointer-events: none;
}

@media screen and (max-width: 1023px) {
  .amamori.contact .image {
    width: 21rem;
    right: 0;
    bottom: 0;
  }
}
.amamori.faq {
  position: relative;
}

.amamori.faq .prepend .container {
  padding: 15rem 0 0;
}

@media screen and (max-width: 1023px) {
  .amamori.faq .prepend .container {
    padding: 4rem 2.2rem;
    background-position: 1rem calc(100% + 6.5rem), calc(100% - 1rem) calc(100% + 6.6rem);
  }
}
.amamori.faq .prepend .ttl {
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.amamori.faq .prepend .ttl .sub,
.amamori.faq .prepend .ttl .main {
  display: block;
}

.amamori.faq .prepend .ttl .sub {
  color: #0E86C2;
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
}

@media screen and (max-width: 1023px) {
  .amamori.faq .prepend .ttl .sub {
    font-size: 2rem;
  }
}
.amamori.faq .prepend .ttl .main {
  margin-top: 1rem;
  font-size: 3rem;
}

@media screen and (max-width: 1023px) {
  .amamori.faq .prepend .ttl .main {
    font-size: 2.6rem;
  }
}
.amamori.faq .prepend .text {
  padding: 3rem 0 0;
  line-height: 1.875;
  text-align: center;
}

.amamori.faq .body {
  padding: 3rem 0 20rem;
}

@media screen and (max-width: 1023px) {
  .amamori.faq .body {
    border-bottom: none;
    padding: 0;
  }
}
.amamori.faq .body .group {
  max-width: 80rem;
  margin: 5.5rem auto 0;
  position: relative;
}

.amamori.faq .body .group .item {
  border-bottom: 1px solid #E9E5E0;
  transition: padding 0.4s;
}

.amamori.faq .body .group .item .summary {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 7rem;
  padding: 1rem 6rem;
  position: relative;
  background: url(../img/exterior_reform_blt03.png) 1.5rem 1.7rem/3.6rem auto no-repeat;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5555555556;
  cursor: pointer;
}

@media screen and (max-width: 1023px) {
  .amamori.faq .body .group {
    margin-top: -2rem;
  }
  .amamori.faq .body .group .item .summary {
    padding: 0.6rem 5rem;
    background-position: 1rem 1.7rem;
    background-size: 3rem;
  }
}
.amamori.faq .body .group .item .summary::after {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  top: 2.6rem;
  right: 2rem;
  background: #0E86C2 url(../img/button_icon_arrow_down.png) 50% 50%/0.7rem auto no-repeat;
  border-radius: 0.9rem;
  transition: transform 0.4s;
}

.amamori.faq .body .group .item .detail {
  display: none;
  padding: 2rem 2rem 2rem 6rem;
  background: #ECF4F8 url(../img/exterior_reform_blt04.png) 1.5rem 1.7rem/3.6rem auto no-repeat;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6666666667;
}

@media screen and (max-width: 1023px) {
  .amamori.faq .body .group .item .detail {
    background-position: 1rem 1.7rem;
    background-size: 3rem;
  }
}
.amamori.faq .body .group .item.active {
  padding: 0 0 2.5rem;
}

@media screen and (max-width: 1023px) {
  .amamori.faq .body .group .item.active {
    padding: 0 0 2rem;
  }
}
.amamori.faq .body .group .item.active .summary::after {
  transform: scale(1, -1);
}

.amamori.faq .body .group + .group {
  margin-top: 9.5rem;
}

@media screen and (max-width: 1023px) {
  .amamori.faq .body .group + .group {
    margin-top: 4rem;
  }
}
main:has(.amamori) + footer::before {
  content: none;
}

/* 追加 */
.fair_price .container {
  max-width: 110rem;
  margin: 0 auto;
}
.fair_price.lead {
  position: relative;
  padding: 5.6rem 0 5rem;
  background: url(../img/bg-dot.png) 50% 0/23.4rem auto repeat;
}
@media screen and (max-width: 1023px) {
  .fair_price.lead {
    padding: 0 0 14rem;
  }
  .fair_price.lead .container {
    padding-bottom: 0;
  }
}
.fair_price.lead .image--01 {
  width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .fair_price.lead .image--01 {
    width: auto;
  }
}
.fair_price.lead .image--02, .fair_price.lead .image--03 {
  position: absolute;
}
.fair_price.lead .image--02 {
  width: 5rem;
  right: calc(50% + 37.5rem);
  bottom: 0.4rem;
}
@media screen and (max-width: 1023px) {
  .fair_price.lead .image--02 {
    right: auto;
    left: 10rem;
  }
}
.fair_price.lead .image--03 {
  width: 7.5rem;
  left: calc(50% + 34.5rem);
  bottom: 0;
}
@media screen and (max-width: 1023px) {
  .fair_price.lead .image--03 {
    left: auto;
    right: 10rem;
  }
}
.fair_price.lead .text {
  padding: 7rem 0 0;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .fair_price.lead .text {
    padding: 5.2rem 0 0;
  }
}
.fair_price.lead .text .catch {
  line-height: 1.5;
  color: #0E86C2;
  font-size: 2.4rem;
}
.fair_price.lead .text .catch::before, .fair_price.lead .text .catch::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.fair_price.lead .text .catch::before {
  margin-bottom: -0.25em;
}
.fair_price.lead .text .catch::after {
  margin-top: -0.25em;
}
.fair_price.lead .text p {
  line-height: 1.75;
  padding: 3.5rem 0 0;
  font-size: 2rem;
  line-height: 3.5rem;
}
.fair_price.lead .text p::before, .fair_price.lead .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.fair_price.lead .text p::before {
  margin-bottom: -0.375em;
}
.fair_price.lead .text p::after {
  margin-top: -0.375em;
}
.fair_price.lead .text p strong {
  color: #0E86C2;
  font-weight: inherit;
}
.fair_price.lead .text p strong.primary {
  font-size: 2.4rem;
}
.fair_price.lead .text p + p {
  padding: 5rem 0 0;
}
@media screen and (max-width: 1023px) {
  .fair_price.lead .text p + p {
    padding: 3.2rem 0 0;
  }
}
.fair_price.quotation {
  padding: 11.8rem 0 9.6rem;
  background: #E2F0F8;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation {
    padding: 5.6rem 0;
  }
}
.fair_price.quotation .lead {
  padding: 8.8rem 0 0;
  position: relative;
  background: #fff;
  border-radius: 3rem 3rem 0 0;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .lead {
    padding: 7.2rem 0 0;
  }
}
.fair_price.quotation .lead .ttl {
  display: grid;
  place-items: center;
  width: 60.5rem;
  height: 6rem;
  position: absolute;
  top: 0;
  left: 50%;
  background: #FFD600;
  border-radius: 3rem;
  color: #fff;
  font-size: 3.2rem;
  font-weight: 700;
  translate: -50% -3.7rem;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .lead .ttl {
    width: 44rem;
    font-size: 2.4rem;
  }
}
.fair_price.quotation .lead .ttl::after {
  content: "";
  display: block;
  width: 3.8rem;
  height: 2.4rem;
  position: absolute;
  top: 100%;
  left: 50%;
  background: #FFD600;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.fair_price.quotation .lead p {
  line-height: 1.2;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
.fair_price.quotation .lead p::before, .fair_price.quotation .lead p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.fair_price.quotation .lead p::before {
  margin-bottom: -0.1em;
}
.fair_price.quotation .lead p::after {
  margin-top: -0.1em;
}
.fair_price.quotation .sample {
  background: #fff;
}
.fair_price.quotation .sample .sttl {
  line-height: 1.75;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  line-height: 3.5rem;
}
.fair_price.quotation .sample .sttl::before, .fair_price.quotation .sample .sttl::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.fair_price.quotation .sample .sttl::before {
  margin-bottom: -0.375em;
}
.fair_price.quotation .sample .sttl::after {
  margin-top: -0.375em;
}
.fair_price.quotation .sample .sttl strong {
  color: #0E86C2;
  font-size: 2.4rem;
  font-weight: inherit;
}
.fair_price.quotation .sample .image {
  width: 90rem;
  margin: 5.6rem auto 0;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .sample .image {
    width: auto;
    margin: 3.2rem 0 0;
  }
}
.fair_price.quotation .sample--01 {
  padding: 6.8rem 0 0;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .sample--01 {
    padding: 4.8rem 0 0;
  }
}
.fair_price.quotation .sample--02 {
  padding: 9.6rem 0 7.2rem;
  border-radius: 0 0 3rem 3rem;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .sample--02 {
    padding: 4.8rem 0 3.6rem;
  }
}
.fair_price.quotation .caution {
  padding: 0 0 6.8rem;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .caution {
    padding: 0 0 3.4rem;
  }
}
.fair_price.quotation .caution::before {
  content: "";
  display: block;
  width: 16rem;
  height: 7.2rem;
  margin: 0 auto;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .caution::before {
    width: 8rem;
    height: 3.6rem;
  }
}
.fair_price.quotation .caution .line {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.fair_price.quotation .caution .line strong {
  color: #0E86C2;
  font-weight: inherit;
}
.fair_price.quotation .caution .line--01 {
  padding: 6.4rem 0 0;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .caution .line--01 {
    padding: 3.2rem 0 0;
  }
}
.fair_price.quotation .caution .line--02 {
  padding: 1.8rem 0 0;
}
.fair_price.quotation .caution .line--02 strong {
  font-size: 3.2rem;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .caution .line--02 strong {
    display: inline-block;
    padding: 1.8rem 0 0;
  }
}
.fair_price.quotation .caution .line--03 {
  padding: 1.6rem 0 0;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .caution .line--03 {
    padding: 1.6rem 0 4.8rem;
  }
}
.fair_price.quotation .caution .image {
  width: 13.8rem;
  position: absolute;
  bottom: -0.4rem;
  left: calc(50% + 31.4rem);
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .caution .image {
    right: 4rem;
    bottom: -4.4rem;
    left: auto;
  }
}
.fair_price.quotation .case {
  padding: 6.4rem 0 9.6rem;
  background: #fff;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .case {
    padding: 3.2rem 0;
  }
}
.fair_price.quotation .case .container {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  box-sizing: border-box;
  padding-right: 10rem;
  padding-left: 11.8rem;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .case .container {
    display: block;
    padding-right: 2.2rem;
    padding-left: 2.2rem;
  }
}
.fair_price.quotation .case .container .text {
  line-height: 1.6666666667;
  width: 45.1rem;
  font-size: 1.5rem;
}
.fair_price.quotation .case .container .text::before, .fair_price.quotation .case .container .text::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.fair_price.quotation .case .container .text::before {
  margin-bottom: -0.3333333333em;
}
.fair_price.quotation .case .container .text::after {
  margin-top: -0.3333333333em;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .case .container .text {
    width: auto;
  }
}
.fair_price.quotation .case .container .text strong {
  color: #0E86C2;
  font-weight: 700;
}
.fair_price.quotation .case .container .image {
  width: 36.9rem;
}
@media screen and (max-width: 1023px) {
  .fair_price.quotation .case .container .image {
    margin: 3.6rem auto 0;
  }
}
.fair_price.opinion, .fair_price.contact {
  padding: 8rem 0 10rem;
  position: relative;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .fair_price.opinion, .fair_price.contact {
    padding: 4rem 0;
  }
}
@media screen and (max-width: 1023px) {
  .fair_price.opinion .container, .fair_price.contact .container {
    padding: 0 2.2rem;
  }
}
.fair_price.opinion .catch, .fair_price.contact .catch {
  font-size: 3.2rem;
  line-height: 1.40625;
}
@media screen and (max-width: 1023px) {
  .fair_price.opinion .catch, .fair_price.contact .catch {
    font-size: 2.8rem;
  }
}
.fair_price.opinion p, .fair_price.contact p {
  padding: 1.5rem 0 0;
  font-size: 1.8rem;
  line-height: 1.5555555556;
}
.fair_price.opinion .btn, .fair_price.contact .btn {
  display: grid;
  place-items: center;
  width: 48rem;
  height: 8rem;
  margin: 4rem auto 0;
  position: relative;
  background: #fff;
  border-radius: 4rem;
  font-size: 2.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: 0.4s;
  transition-property: background-color, color;
}
@media screen and (max-width: 1023px) {
  .fair_price.opinion .btn, .fair_price.contact .btn {
    width: auto;
    height: 6rem;
    margin: 3rem 0 0;
    border-radius: 3rem;
    font-size: 2.2rem;
  }
}
.fair_price.opinion .btn::after, .fair_price.contact .btn::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 2.5rem;
  right: 3rem;
  background: url(../img/button_icon_big_arrow_white.png) 50% 50%/0.5rem auto no-repeat;
  border-radius: 50%;
  transition: 0.4s;
  transition-property: background-color;
}
@media screen and (max-width: 1023px) {
  .fair_price.opinion .btn::after, .fair_price.contact .btn::after {
    width: 2.4rem;
    height: 2.4rem;
    top: 1.8rem;
    right: 2rem;
  }
}
.fair_price.opinion .btn:hover, .fair_price.contact .btn:hover {
  color: #fff;
}
.fair_price.opinion .btn:hover::after, .fair_price.contact .btn:hover::after {
  background-color: #fff;
}
.fair_price.opinion .image, .fair_price.contact .image {
  position: absolute;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .fair_price.opinion .image, .fair_price.contact .image {
    display: none;
  }
}
.fair_price.attention .prepend {
  padding: 6.8rem 0 0;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .fair_price.attention .prepend {
    padding: 0;
  }
}
.fair_price.attention .prepend .ttl {
  font-weight: 700;
}
.fair_price.attention .prepend .ttl .en {
  display: block;
  color: #0E86C2;
  font-size: 1.5rem;
  line-height: 1;
}
.fair_price.attention .prepend .ttl .ja {
  line-height: 1.5;
  display: block;
  padding: 2rem 0 0;
  font-size: 3rem;
}
.fair_price.attention .prepend .ttl .ja::before, .fair_price.attention .prepend .ttl .ja::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.fair_price.attention .prepend .ttl .ja::before {
  margin-bottom: -0.25em;
}
.fair_price.attention .prepend .ttl .ja::after {
  margin-top: -0.25em;
}
.fair_price.attention .prepend .text {
  padding: 3.2rem 0 0;
  font-size: 1.6rem;
  line-height: 3rem;
}
.fair_price.attention .body {
  padding: 5.6rem 0 9.6rem;
}
@media screen and (max-width: 1023px) {
  .fair_price.attention .body {
    padding: 2.8rem 0 0;
  }
}
.fair_price.attention .body .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3rem;
}
@media screen and (max-width: 1023px) {
  .fair_price.attention .body .list {
    gap: 2rem;
  }
}
.fair_price.attention .body .list li {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 48rem;
  height: 12.8rem;
  padding: 0 0 0 9.4rem;
  background: #EFF7FB url(../img/exterior_reform_blt02.png) 3.3rem 50%/4rem auto no-repeat;
  border-radius: 3rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.6rem;
}
@media screen and (max-width: 1023px) {
  .fair_price.attention .body .list li {
    width: 100%;
  }
}
.fair_price.attention .body .list li strong {
  color: #0E86C2;
  font-weight: inherit;
}
.fair_price.attention .append {
  padding: 9.6rem 0 11.2rem;
  position: relative;
  background: #E2F0F8;
}
@media screen and (max-width: 1023px) {
  .fair_price.attention .append {
    padding: 4.8rem 0;
  }
}
.fair_price.attention .append .container {
  display: grid;
  grid-template-rows: 1fr auto;
  grid-template-columns: 46.5rem 1fr;
  gap: 4rem 6rem;
  box-sizing: border-box;
  padding: 0 5.5rem;
}
@media screen and (max-width: 1023px) {
  .fair_price.attention .append .container {
    display: block;
    padding: 0 2.2rem;
  }
}
.fair_price.attention .append .container .text {
  grid-row: 1/2;
  grid-column: 2/3;
  font-weight: 700;
  text-align: center;
}
.fair_price.attention .append .container .text .line {
  width: fit-content;
  margin: 0 auto;
  font-size: 2rem;
}
.fair_price.attention .append .container .text .line--01, .fair_price.attention .append .container .text .line--04 {
  line-height: 1.75;
}
.fair_price.attention .append .container .text .line--01::before, .fair_price.attention .append .container .text .line--01::after, .fair_price.attention .append .container .text .line--04::before, .fair_price.attention .append .container .text .line--04::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.fair_price.attention .append .container .text .line--01::before, .fair_price.attention .append .container .text .line--04::before {
  margin-bottom: -0.375em;
}
.fair_price.attention .append .container .text .line--01::after, .fair_price.attention .append .container .text .line--04::after {
  margin-top: -0.375em;
}
.fair_price.attention .append .container .text .line--02, .fair_price.attention .append .container .text .line--03, .fair_price.attention .append .container .text .line--04 {
  padding: 1.2rem 0 0.6rem;
  background: linear-gradient(0deg, #FFDD55 1.2rem, transparent 1.2rem);
}
.fair_price.attention .append .container .text .line--02, .fair_price.attention .append .container .text .line--03 {
  line-height: 1;
}
.fair_price.attention .append .container .text .line--02 strong, .fair_price.attention .append .container .text .line--03 strong {
  color: #0E86C2;
  font-size: 3rem;
  font-weight: inherit;
}
.fair_price.attention .append .container .text .line--02 strong .num, .fair_price.attention .append .container .text .line--03 strong .num {
  font-size: 3.8rem;
}
.fair_price.attention .append .container .image--01 {
  grid-row: 1/3;
  grid-column: 1/2;
  display: grid;
}
@media screen and (max-width: 1023px) {
  .fair_price.attention .append .container .image--01 {
    margin: 3.3rem 0 0;
  }
}
.fair_price.attention .append .container .image--01 img {
  grid-area: 1/1;
}
.fair_price.attention .append .container .image--01 img:first-child {
  width: 38.3rem;
}
.fair_price.attention .append .container .image--01 img:last-child {
  width: 24.3rem;
  justify-self: flex-end;
  align-self: flex-end;
}
@media screen and (max-width: 1023px) {
  .fair_price.attention .append .container .image--01 img:last-child {
    margin-top: 14rem;
  }
}
.fair_price.attention .append .container .image--02 {
  grid-row: 2/3;
  grid-column: 2/3;
  width: 37.1rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .fair_price.attention .append .container .image--02 {
    margin: 2.4rem auto 0;
  }
}
.fair_price.opinion {
  background: #8EC43E;
}
.fair_price.opinion .btn::after {
  background-color: #5C891A;
}
.fair_price.opinion .btn:hover {
  background-color: #5C891A;
}
.fair_price.opinion .btn:hover::after {
  background-image: url(../img/button_icon_big_arrow_darkgreen.png);
}
.fair_price.opinion .image {
  width: 18rem;
  right: calc(50% + 10rem);
  bottom: 3rem;
}
.fair_price.contact {
  background: #0E86C2;
}
.fair_price.contact .btn::after {
  background-color: #143C6C;
}
.fair_price.contact .btn:hover {
  background-color: #143C6C;
}
.fair_price.contact .btn:hover::after {
  background-image: url(../img/button_icon_big_arrow_darkblue.png);
}
.fair_price.contact .image {
  width: 7.5rem;
  right: calc(50% + 15rem);
  bottom: 4.8rem;
}

main:has(.fair_price) + footer::before {
  content: none;
}

.distinction .container {
  max-width: 110rem;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .distinction .container {
    padding: 0 2rem;
  }
}
.distinction.lead {
  position: relative;
  padding: 6rem 0 7rem;
  background: url(../img/bg-dot.png) 50% 0/23.4rem auto repeat;
}
@media screen and (max-width: 1023px) {
  .distinction.lead {
    padding: 6rem 0;
  }
  .distinction.lead .container {
    padding-bottom: 0;
  }
}
.distinction.lead .image {
  width: 18rem;
  margin: 0 auto;
}
.distinction.lead .text {
  padding: 4rem 0 0;
  font-weight: 700;
  text-align: center;
}
.distinction.lead .text .catch {
  line-height: 1.5;
  color: #0E86C2;
  font-size: 2.4rem;
}
.distinction.lead .text .catch::before, .distinction.lead .text .catch::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.distinction.lead .text .catch::before {
  margin-bottom: -0.25em;
}
.distinction.lead .text .catch::after {
  margin-top: -0.25em;
}
.distinction.lead .text p {
  line-height: 1.75;
  padding: 5rem 0 0;
  font-size: 2rem;
  line-height: 3.5rem;
}
.distinction.lead .text p::before, .distinction.lead .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.distinction.lead .text p::before {
  margin-bottom: -0.375em;
}
.distinction.lead .text p::after {
  margin-top: -0.375em;
}
@media screen and (max-width: 1023px) {
  .distinction.lead .text p {
    padding: 4rem 0 0;
    text-align: left;
  }
}
.distinction.lead .text p strong {
  color: #0E86C2;
  font-size: 2.4rem;
  font-weight: inherit;
}
.distinction.proposal, .distinction.diagnosis {
  padding: 8rem 0 10rem;
  background: #E2F0F8;
}
@media screen and (max-width: 1023px) {
  .distinction.proposal, .distinction.diagnosis {
    padding: 6rem 0;
  }
}
.distinction.proposal .ttl, .distinction.diagnosis .ttl {
  font-weight: 700;
  text-align: center;
}
.distinction.proposal .ttl .secondary, .distinction.diagnosis .ttl .secondary {
  display: block;
  font-size: 2.2rem;
}
.distinction.proposal .ttl .primary, .distinction.diagnosis .ttl .primary {
  line-height: 1.1666666667;
  display: block;
  padding: 2rem 0 0;
  font-size: 3.6rem;
  text-decoration: underline;
  text-decoration-color: #D6E7BA;
  text-decoration-thickness: 1.9rem;
  text-underline-offset: -2rem;
}
.distinction.proposal .ttl .primary::before, .distinction.proposal .ttl .primary::after, .distinction.diagnosis .ttl .primary::before, .distinction.diagnosis .ttl .primary::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.distinction.proposal .ttl .primary::before, .distinction.diagnosis .ttl .primary::before {
  margin-bottom: -0.0833333333em;
}
.distinction.proposal .ttl .primary::after, .distinction.diagnosis .ttl .primary::after {
  margin-top: -0.0833333333em;
}
@media screen and (max-width: 1023px) {
  .distinction.proposal .ttl .primary, .distinction.diagnosis .ttl .primary {
    font-size: 3.2rem;
  }
}
.distinction.proposal .sub, .distinction.diagnosis .sub {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  .distinction.proposal .sub, .distinction.diagnosis .sub {
    display: block;
  }
}
.distinction.proposal .sub .text .sttl, .distinction.diagnosis .sub .text .sttl {
  line-height: 1.5;
  font-size: 2.2rem;
  font-weight: 700;
}
.distinction.proposal .sub .text .sttl::before, .distinction.proposal .sub .text .sttl::after, .distinction.diagnosis .sub .text .sttl::before, .distinction.diagnosis .sub .text .sttl::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.distinction.proposal .sub .text .sttl::before, .distinction.diagnosis .sub .text .sttl::before {
  margin-bottom: -0.25em;
}
.distinction.proposal .sub .text .sttl::after, .distinction.diagnosis .sub .text .sttl::after {
  margin-top: -0.25em;
}
.distinction.proposal .sub .text p, .distinction.diagnosis .sub .text p {
  line-height: 1.6470588235;
  padding: 5rem 0 0;
  font-size: 1.7rem;
}
.distinction.proposal .sub .text p::before, .distinction.proposal .sub .text p::after, .distinction.diagnosis .sub .text p::before, .distinction.diagnosis .sub .text p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.distinction.proposal .sub .text p::before, .distinction.diagnosis .sub .text p::before {
  margin-bottom: -0.3235294118em;
}
.distinction.proposal .sub .text p::after, .distinction.diagnosis .sub .text p::after {
  margin-top: -0.3235294118em;
}
.distinction.proposal .sub {
  margin: 8.5rem 0 0;
}
@media screen and (max-width: 1023px) {
  .distinction.proposal .sub {
    margin: 6rem 0 0;
  }
}
.distinction.proposal .sub .text {
  width: 51.5rem;
}
@media screen and (max-width: 1023px) {
  .distinction.proposal .sub .text {
    width: auto;
  }
}
.distinction.proposal .sub .image {
  width: 46.6rem;
}
@media screen and (max-width: 1023px) {
  .distinction.proposal .sub .image {
    width: auto;
    margin: 4rem 0 0;
  }
}
.distinction.diagnosis .sub--01 {
  margin: 8.5rem 0 0;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .sub--01 {
    margin: 6rem 0 0;
  }
}
.distinction.diagnosis .sub--01 .text {
  width: 46rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .sub--01 .text {
    width: auto;
  }
}
.distinction.diagnosis .sub--01 .image {
  width: 57rem;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .sub--01 .image {
    width: auto;
    margin: 4rem 0 0;
  }
}
.distinction.diagnosis .sub--01 .image .photo {
  border-radius: 2rem;
}
.distinction.diagnosis .sub--01 .image .illust {
  width: 18.3rem;
  position: absolute;
  right: -1rem;
  bottom: -5rem;
}
.distinction.diagnosis .sub--01 .list {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 10rem 0 0;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .sub--01 .list {
    margin: 6.5rem 0 0;
  }
}
.distinction.diagnosis .sub--01 .list .item {
  width: 35.4rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .sub--01 .list .item {
    width: calc((100% - 4rem) / 3);
  }
}
.distinction.diagnosis .sub--01 .list .item img {
  border-radius: 2rem;
}
.distinction.diagnosis .sub--01 .list .item figcaption {
  margin: 2rem 0 0;
  font-size: 1.7rem;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .sub--01 .list .item figcaption {
    margin: 1rem 0 0;
  }
}
.distinction.diagnosis .sub--02 {
  margin: 10rem 0 0;
  flex-direction: row-reverse;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .sub--02 {
    margin: 6rem 0 0;
  }
}
.distinction.diagnosis .sub--02 .text {
  width: 46rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .sub--02 .text {
    width: auto;
  }
}
.distinction.diagnosis .sub--02 .image {
  width: 57rem;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .sub--02 .image {
    width: auto;
    margin: 4rem 0 0;
  }
}
.distinction.diagnosis .sub--02 .image .photo {
  border-radius: 2rem;
}
.distinction.diagnosis .sub--02 .image .illust {
  width: 18.3rem;
  position: absolute;
  left: 0;
  bottom: -7.4rem;
}
.distinction.diagnosis .license {
  margin: 16.5rem 0 0;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license {
    margin: 14.5rem 0 0;
  }
}
.distinction.diagnosis .license .inner {
  padding: 12rem 8rem;
  position: relative;
  background: #fff;
  border-radius: 3rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .inner {
    padding: 8.5rem 2rem 6rem;
  }
}
.distinction.diagnosis .license .sttl {
  display: grid;
  place-items: center;
  width: 60.5rem;
  height: 6rem;
  position: absolute;
  top: 0;
  left: 50%;
  background: #FFD600;
  border-radius: 3rem;
  color: #fff;
  font-size: 3.2rem;
  font-weight: 700;
  translate: -50% -3.7rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .sttl {
    width: 44rem;
    font-size: 2.4rem;
  }
}
.distinction.diagnosis .license .sttl::after {
  content: "";
  display: block;
  width: 3.8rem;
  height: 2.4rem;
  position: absolute;
  top: 100%;
  left: 50%;
  background: #FFD600;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.distinction.diagnosis .license .primary .image {
  width: 40rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .primary .image {
    width: auto;
  }
}
.distinction.diagnosis .license .primary .image figcaption {
  color: #0E86C2;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.distinction.diagnosis .license .primary .image img {
  display: block;
  margin: 2.6rem auto 0;
  box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.25);
}
.distinction.diagnosis .license .primary p {
  line-height: 1.5;
  padding: 4rem 0 0;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
}
.distinction.diagnosis .license .primary p::before, .distinction.diagnosis .license .primary p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.distinction.diagnosis .license .primary p::before {
  margin-bottom: -0.25em;
}
.distinction.diagnosis .license .primary p::after {
  margin-top: -0.25em;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .primary p {
    padding: 2rem 0 0;
    text-align: left;
  }
}
.distinction.diagnosis .license .about {
  margin: 5.5rem 0 0;
  padding: 5.5rem 6rem;
  background: #EFF7FB;
  border-radius: 4rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .about {
    margin: 4rem 0 0;
    padding: 4rem 2rem;
  }
}
.distinction.diagnosis .license .about .cttl {
  color: #0E86C2;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.distinction.diagnosis .license .about p {
  line-height: 1.5;
  padding: 3rem 0 0;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
}
.distinction.diagnosis .license .about p::before, .distinction.diagnosis .license .about p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.distinction.diagnosis .license .about p::before {
  margin-bottom: -0.25em;
}
.distinction.diagnosis .license .about p::after {
  margin-top: -0.25em;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .about p {
    text-align: left;
  }
}
.distinction.diagnosis .license .about .list {
  display: flex;
  justify-content: space-between;
  margin: 4rem 0 0;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .about .list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
  }
}
.distinction.diagnosis .license .about .list .item {
  width: 24rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .about .list .item {
    width: calc(50% - 1rem);
  }
}
.distinction.diagnosis .license .about .list .item .image {
  width: 18rem;
  height: 17.4rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .about .list .item .image {
    width: 100%;
    height: 14rem;
  }
}
.distinction.diagnosis .license .about .list .item .name {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.distinction.diagnosis .license .about .list .item p {
  padding: 1.6rem 0 0;
  text-align: left;
}
.distinction.diagnosis .license .about .list .item--01 .image {
  width: 14.6rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .about .list .item--01 .image {
    width: 81.1111111111%;
  }
}
.distinction.diagnosis .license .secondary {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7rem 2rem;
  margin: 10rem 0 0;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .secondary {
    gap: 4rem 2rem;
    margin: 6rem 0 0;
    justify-content: flex-start;
  }
}
.distinction.diagnosis .license .secondary .item {
  width: 18rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .secondary .item {
    width: calc(50% - 1rem);
  }
}
.distinction.diagnosis .license .secondary .item--05 {
  width: 14rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .secondary .item--05 {
    width: calc(50% - 1rem);
  }
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .secondary .item--05 .image {
    aspect-ratio: 14813/24763;
  }
}
.distinction.diagnosis .license .secondary .item--05 .image img {
  margin: 9.4rem 0 8.4rem;
  box-shadow: none;
  filter: drop-shadow(0 0.2rem 1rem rgba(0, 0, 0, 0.25));
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .secondary .item--05 .image img {
    width: 80%;
    margin: 9rem auto 0;
  }
}
.distinction.diagnosis .license .secondary .item--08 {
  width: 36.5rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .secondary .item--08 {
    width: 100%;
  }
}
.distinction.diagnosis .license .secondary .item--08 .image {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.distinction.diagnosis .license .secondary .item--08 .image figcaption {
  width: 100%;
}
.distinction.diagnosis .license .secondary .item--08 .image img {
  width: 18rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .secondary .item--08 .image img {
    width: calc(50% - 0.5rem);
  }
}
.distinction.diagnosis .license .secondary .image figcaption {
  line-height: 1.25;
  color: #0E86C2;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}
.distinction.diagnosis .license .secondary .image figcaption::before, .distinction.diagnosis .license .secondary .image figcaption::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.distinction.diagnosis .license .secondary .image figcaption::before {
  margin-bottom: -0.125em;
}
.distinction.diagnosis .license .secondary .image figcaption::after {
  margin-top: -0.125em;
}
.distinction.diagnosis .license .secondary .image img {
  display: block;
  margin: 1rem 0 0;
  box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
}
.distinction.diagnosis .license .secondary p {
  line-height: 1.5;
  padding: 2rem 0.5rem 0;
  font-size: 1.4rem;
}
.distinction.diagnosis .license .secondary p::before, .distinction.diagnosis .license .secondary p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.distinction.diagnosis .license .secondary p::before {
  margin-bottom: -0.25em;
}
.distinction.diagnosis .license .secondary p::after {
  margin-top: -0.25em;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .secondary p {
    padding: 2rem 0 0;
  }
}
.distinction.diagnosis .license .trophy {
  width: 65rem;
  margin: 10rem auto 0;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .trophy {
    width: 100%;
    margin: 6rem 0 0;
  }
}
.distinction.diagnosis .license .trophy figcaption {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .trophy figcaption {
    line-height: 3rem;
  }
}
.distinction.diagnosis .license .trophy figcaption strong {
  color: #0E86C2;
  font-weight: inherit;
}
.distinction.diagnosis .license .trophy figcaption strong.large {
  font-size: 2.4rem;
}
.distinction.diagnosis .license .trophy img {
  margin: 4rem 0 0;
}
.distinction.diagnosis .license .conclusion::before {
  content: "";
  display: block;
  width: 16rem;
  height: 7.2rem;
  margin: 0 auto;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .conclusion::before {
    width: 8rem;
    height: 3.6rem;
  }
}
.distinction.diagnosis .license .conclusion .line {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.distinction.diagnosis .license .conclusion .line strong {
  color: #0E86C2;
  font-weight: inherit;
}
.distinction.diagnosis .license .conclusion .line--01 {
  padding: 6rem 0 0;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .conclusion .line--01 {
    padding: 3.2rem 0 0;
  }
}
.distinction.diagnosis .license .conclusion .line--02 {
  padding: 2rem 0 0;
}
.distinction.diagnosis .license .conclusion .line--02 strong {
  font-size: 3.2rem;
}
@media screen and (max-width: 1023px) {
  .distinction.diagnosis .license .conclusion .line--02 strong {
    display: block;
    margin: 1rem 0;
  }
}

body.home .home-youtube {
  padding: 10rem 0 0;
  background-image: linear-gradient(#FDF8CA, #FDF8CA);
  background-position: 0 0;
  background-size: 100% calc(100% - 6.5rem);
  background-repeat: no-repeat;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube {
    padding-top: 22rem;
    background-size: 100% calc(100% - 6.5rem);
  }
}
body.home .home-youtube .container {
  max-width: 123rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .container {
    padding: 0;
  }
}
body.home .home-youtube .prepend {
  display: flex;
  align-items: baseline;
  gap: 1.2rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .prepend {
    display: block;
  }
}
body.home .home-youtube .prepend .ttl {
  padding: 0 0 0 4.7rem;
  background: url(../img/ico-youtube.png) 0 100%/3.8rem auto no-repeat;
  font-size: 4rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .prepend .ttl {
    box-sizing: border-box;
    width: fit-content;
    margin: 0 auto;
    padding: 0 0 0 8.5333333333vw;
    font-size: 8vw;
    background-size: 7.7333333333vw auto;
  }
}
body.home .home-youtube .prepend p {
  font-size: 1.7rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .prepend p {
    margin: 3.2vw 0 0;
    font-size: 4.2666666667vw;
    text-align: center;
  }
}
body.home .home-youtube .body {
  margin: 3rem 0 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .body {
    margin: 8.5333333333vw 0 0;
  }
}
body.home .home-youtube .body .slider {
  margin: 0 -1rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .body .slider {
    width: 66.6666666667vw;
    margin: 0 auto;
  }
  body.home .home-youtube .body .slider .slick-list {
    overflow: visible;
  }
}
body.home .home-youtube .body .slider .slide {
  display: block;
  box-sizing: border-box;
  width: 25rem;
  padding: 0 1rem;
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .body .slider .slide {
    width: auto;
    padding: 0 2.6666666667vw;
  }
}
body.home .home-youtube .body .slider .slide .image img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 0.8rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .body .slider .slide .image img {
    border-radius: 2.1333333333vw;
  }
}
body.home .home-youtube .body .slider .slide .text {
  margin: 1em 0 0;
  font-size: 1.2rem;
  line-height: 1.5;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .body .slider .slide .text {
    font-size: 3.2vw;
  }
}
body.home .home-youtube .body .slider .slick-arrow {
  width: 3rem;
  height: 3rem;
  top: 5rem;
  background: url(../img/arw-youtube.svg) 50% 50%/50% auto no-repeat;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .body .slider .slick-arrow {
    display: none !important;
  }
}
body.home .home-youtube .body .slider .slick-arrow::before {
  content: none;
}
body.home .home-youtube .body .slider .slick-prev {
  left: -3rem;
}
body.home .home-youtube .body .slider .slick-next {
  right: -3rem;
  scale: -1 1;
}
body.home .home-youtube .body .slider .slick-dots {
  display: flex;
  justify-content: center;
  gap: 0.8rem;
  margin: 2rem 0 0;
  position: static;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .body .slider .slick-dots {
    gap: 2.1333333333vw;
    margin: 5.3333333333vw 0 0;
  }
}
body.home .home-youtube .body .slider .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
}
body.home .home-youtube .body .slider .slick-dots li button {
  width: 0.4rem;
  height: 0.4rem;
  padding: 0;
  background: #0E86C2;
  border-radius: 50%;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .body .slider .slick-dots li button {
    width: 1.0666666667vw;
    height: 1.0666666667vw;
  }
}
body.home .home-youtube .body .slider .slick-dots li button::before {
  content: none;
}
body.home .home-youtube .append .bnr {
  display: block;
  width: 60rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  body.home .home-youtube .append .bnr {
    width: 78.4vw;
    margin: 8vw 0 0 8.8vw;
  }
}

@media screen and (max-width: 1023px) {
  .pagetop {
    bottom: 11.1rem;
  }
  footer {
    padding-bottom: 18.6666666667vw;
  }
}
/* 20250512 #pcnav */
.fixed-navi .price {
  position: relative;
  margin-bottom: 3.5rem;
}

.fixed-navi .price::before {
  content: "";
  display: block;
  width: 5.5rem;
  height: 7rem;
  background: url(../img/fixed_navi_fukidashi_price.png) 0 0/100% auto no-repeat;
  position: absolute;
  top: -2.5rem;
  /* left: calc(50% - 3.25rem); */
}

.fixed-navi .price .button {
  width: 100%;
  height: 100%;
}

.fixed-navi .price .button a {
  display: block;
  width: 100%;
  border: solid 0.2rem #e67711;
  border-radius: 2.5rem 0 0 0;
  text-decoration: none;
  color: #fff;
  text-align: center;
  background: #e67711;
  writing-mode: vertical-rl;
  line-height: 1.6rem;
  padding: 4rem 1rem 1.5rem;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 7px;
}

.fixed-navi .price .button a span {
  font-size: 1.2rem;
  letter-spacing: 2px;
}

.fixed-navi .price .button a:hover {
  background: #fff;
  color: #e67711;
}

.fixed-navi .price .button a:hover .caption {
  background: #fff;
}

.fNavHelper {
  width: 1px;
  position: absolute;
  top: min(100vh + 7.3rem, 8.5rem + (100vw - 2rem) / 2200 * 1260);
  left: 0;
  bottom: 0;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .fNavHelper {
    top: calc(11rem + 138.6666666667vw + 66.6666666667vw);
  }
}

.fnav {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 7rem;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1;
  background: #284F81;
  color: #fff;
  white-space: nowrap;
  transition: translate 0.4s;
}
.fnav.off {
  translate: 0 100% 0;
}
@media screen and (max-width: 1150px) {
  .fnav {
    box-sizing: border-box;
    padding: 0 2rem;
  }
}
@media screen and (max-width: 1023px) {
  .fnav {
    display: grid;
    grid-template-rows: 6.6666666667vw 1fr;
    grid-template-columns: 1fr 29.3333333333vw;
    height: 18.6666666667vw;
    padding: 0;
  }
}
.fnav .text {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0 0 0 3.8rem;
  background: url(../img/ico-call.svg) 0 0/3rem auto no-repeat;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .fnav .text {
    grid-row: 1/2;
    grid-column: 1/2;
    align-self: center;
    display: block;
    padding: 0;
    background: none;
    line-height: 1;
    text-align: center;
  }
}
.fnav .text p {
  font-size: 1.7rem;
  font-weight: 700;
}
@media screen and (max-width: 1023px) {
  .fnav .text p {
    display: inline;
    font-size: 2.9333333333vw;
  }
}
.fnav .text .note {
  font-size: 1.1rem;
}
@media screen and (max-width: 1023px) {
  .fnav .text .note {
    display: inline;
    font-size: 2.1333333333vw;
  }
}
.fnav .shop {
  display: flex;
  align-items: center;
  gap: 2.8rem;
  margin: 0 0 0 1.8rem;
}
@media screen and (max-width: 1150px) {
  .fnav .shop {
    gap: 1rem;
  }
}
@media screen and (max-width: 1023px) {
  .fnav .shop {
    grid-row: 2/3;
    grid-column: 1/2;
    justify-content: center;
    align-items: flex-start;
    gap: 1.3333333333vw;
    margin: 0;
  }
}
.fnav .shop a {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: auto auto;
  gap: 0 1rem;
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .fnav .shop a {
    display: block;
    width: 33.3333333333vw;
    height: 10.6666666667vw;
    background: #fff url(../img/arw01_b.svg) calc(100% - 1.3333333333vw) 50%/2.4vw auto no-repeat;
    border-radius: 0.8vw;
    color: #000;
  }
}
.fnav .shop a .name {
  grid-row: 1/3;
  grid-column: 1/2;
  align-self: center;
  display: flex;
  align-items: center;
  height: 3.8rem;
  padding: 0 1.4rem 0 0.8rem;
  background: #0E86C2;
  font-size: 1.6rem;
  font-weight: 700;
  clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 50%, calc(100% - 1rem) 100%, 0 100%);
}
@media screen and (max-width: 1023px) {
  .fnav .shop a .name {
    width: fit-content;
    margin-inline: auto;
    padding: 0 2.6666666667vw 0 3.7333333333vw;
    background: transparent url(../img/ico-tel.svg) 0 50%/2.9333333333vw auto no-repeat;
    font-size: 3.7333333333vw;
    line-height: 2;
    clip-path: none;
  }
}
.fnav .shop a .num {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 0.8;
}
@media screen and (max-width: 1023px) {
  .fnav .shop a .num {
    display: none;
  }
}
.fnav .shop a .note {
  align-self: flex-end;
  font-size: 1.2rem;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .fnav .shop a .note {
    font-size: 2.2666666667vw;
    text-align: center;
  }
}
.fnav .reserve {
  display: grid;
  place-items: center;
  width: 20rem;
  height: 4.4rem;
  margin: 0 0 0 3rem;
  background: #FFD600 url(../img/arw01.svg) calc(100% - 1rem) 50%/0.6rem auto no-repeat;
  border-radius: 2.2rem;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.5s;
}
.fnav .reserve:hover {
  opacity: 0.6;
}
@media screen and (max-width: 1150px) {
  .fnav .reserve {
    margin: 0 0 0 1.8rem;
    background-image: none;
  }
}
@media screen and (max-width: 1023px) {
  .fnav .reserve {
    grid-row: 1/3;
    grid-column: 2/3;
    width: auto;
    height: 18.6666666667vw;
    margin: 0;
    padding: 0 5.6vw 0 0;
    background-image: url(../img/arw01.svg);
    background-repeat: calc(100% - 4.8vw) 60%;
    background-size: 2.4vw auto;
    border-radius: 0;
    font-size: 4vw;
  }
  .fnav .reserve .pc {
    display: none;
  }
}

body.home main {
  background: url(../img/top/bg-dot.png) 50% 0/2.4rem auto repeat;
}
body.home br.sp {
  display: none;
}
@media screen and (max-width: 1023px) {
  body.home br.pc {
    display: none;
  }
  body.home br.sp {
    display: inline;
  }
}
body.home .button--01 {
  margin: 4rem 0 0;
}
@media screen and (max-width: 1023px) {
  body.home .button--01 {
    margin: 5.3333333333vw 0 0;
  }
}
body.home .button--01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  box-sizing: border-box;
  width: fit-content;
  min-width: 27.4rem;
  height: 5.4rem;
  border: 0.2rem solid #0E86C2;
  padding: 0 2em;
  border-radius: 2.7rem;
  background: #fff;
  color: #0E86C2;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0.3rem 0.3rem #0E86C2;
  transition: 0.2s;
  transition-property: background-color, color;
}
@media screen and (max-width: 1023px) {
  body.home .button--01 a {
    gap: 1rem;
    min-width: 73.0666666667vw;
    height: 14.4vw;
    margin-inline: auto;
    border-width: 0.5333333333vw;
    border-radius: 7.2vw;
    box-shadow: 0.8vw 0.8vw #0E86C2;
  }
}
body.home .button--01 a svg {
  width: 0.6rem;
  fill: none;
}
body.home .button--01 a svg path {
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.home .button--01 a:hover {
  background: #0E86C2;
  color: #fff;
}
body.home .home-content {
  padding: 14rem 0 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-content {
    padding: 7.4666666667vw 0 0;
  }
  body.home .home-content .container {
    padding: 0 5.0666666667vw;
  }
}
body.home .home-content .item {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 50% 50%;
  max-width: 120rem;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  body.home .home-content .item {
    display: block;
  }
}
body.home .home-content .item .image {
  grid-row: 1/2;
  grid-column: 2/3;
  margin: 0 0 4rem -5.2rem;
  border-radius: 5rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  body.home .home-content .item .image {
    margin: 0;
    border-radius: 13.3333333333vw;
  }
}
body.home .home-content .item .content {
  align-self: flex-end;
  background: #fff;
  padding: 6rem 5rem 8.7rem;
  position: relative;
  border-radius: 0 5rem 0 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-content .item .content {
    margin: -12.8vw 4vw 0;
    padding: 9.3333333333vw 0 8vw;
    border-radius: 13.3333333333vw 13.3333333333vw 0 0;
  }
}
body.home .home-content .item .content::before {
  content: "";
  display: block;
  width: 18rem;
  aspect-ratio: 18/15;
  position: absolute;
  top: -8rem;
  right: 9rem;
  background: url(../img/home_content_01_icon.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 1023px) {
  body.home .home-content .item .content::before {
    width: 33.3333333333vw;
    top: -13.3333333333vw;
    right: -4.5333333333vw;
  }
}
body.home .home-content .item .content h2 {
  border-bottom: 0.2rem solid currentColor;
  padding: 0 0 3rem;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  body.home .home-content .item .content h2 {
    border-bottom-width: 0.2666666667vw;
    margin: 0 7.2vw;
    padding: 0 0 5.3333333333vw;
  }
}
body.home .home-content .item .content h2 .sub {
  display: block;
  color: #0E86C2;
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 1023px) {
  body.home .home-content .item .content h2 .sub {
    font-size: 3.7333333333vw;
  }
}
body.home .home-content .item .content h2 .main {
  display: block;
  margin: 1.8rem 0 0;
  font-size: 3rem;
  font-weight: 700;
}
@media screen and (max-width: 1023px) {
  body.home .home-content .item .content h2 .main {
    margin: 2.6666666667vw 0 0;
    font-size: 4.8vw;
  }
}
body.home .home-content .item .content .text {
  margin: 3.6rem 0 0;
  line-height: 2.3rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-content .item .content .text {
    margin: 4vw 7.2vw 0;
    font-size: 4vw;
    line-height: 6.6666666667vw;
  }
  body.home .home-content .item .content .text br {
    display: none;
  }
}
body.home .home-individual {
  margin: 11rem 0 19rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual {
    margin: 26.6666666667vw 0;
  }
  body.home .home-individual .container {
    padding: 0 5.0666666667vw;
  }
}
body.home .home-individual::before {
  content: "";
  display: block;
  width: calc(50% + 40rem);
  height: 47rem;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: #E2F0F8;
  border-radius: 4rem 0 0 4rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual::before {
    content: none;
  }
}
body.home .home-individual .inner {
  display: flex;
  justify-content: space-between;
  max-width: 110rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual .inner {
    display: block;
  }
}
body.home .home-individual .inner::before {
  content: "";
  display: block;
  width: 15.7rem;
  aspect-ratio: 157/116;
  background: url(../img/home_individual_icon_house.png) 0 0/contain no-repeat;
  position: absolute;
  bottom: -2rem;
  left: -3.2rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual .inner::before {
    width: 29.0666666667vw;
    top: 18.1333333333vw;
    bottom: auto;
    left: calc(50% - 14.5333333333vw);
  }
}
body.home .home-individual h2 {
  display: flex;
  flex-direction: column-reverse;
  gap: 2rem;
  writing-mode: vertical-rl;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual h2 {
    flex-direction: column;
    gap: 5.3333333333vw;
    writing-mode: horizontal-tb;
    text-align: center;
  }
}
body.home .home-individual h2 .en {
  display: block;
  font-family: "Montserrat", sans-serif;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual h2 .en {
    font-size: 3.4666666667vw;
  }
}
body.home .home-individual h2 .jp {
  display: block;
  font-size: 4rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual h2 .jp {
    font-size: 7.4666666667vw;
  }
}
body.home .home-individual h2 .jp .blue {
  color: #0E86C2;
}
body.home .home-individual .item-wrap {
  display: flex;
  flex-wrap: wrap;
  width: 90rem;
  gap: 2rem;
  padding: 0 0 8.8rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual .item-wrap {
    flex-direction: column;
    gap: 2.6666666667vw;
    width: auto;
    margin: 26.6666666667vw 0 0;
    padding: 0;
  }
}
body.home .home-individual .item-wrap .item {
  width: 44rem;
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual .item-wrap .item {
    width: auto;
    border-radius: 1.3333333333vw;
  }
}
body.home .home-individual .item-wrap .item a {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 14rem 1fr;
  gap: 0.8rem 1rem;
  padding: 0 4rem 0 0;
  background: #0E86C2;
  position: relative;
  color: #fff;
  line-height: 1;
  text-decoration: none;
  transition: opacity 0.5s;
}
body.home .home-individual .item-wrap .item a::after {
  content: "";
  display: block;
  width: 2rem;
  aspect-ratio: 1;
  position: absolute;
  top: calc(50% - 1rem);
  right: 1rem;
  background: url(../img/arw01_w.svg) 50% 50%/0.6rem auto no-repeat;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px #fff;
}
body.home .home-individual .item-wrap .item a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual .item-wrap .item a {
    grid-template-columns: 22.6666666667vw 1fr;
    gap: 2.6666666667vw;
  }
}
body.home .home-individual .item-wrap .item a .image {
  grid-row: 1/3;
  grid-column: 1/2;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual .item-wrap .item a .image {
    aspect-ratio: 85/70;
    object-fit: cover;
  }
}
body.home .home-individual .item-wrap .item a h3 {
  grid-row: 1/2;
  grid-column: 2/3;
  align-self: flex-end;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  margin: -0.1em 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual .item-wrap .item a h3 {
    font-size: 4.8vw;
  }
}
body.home .home-individual .item-wrap .item a .text {
  grid-row: 2/3;
  grid-column: 2/3;
  align-self: flex-start;
  font-weight: 500;
}
@media screen and (max-width: 1023px) {
  body.home .home-individual .item-wrap .item a .text {
    font-size: 3.4666666667vw;
  }
}
body.home .bnr-fairprice {
  padding: 6.8rem 0;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  body.home .bnr-fairprice {
    padding: 10.6666666667vw 5.0666666667vw;
  }
}
body.home .bnr-fairprice a {
  display: block;
  max-width: 80rem;
  margin: 0 auto;
  background: #fff;
}
body.home .bnr-fairprice a img {
  transition: opacity 0.5s;
}
body.home .bnr-fairprice a:hover img {
  opacity: 0.8;
}
body.home .estimate {
  padding: 7rem 0;
  background: #0E86C2;
}
@media screen and (max-width: 1023px) {
  body.home .estimate {
    padding: 8vw 5.0666666667vw;
  }
}
body.home .estimate .inner {
  max-width: 80rem;
  margin: 0 auto;
  padding: 5rem 9.5rem 3.4rem;
  position: relative;
  background: #fff;
  border-radius: 1.5rem;
}
@media screen and (max-width: 1023px) {
  body.home .estimate .inner {
    padding: 8vw 0 6.9333333333vw;
    border-radius: 3.4666666667vw;
  }
}
body.home .estimate .inner::before {
  content: "";
  display: block;
  width: 15rem;
  aspect-ratio: 1;
  position: absolute;
  right: 0;
  bottom: -4rem;
  background: url(../img/top/blt-form.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 1023px) {
  body.home .estimate .inner::before {
    width: 32vw;
    right: -8vw;
    bottom: -8vw;
  }
}
body.home .estimate .legend,
body.home .estimate .text,
body.home .estimate .note {
  line-height: 1;
  text-align: center;
}
body.home .estimate .legend {
  width: fit-content;
  margin-inline: auto;
  background: linear-gradient(0deg, #FEF283 0.9rem, transparent 0.9rem);
  color: #0E86C2;
  font-size: 3.2rem;
  font-weight: 700;
}
@media screen and (max-width: 1023px) {
  body.home .estimate .legend {
    background: none;
    font-size: 7.4666666667vw;
    line-height: 1.3571428571;
  }
  body.home .estimate .legend span {
    display: block;
    width: fit-content;
    margin-inline: auto;
    background: linear-gradient(0deg, #FEF283 2.4vw, transparent 2.4vw);
  }
}
body.home .estimate .text {
  margin: 3rem 0 0;
  font-size: 1.5rem;
  font-weight: 500;
}
@media screen and (max-width: 1023px) {
  body.home .estimate .text {
    margin: 6.6666666667vw 0 0;
    font-size: 4vw;
  }
}
body.home .estimate .note {
  margin: 1rem 0 0;
  font-size: 1.3rem;
  font-weight: 500;
}
@media screen and (max-width: 1023px) {
  body.home .estimate .note {
    margin: 1.3333333333vw 0 0;
    font-size: 3.4666666667vw;
  }
}
body.home .estimate dl {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 0;
  margin: 4rem 0 0;
}
@media screen and (max-width: 1023px) {
  body.home .estimate dl {
    gap: 4vw 0;
    margin: 8vw 5.3333333333vw 0;
  }
}
body.home .estimate dl dt {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 11rem;
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 1023px) {
  body.home .estimate dl dt {
    gap: 2.6666666667vw;
    width: calc(100% - 50.6666666667vw);
    font-size: 4vw;
  }
  body.home .estimate dl dt:first-child {
    align-items: flex-start;
    line-height: 1;
  }
}
body.home .estimate dl dt .required {
  color: #F37584;
  font-size: 1.2rem;
}
@media screen and (max-width: 1023px) {
  body.home .estimate dl dt .required {
    font-size: 3.2vw;
  }
}
body.home .estimate dl dd {
  width: calc(100% - 11rem);
}
@media screen and (max-width: 1023px) {
  body.home .estimate dl dd {
    width: 50.6666666667vw;
  }
}
body.home .estimate input[type=text],
body.home .estimate input[type=tel] {
  box-sizing: border-box;
  width: 34rem;
  height: 4rem;
  border: 0.1rem solid #D9D9D9;
  border-radius: 0.2rem;
  padding: 0 1rem;
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 1023px) {
  body.home .estimate input[type=text],
  body.home .estimate input[type=tel] {
    width: 100%;
    height: 10.6666666667vw;
    border-width: 0.2666666667vw;
    border-radius: 0.5333333333vw;
    padding: 0 2.6666666667vw;
    font-size: 16px;
  }
}
body.home .estimate input[type=text]::placeholder,
body.home .estimate input[type=tel]::placeholder {
  color: #B0B0B0;
}
@media screen and (max-width: 1023px) {
  body.home .estimate input[type=text]::placeholder,
  body.home .estimate input[type=tel]::placeholder {
    font-size: 3.4666666667vw;
  }
}
body.home .estimate .wpcf7-checkbox {
  display: flex;
  gap: 4rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  body.home .estimate .wpcf7-checkbox {
    flex-direction: column;
    gap: 4vw;
    font-size: 3.4666666667vw;
  }
}
body.home .estimate .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
}
body.home .estimate .wpcf7-checkbox label {
  display: flex;
  align-items: center;
  gap: 0.4em;
}
@media screen and (max-width: 1023px) {
  body.home .estimate .wpcf7-checkbox label {
    gap: 1.8666666667vw;
  }
}
body.home .estimate .wpcf7-checkbox input[type=checkbox] {
  margin: 0;
}
body.home .estimate .wpcf7-checkbox .wpcf7-list-item-label::before, body.home .estimate .wpcf7-checkbox .wpcf7-list-item-label::after {
  content: none;
}
body.home .estimate input[type=submit] {
  display: block;
  width: 24rem;
  height: 5.6rem;
  margin: 2.8rem auto 0;
  background: #FFD600 url(../img/arw01.svg) calc(100% - 2rem) 50%/0.6rem auto no-repeat;
  border-radius: 2.8rem;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  body.home .estimate input[type=submit] {
    width: 64vw;
    height: 14.9333333333vw;
    margin: 6.4vw auto 0;
    background-position: calc(100% - 5.3333333333vw) 50%;
    background-size: 1.6vw auto;
    border-radius: 7.4666666667vw;
    font-size: 4.8vw;
  }
}
body.home .home-konna {
  position: relative;
  padding: 10rem 0;
  background: #fff;
}
@media screen and (max-width: 1023px) {
  body.home .home-konna {
    padding: 16vw 0;
  }
}
body.home .home-konna .container {
  position: relative;
}
@media screen and (max-width: 1023px) {
  body.home .home-konna .container {
    padding: 0 5.0666666667vw;
  }
}
body.home .home-konna .en {
  color: #0E86C2;
  font-family: "Montserrat", sans-serif;
  font-size: 1.58rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  body.home .home-konna .en {
    font-size: 2.9333333333vw;
  }
}
body.home .home-konna h2 {
  margin: 3.5rem 0 0;
  font-size: 4rem;
  font-weight: 700;
  line-height: 4.7rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  body.home .home-konna h2 {
    margin: 5.3333333333vw 0 0;
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
}
body.home .home-konna h2 span {
  color: #0e86c2;
}
body.home .home-konna ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  max-width: 120rem;
  margin: 5rem auto 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-konna ul {
    flex-direction: column;
    gap: 2.6666666667vw;
    margin: 9.3333333333vw 0 0;
  }
}
body.home .home-konna ul li {
  box-sizing: border-box;
  width: calc((100% - 6rem) / 3);
  padding: 3.5rem 3.3rem 2.5rem 3.4rem;
  background: #e2f0f8;
  border-radius: 1.5rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-konna ul li {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: 39.4666666667vw 1fr;
    gap: 4vw 0;
    width: auto;
    padding: 5.3333333333vw 5.3333333333vw 4vw;
    border-radius: 4vw;
  }
  body.home .home-konna ul li .image {
    grid-row: 1/2;
    grid-column: 1/2;
  }
}
body.home .home-konna ul li h3 {
  margin: 2rem 0 0;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 3.2rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  body.home .home-konna ul li h3 {
    grid-row: 1/2;
    grid-column: 2/3;
    align-self: center;
    margin: 0;
    font-size: 3.7333333333vw;
    line-height: 1.4;
    white-space: nowrap;
  }
}
body.home .home-konna ul li h3 span {
  background: linear-gradient(0deg, #FEF283 0.9rem, transparent 0.9rem);
  font-size: 2.8rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-konna ul li h3 span {
    background: linear-gradient(0deg, #FEF283 2.4vw, transparent 2.4vw);
    font-size: 4.5333333333vw;
  }
}
body.home .home-konna ul li .text {
  margin: 1.5rem 0 0;
  font-size: 1.5rem;
  line-height: 2.5rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-konna ul li .text {
    grid-row: 2/3;
    grid-column: 1/3;
    margin: 0;
    font-size: 4vw;
    line-height: 6.6666666667vw;
  }
}
body.home .aboutReform {
  padding: 12rem 0 8rem;
  background: #E2F0F8;
}
@media screen and (max-width: 1023px) {
  body.home .aboutReform {
    padding: 14.6666666667vw 0 13.3333333333vw;
  }
  body.home .aboutReform .container {
    padding: 0 5.0666666667vw;
  }
}
body.home .aboutReform .inner {
  display: flex;
  justify-content: center;
  gap: 4rem;
}
@media screen and (max-width: 1023px) {
  body.home .aboutReform .inner {
    display: block;
  }
}
body.home .aboutReform h2 {
  width: 40rem;
  margin: 1rem 0 0;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 1023px) {
  body.home .aboutReform h2 {
    width: 81.8666666667vw;
    margin: 0 auto;
  }
}
body.home .aboutReform .text {
  width: 68rem;
}
@media screen and (max-width: 1023px) {
  body.home .aboutReform .text {
    width: auto;
    margin: 10.6666666667vw 0 0;
  }
}
body.home .aboutReform .text p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.4rem;
}
@media screen and (max-width: 1023px) {
  body.home .aboutReform .text p {
    font-size: 4vw;
    line-height: 1.6666666667;
  }
}
body.home .aboutReform .text .note {
  margin: 4rem 0 0;
  color: #909090;
  font-size: 1.2rem;
  line-height: 1;
  text-align: right;
}
@media screen and (max-width: 1023px) {
  body.home .aboutReform .text .note {
    margin: 5.3333333333vw 0 0;
    font-size: 3.2vw;
    text-align: left;
  }
}
body.home .home-sumai {
  container-type: inline-size;
  padding: 11rem 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai {
    padding: 18.6666666667vw 0 10.6666666667vw;
  }
}
body.home .home-sumai .container {
  max-width: none;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .container {
    padding: 0 5.0666666667vw;
  }
}
body.home .home-sumai .inner {
  max-width: 108rem;
  margin: 0 auto;
}
body.home .home-sumai .block01 {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr 59rem;
  gap: 7rem 9rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block01 {
    display: block;
  }
}
body.home .home-sumai .block01 h2 {
  grid-row: 1/2;
  grid-column: 1/2;
  justify-self: center;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block01 h2 {
    writing-mode: horizontal-tb;
    text-align: center;
  }
}
body.home .home-sumai .block01 h2 .sub {
  display: block;
  padding: 0 1.1rem 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block01 h2 .sub {
    padding: 0;
    font-size: 3.7333333333vw;
  }
}
body.home .home-sumai .block01 h2 .main {
  display: block;
  margin: 0 1.7rem 0 0;
  font-size: 4rem;
  font-weight: 700;
  line-height: 6.2rem;
  text-decoration: underline #D6E7BA 3rem;
  text-underline-offset: -4.8rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block01 h2 .main {
    margin: 2.6666666667vw 0 0;
    font-size: 7.4666666667vw;
    line-height: 1.1071428571;
    text-decoration-thickness: 2.6666666667vw;
    text-underline-offset: -1.3333333333vw;
  }
}
body.home .home-sumai .block01 .image {
  grid-row: 1/3;
  grid-column: 2/3;
  margin: 0;
  margin-right: min(54rem - 50cqw, 0px);
  border-radius: 4rem 0 0 4rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block01 .image {
    width: 85.3333333333vw;
    margin: 12vw -5.0666666667vw 0 auto;
    border-radius: 10.6666666667vw 0 0 10.6666666667vw;
  }
}
body.home .home-sumai .block01 .image img {
  width: 100%;
  height: 52rem;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block01 .image img {
    height: auto;
  }
}
body.home .home-sumai .block01 .text {
  grid-row: 2/3;
  grid-column: 1/2;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block01 .text {
    margin: 9.3333333333vw 0 0;
    font-size: 4vw;
    line-height: 1.6666666667;
  }
}
body.home .home-sumai .block02 {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 41rem 1fr;
  gap: 5rem 13rem;
  margin: 7rem 0 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block02 {
    display: block;
    margin: 9.3333333333vw 0 0;
  }
}
body.home .home-sumai .block02 .image {
  grid-row: 1/3;
  grid-column: 1/2;
  margin: 0;
  margin-left: min(54rem - 50cqw, 0px);
  border-radius: 0 4rem 4rem 0;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block02 .image {
    width: 74.6666666667vw;
    margin: 9.3333333333vw 0 0 -5.0666666667vw;
    border-radius: 0 10.6666666667vw 10.6666666667vw 0;
  }
}
body.home .home-sumai .block02 .image img {
  width: 100%;
  height: 44rem;
  object-fit: cover;
  object-position: 0 50%;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block02 .image img {
    height: auto;
  }
}
body.home .home-sumai .block02 .text {
  grid-row: 1/2;
  grid-column: 2/3;
  margin: 5rem 0 0;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block02 .text {
    margin: 8vw 0 0;
    font-size: 4vw;
    line-height: 1.6666666667;
  }
}
body.home .home-sumai .block02 .button {
  grid-row: 2/3;
  grid-column: 2/3;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-sumai .block02 .button {
    margin: 8vw 0 0;
  }
}
body.home .home-showroom {
  padding: 10rem 0;
  background: #E2F0F8;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom {
    padding: 21.3333333333vw 0 13.3333333333vw;
  }
}
body.home .home-showroom .container {
  max-width: none;
  padding: 0 5rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .container {
    padding: 0 4vw;
  }
}
body.home .home-showroom .prepend {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: 108rem;
  margin: 0 auto;
  padding: 0 9rem 0 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .prepend {
    display: block;
    padding: 0;
  }
}
body.home .home-showroom .prepend h2 {
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
  writing-mode: vertical-rl;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .prepend h2 {
    gap: 2.6666666667vw;
    writing-mode: horizontal-tb;
    text-align: center;
  }
}
body.home .home-showroom .prepend h2 .sub {
  display: block;
  font-size: 1.8rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .prepend h2 .sub {
    font-size: 3.7333333333vw;
  }
}
body.home .home-showroom .prepend h2 .main {
  display: block;
  font-size: 4rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .prepend h2 .main {
    font-size: 7.4666666667vw;
  }
}
body.home .home-showroom .prepend .text {
  padding: 5rem 0 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .prepend .text {
    padding: 10.6666666667vw 0 0;
  }
}
body.home .home-showroom .prepend .text .catch {
  color: #0E86C2;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .prepend .text .catch {
    font-size: 4.8vw;
  }
}
body.home .home-showroom .prepend .text p {
  margin: 4rem 0 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.4rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .prepend .text p {
    margin: 5.3333333333vw 0 0;
    font-size: 4vw;
    line-height: 1.6666666667;
  }
}
body.home .home-showroom .item-wrap {
  display: flex;
  justify-content: space-between;
  max-width: 108rem;
  margin: 8.5rem auto 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap {
    flex-direction: column;
    gap: 12vw;
    margin: 13.3333333333vw 0 0;
  }
}
body.home .home-showroom .item-wrap .item {
  display: grid;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  width: calc(50% - 1rem);
  background: #fff;
  border-radius: 3rem;
  padding: 7rem 2rem 2rem;
  position: relative;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap .item {
    display: block;
    width: auto;
    border-radius: 5.3333333333vw;
    padding: 12vw 3.2vw 5.3333333333vw;
  }
}
body.home .home-showroom .item-wrap .item h3 {
  width: 23rem;
  position: absolute;
  top: -0.2rem;
  left: 0;
  background: #3771c8;
  border-radius: 0 2.7rem 2.7rem 0;
  color: #fff;
  line-height: 5.4rem;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap .item h3 {
    width: 42.1333333333vw;
    top: -3.7333333333vw;
    border-radius: 0 5.0666666667vw 5.0666666667vw 0;
    line-height: 10.1333333333vw;
    font-size: 4.8vw;
  }
}
body.home .home-showroom .item-wrap .item h3.kikugawa {
  background: #0e86c2;
}
body.home .home-showroom .item-wrap .item h3 span {
  margin-left: 1rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap .item h3 span {
    margin-left: 2.4vw;
    font-size: 3.7333333333vw;
  }
}
body.home .home-showroom .item-wrap .item .images {
  grid-row: 1/2;
  grid-column: 1/3;
  display: flex;
  justify-content: space-between;
}
body.home .home-showroom .item-wrap .item .images li {
  width: calc(50% - 0.5rem);
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap .item .images li {
    width: 41.6vw;
  }
}
body.home .home-showroom .item-wrap .item .images img {
  width: 100%;
  height: auto;
}
body.home .home-showroom .item-wrap .item .map {
  grid-row: 2/3;
  grid-column: 1/3;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap .item .map {
    margin: 1.8666666667vw 0 0;
  }
}
body.home .home-showroom .item-wrap .item .map iframe {
  width: 100%;
  height: 25rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap .item .map iframe {
    height: 42.6666666667vw;
  }
}
body.home .home-showroom .item-wrap .item .info {
  grid-row: 3/4;
  grid-column: 1/2;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 0 0;
  line-height: 1;
  font-weight: bold;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap .item .info {
    gap: 2.6666666667vw;
    padding: 5.3333333333vw 0 0;
    font-size: 3.4666666667vw;
  }
}
body.home .home-showroom .item-wrap .item .info .address,
body.home .home-showroom .item-wrap .item .info .tel {
  background: 0 50%/2.2rem auto no-repeat;
  padding-left: 3rem;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap .item .info .address,
  body.home .home-showroom .item-wrap .item .info .tel {
    background-size: 3.7333333333vw;
    padding-left: 5.3333333333vw;
  }
}
body.home .home-showroom .item-wrap .item .info .address {
  background-image: url(../img/home_showroom_icon_house.png);
}
body.home .home-showroom .item-wrap .item .info .tel {
  background-image: url(../img/home_showroom_icon_tel.png);
}
body.home .home-showroom .item-wrap .item .sns {
  grid-row: 3/4;
  grid-column: 2/3;
  display: flex;
  justify-content: space-between;
  width: 12rem;
  padding: 2rem 0 0;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap .item .sns {
    justify-content: flex-end;
    gap: 3.2vw;
    width: auto;
    padding: 3.2vw 0 0;
  }
}
body.home .home-showroom .item-wrap .item .sns a {
  display: block;
  width: 5rem;
  transition: opacity 0.5s;
}
@media screen and (max-width: 1023px) {
  body.home .home-showroom .item-wrap .item .sns a {
    width: 8.8vw;
  }
}
body.home .home-showroom .item-wrap .item .sns a:hover {
  opacity: 0.6;
}

footer .bnr {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin: 0 0 6rem;
  padding: 0 1.5rem;
}
@media screen and (max-width: 750px) {
  footer .bnr {
    flex-direction: column;
    gap: 1.5rem;
    padding: 0 1.5rem;
  }
}
footer .bnr li {
  width: 35rem;
  max-width: calc((100% - 3rem) / 3);
}
@media screen and (max-width: 750px) {
  footer .bnr li {
    width: auto;
    max-width: none;
  }
  footer .bnr li img {
    width: 100%;
  }
}
footer .bnr a {
  transition: opacity 0.2s;
}
footer .bnr a:hover {
  opacity: 0.8;
}

.mainvisual.inquiry,
.mainvisual.commonPage {
  padding-top: 5rem 0 0;
  background: #E2F0F8;
}
.mainvisual.inquiry .breadcrumb,
.mainvisual.commonPage .breadcrumb {
  position: static;
}
.mainvisual.inquiry .title,
.mainvisual.commonPage .title {
  padding: 5rem 0 0;
  position: static;
  background: transparent;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.mainvisual.inquiry .title::before,
.mainvisual.commonPage .title::before {
  content: none;
}
.mainvisual.inquiry .title .en,
.mainvisual.commonPage .title .en {
  display: block;
  margin: 0 0 1rem;
  font-size: 1.8rem;
}
.mainvisual.inquiry .title .jp,
.mainvisual.commonPage .title .jp {
  display: block;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .mainvisual.inquiry .title .jp,
  .mainvisual.commonPage .title .jp {
    font-size: 2.5rem;
  }
}

.mainvisual.commonPage {
  padding-bottom: 5rem;
}
.mainvisual.commonPage + section {
  padding-block: 5rem;
}

.inquiry-lead.point {
  padding: 4rem 0;
  background: #E2F0F8;
}
@media screen and (max-width: 1023px) {
  .inquiry-lead.point {
    padding: 4rem 0 0;
  }
}
.inquiry-lead.point .container {
  padding-block: 0;
}
.inquiry-lead.point p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.6rem;
  text-align: center;
}
.inquiry-lead.point p span {
  text-decoration: underline #FCFA96 0.8rem;
  text-underline-offset: -0.4rem;
}
.inquiry-lead.point + .inquiry-contact {
  padding-top: 0;
}

.form-section.inquiry-form .wpcf7-list-item:has(input[type=checkbox]),
.form-section.inquiry-form .wpcf7-list-item:has(input[type=radio]) {
  margin: 0;
}
.form-section.inquiry-form input[type=text][name=your-subject-misc],
.form-section.inquiry-form input[type=text][name=your-kasyo-misc] {
  width: 60rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 1023px) {
  .form-section.inquiry-form input[type=text][name=your-subject-misc],
  .form-section.inquiry-form input[type=text][name=your-kasyo-misc] {
    width: 100%;
  }
}
.form-section.inquiry-form .input:has(.kasyoGroup) {
  width: 60rem;
}
@media screen and (max-width: 1023px) {
  .form-section.inquiry-form .input:has(.kasyoGroup) {
    width: 100%;
  }
}
.form-section.inquiry-form .kasyoGroup {
  border-top: 0.1rem solid #2E3234;
  padding: 2.5rem 0;
}
.form-section.inquiry-form .kasyoGroup:first-child {
  border-top: none;
  padding-top: 0;
}
.form-section.inquiry-form .kasyoGroup:last-child {
  padding-bottom: 0;
}
.form-section.inquiry-form .kasyoGroup .legend::before {
  content: "▼";
}
.form-section.inquiry-form .kasyoGroup.col .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 1023px) {
  .form-section.inquiry-form .kasyoGroup.col .wpcf7-form-control {
    display: block;
  }
}
.form-section.inquiry-form .kasyoGroup.col .wpcf7-form-control .wpcf7-list-item {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .form-section.inquiry-form .kasyoGroup.col .wpcf7-form-control .wpcf7-list-item {
    width: auto;
  }
}

.exterior_reform.faq.inquiry {
  padding: 11rem 0;
}
@media screen and (max-width: 1023px) {
  .exterior_reform.faq.inquiry {
    padding: 7rem 0 3rem;
  }
}
.exterior_reform.faq.inquiry .prepend {
  background: #fff;
}
.exterior_reform.faq.inquiry .prepend .container {
  padding: 0;
  background: none;
}
.exterior_reform.faq.inquiry .body {
  border-bottom: none;
  padding-bottom: 0;
}
.exterior_reform.faq.inquiry .body .group {
  margin-top: 0;
  border-top: 1px solid #E9E5E0;
}

section .blog-wrap.noSidebar {
  max-width: none;
}
section .blog-wrap.noSidebar .list {
  width: auto;
  max-width: 105.4rem;
  gap: 3.5rem 0;
  margin: 0 auto;
}
@media screen and (max-width: 780px) {
  section .blog-wrap.noSidebar .list {
    gap: 2.6rem;
  }
}
section .blog-wrap.noSidebar .list li {
  width: calc((100% - 7rem) / 3);
}
@media screen and (max-width: 780px) {
  section .blog-wrap.noSidebar .list li {
    width: calc(50% - 1.3rem);
  }
}/*# sourceMappingURL=style.css.map */