@charset "UTF-8";
.d-pc,
img[src$="_pc.jpg"],
img[src$="_pc.png"] {
  display: none;
}

img {
  max-width: 100%;
}

.top-header {
  margin-bottom: 40px;
  font-size: 28px;
}

.top-header span {
  border-bottom: 5px solid #15669c;
}

.top-2col,
.top-3col {
  padding: 0 20px;
}

.slideout {
  opacity: 0;
  top: 10px;
}

.slidein {
  opacity: 1;
  top: 0;
}

.font-indent {
  text-indent: -1em;
  padding-left: 1em;
}

.ba-area {
  position: relative;
  margin: 0 10px 20px;
}

.ba-area:not(:last-of-type) {
  margin-bottom: 30px;
}

.ba-area::before {
  content: "";
  position: absolute;
  top: calc(50% - 9.75px);
  left: calc(50% - 5.625px);
  border-color: transparent transparent transparent #007bff;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11.25px 0 11.25px 19.5px;
}

.ba-area h4 {
  margin-bottom: 20px;
  font-size: 130%;
  padding-bottom: 5px;
  border-bottom: 1px solid #0082d8;
  font-weight: 700;
  font-size: 16px;
  color: #0082d8;
}

.ba-area .ba-area-list {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.ba-area .ba-area-list li {
  position: relative;
  list-style-type: none;
  width: 42%;
}

.ba-area .ba-area-list li::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  width: 80px;
  padding: 5px 15px;
}

.ba-area .ba-area-list li:first-child::after {
  content: "Before";
  background: #0082d8;
  pointer-events: none;
}

.ba-area .ba-area-list li:last-child::after {
  content: "After";
  background: #a47e23;
  pointer-events: none;
}

.ba-area .ba-area-list li img {
  width: 100%;
  display: block;
}

.page-header {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 200;
  padding: 4% 0 2%;
  background-color: #fff;
}

.page-catch {
  display: none;
}

.header-nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 15px;
  list-style-type: none;
}

.header-nav li {
  overflow: hidden;
  width: 45%;
}

.header-nav li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.8666666667vw;
  font-feature-settings: "palt";
  letter-spacing: 0.025em;
  text-decoration: none;
  box-sizing: border-box;
  text-align: center;
  width: 100%;
  height: 100%;
  padding: 0 0.0675675676vw;
}

.header-nav li > a:hover {
  opacity: 0.65;
  transition: 0.3s;
}

.header-nav li.inquiry-faq {
  min-width: 35%;
}

.header-nav li.inquiry-faq > a {
  position: relative;
  justify-content: flex-start;
  background-color: #ec407a;
  font-weight: 700;
  box-shadow: none;
  border: none;
  border-radius: 0;
  letter-spacing: 0.05em;
}

.header-nav li.inquiry-faq > a::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 50%;
  transform: rotate(15deg) translateY(50%);
  background: url(../img/ico_faq.svg) no-repeat 0 0;
  width: 40px;
  height: 40px;
}

.header-nav li.inquiry-faq > a > span {
  position: relative;
  padding-left: 5px;
}

.header-nav li.inquiry-resident > a {
  background-color: #757575;
}

.header-nav li.inquiry-rental > a {
  background-color: #ffab00;
}

.header-nav li.inquiry-architecture > a {
  background-color: #00b8d4;
}

.header-nav li + .search-box {
  width: 50%;
}

.search-box-inner {
  display: flex;
}

.search-box-form {
  width: calc(100% - 26px);
  padding: 0 !important;
  border: 1px solid #999 !important;
  font-family: inherit;
  line-height: inherit;
}

.search-box-form:focus {
  outline: 0;
}

.search-box-btn {
  width: 26px;
  height: 26px;
  padding: 0;
  border-right: 1px solid #999;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
  border-left: none;
  background: #eee url(../img/icon_search.png) center no-repeat;
  line-height: inherit;
  font-family: inherit;
}

#___gcse_0,
.page-header .inner {
  margin: 0 4%;
}

.sp-menu {
  position: absolute;
  top: 0;
  right: 4%;
  display: inline-block;
  overflow: hidden;
  width: 36px;
  height: 24px;
  padding-top: 6%;
  transition: opacity 0.15s linear, filter 0.15s linear;
  cursor: pointer;
}

.sp-menu-box {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}

.sp-menu-inner,
.sp-menu-inner::after,
.sp-menu-inner::before {
  position: absolute;
  display: block;
  width: 100%;
  height: 4px;
  border-radius: 2px;
  background-color: #09c;
}

.sp-menu-inner {
  top: 0;
  transition: transform 0.3s ease;
}

.sp-menu-inner::before {
  content: "";
  top: 10px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.sp-menu-inner::after {
  content: "";
  top: 20px;
  transition: transform 0.3s ease;
}

.btn-menu-toggle:checked ~ .page-header .sp-menu-inner {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.btn-menu-toggle:checked ~ .page-header .sp-menu-inner::before {
  transform: translate3d(-10px, 0, 0) rotate(-45deg);
  opacity: 0;
}

.btn-menu-toggle:checked ~ .page-header .sp-menu-inner::after {
  transform: translate3d(0, -20px, 0) rotate(-90deg);
}

.breadcrumbs {
  margin: 10px 10px 20px;
}

.page-nav {
  position: sticky;
  left: 0;
  top: 103px;
  z-index: 200;
}

.nav-list {
  position: fixed;
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
  height: calc(100% - 63px);
  margin-top: 63px;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  border-top: 1px solid #3873a6;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.95);
}

.nav-list li {
  border-bottom: 1px solid #3873a6;
}

.nav-list li a {
  display: block;
  padding: 15px 10px;
  line-height: 1;
  text-decoration: none;
  color: #3873a6;
}

.nav-list-hover ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -1px;
  border-top: 1px solid #3873a6;
  list-style-type: none;
}

.nav-list-hover ul li {
  width: 50%;
  margin-top: -1px;
  box-sizing: border-box;
}

.nav-list-hover ul li a {
  padding: 10px;
}

.nav-list-hover ul li:nth-of-type(odd) a {
  border-right: 1px solid #3873a6;
}

.inner_box {
  margin-left: 10px;
  margin-right: 10px;
}

.imagelightbox-close {
  top: 20px;
  right: 20px;
  width: 30px;
  height: 30px;
}

.imagelightbox-close::before {
  font-size: 20px;
}

.imagelightbox-arrow {
  width: 20px;
  padding: 5px;
  font-size: 20px;
}

.top-slider {
  margin-bottom: 50px;
}

.slick-dots {
  bottom: -23px;
}

.slider-next,
.slider-prev {
  width: 8%;
  transform: translateY(-50%);
}

/* ============================================
  Swiper
============================================ */
.slideArea {
  position: relative;
  width: 100%;
  margin-bottom: 50px;
}
.slideArea::before {
  content: "";
  display: block;
  padding-top: 31.6666666667%;
}
.slideArea_container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}
.slideArea .swiper-slide {
  position: relative;
}
.slideArea .swiper-slide .img img {
  display: block;
  width: 100%;
  height: auto;
}
.slideArea .swiper-pagination {
  bottom: -30px;
}
.slideArea .swiper-pagination-bullet {
  position: relative;
  background: #ccc;
  opacity: 1;
  width: 16px;
  height: 16px;
}
.slideArea .swiper-pagination-bullet::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #333;
  border-radius: 50%;
  opacity: 0;
  transition: all 300ms;
  width: 50%;
  height: 50%;
  margin: auto;
}
.slideArea .swiper-pagination-bullet-active::before {
  opacity: 1;
}
.slideArea .swiper-button-prev, .slideArea .swiper-button-next {
  width: 30px;
  height: 30px;
  margin-top: -15px;
}
.slideArea .swiper-button-prev::after, .slideArea .swiper-button-next::after {
  content: "";
}
.slideArea .swiper-button-prev:hover, .slideArea .swiper-button-next:hover {
  opacity: 0.65;
}
.slideArea .swiper-button-prev {
  left: 0;
}
.slideArea .swiper-button-next {
  right: 0;
}
.slideArea .swiper .slide_8 .txtArea {
  position: absolute;
  top: 14.7368421053%;
  right: 0;
  bottom: 0;
  left: 0;
  width: 64%;
  margin: 0 auto;
}
.slideArea .swiper .slide_8 .txtArea .h-01 {
  width: 100%;
  margin-bottom: 4.6875%;
}
.slideArea .swiper .slide_8 .txtArea .txt {
  width: auto;
  height: 6.3157894737%;
  margin-left: 22.1354166667%;
}
.slideArea .swiper .slide_8 .txtArea .txt + .txt {
  margin-top: 2.34375%;
}
.slideArea .swiper .slide_8 .txtArea .txt img {
  vertical-align: top;
  max-width: unset;
  width: auto;
  height: 100%;
}
.slideArea .swiper .slide_8 .txtArea .btn {
  display: block;
  background: #fff;
  line-height: 1;
  width: 28.3854166667%;
  margin: 4.6875% auto 0;
}
.slideArea .swiper .slide_8 .txtArea .btn img {
  max-width: unset;
  vertical-align: top;
  transition: all 300ms;
}
.slideArea .swiper .slide_8 .txtArea .btn:hover img {
  opacity: 0.35;
}
.slideArea .swiper .slide_9 .txtArea {
  position: absolute;
  top: 19.7368421053%;
  left: 6.8333333333%;
  width: 37.9166666667%;
}

.top-main {
  margin-bottom: 20px;
}

.top-main > div:nth-of-type(n+2) {
  margin-top: 30px;
}

.top-main-item a {
  text-decoration: none;
}

.header-item {
  margin-bottom: 12px;
  text-align: center;
  line-height: 1;
  font-size: 18px;
  font-weight: 700;
  color: #000;
}

.header-item span {
  display: inline-block;
  padding-bottom: 12px;
  border-bottom: 5px solid #3873a6;
}

.top-main-image {
  position: relative;
  width: 80%;
  margin: 0 auto 20px;
  padding-top: 33%;
  overflow: hidden;
}

.top-main-image img {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
}

.top-main-item-text {
  width: 64%;
  padding-right: 10px;
  margin: 0 auto;
  background: transparent url(../img/arrow_r_black_13x22.png) right center no-repeat;
  background-size: 6px auto;
  box-sizing: border-box;
  color: #000a10;
}

.top-area {
  width: 90%;
  margin: 0 auto 30px;
  padding: 5px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

.top-area dt {
  font-size: 20px;
  font-weight: 700;
}

.top-panel-item {
  position: relative;
  margin-bottom: 15px;
  padding: 6px 0;
}

.top-panel-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 6px solid #fff;
  border-color: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}

.top-panel-list div:nth-of-type(1) {
  background: transparent url(../img/top_panel_1.jpg) center center no-repeat;
  background-size: cover;
}

.top-panel-list div:nth-of-type(2) {
  background: #6594b2 url(../img/top_panel_2.jpg) center left no-repeat;
  background-color: rgba(101, 148, 178, 0.65);
  background-size: 33.3% auto;
}

.top-panel-list div:nth-of-type(3) {
  background: #6594b2 url(../img/top_panel_3.jpg) center left no-repeat;
  background-color: rgba(101, 148, 178, 0.65);
  background-size: 33.3% auto;
}

.top-panel-text {
  position: absolute;
  top: 50%;
  left: 25%;
  transform: translate(-50%, -50%);
  width: 50%;
  text-align: center;
}

.top-panel-text img {
  width: 64%;
}

.top-panel-link {
  position: relative;
  z-index: 2;
  margin: 0 6px 0 50%;
  padding-top: 3.2vw;
  background-color: rgba(0, 0, 0, 0.4);
}

.top-panel-link li {
  margin-bottom: 3.2vw;
  line-height: 1;
}

.top-panel-link img {
  width: 100%;
  vertical-align: bottom;
}

.top-panel-item > a {
  position: relative;
  z-index: 2;
  display: block;
  width: 58%;
  padding: 7.4vw 0 7.4vw 42%;
  text-decoration: none;
  color: #fff;
}

.top-info {
  margin-bottom: 30px;
  padding: 20px 2% 35px;
  background-color: #f5f5f5;
}

#starkid_news {
  padding: 2%;
  list-style-type: none;
  background-color: #fff;
}

#starkid_news dt {
  margin-bottom: 5px;
}

#starkid_news li + li {
  margin-top: 15px;
}

#starkid_news a {
  color: inherit;
  text-decoration: none;
}

.top-info2 {
  margin: 0 20px 40px;
}

.top-info2 #starkid_news {
  padding: 0;
}

.top-info2 #starkid_news li {
  padding: 10px 5px;
  border-bottom: 1px solid #ddd;
}

.top-info2 #starkid_news li:nth-of-type(n+2) {
  margin-top: 0;
}

.top-case-box {
  display: block;
  text-align: center;
  width: 100%;
}

.top-case-text_pro {
  display: inline-block;
  color: #fff;
  width: 100%;
  text-align: center;
  position: relative;
}

.top-case-text_pro p a {
  display: inline-block;
  background-color: #015b99;
  text-align: center;
  text-decoration: none;
  font-size: 0.9em;
  color: #fff;
  width: 80%;
  margin-top: 20px;
  padding: 11px;
}

.top-case-text_pro_sub {
  margin-left: auto;
}

.top-case-text_pro::after {
  content: ">";
  font-size: 1em;
  position: absolute;
  top: 65%;
  right: 50px;
  transform: translateY(-50%) scale(1, 2);
}

.top-table {
  width: 100%;
  border: 1px solid #595959;
  border-collapse: collapse;
  vertical-align: middle;
  color: #333;
  font-size: 0.8em;
}

.top-table-td {
  text-align: center;
  vertical-align: middle;
  background-color: #ddd;
  padding: 10px 10px 10px 10px;
  white-space: nowrap;
  width: 15%;
}

.top-table-td2 {
  vertical-align: middle;
  padding: 10px 10px 10px 10px;
  width: 35%;
}

.top-table td {
  border: 1px solid #595959;
  border-collapse: collapse;
}

.top_font2 {
  text-align: left;
  padding-left: 20px;
}

.top_font2 span {
  color: red;
  font-weight: 600;
  font-size: 1.5em;
}

.top-case {
  margin-bottom: 40px;
}

.top-case-desc {
  width: 86%;
  margin: 0 auto 20px;
  text-align: center;
  font-weight: 700;
}

.top-case-list {
  margin-bottom: 20px;
  text-align: center;
  font-size: 0;
}

.top-case-list li {
  display: inline-block;
  width: 29%;
  margin: 0 2%;
}

.case-title {
  margin-bottom: 20px;
}

.top-case-list li img {
  width: 100%;
}

.top-case-btn {
  margin-bottom: 25px;
  text-align: center;
}

.top-case-btn img {
  width: 30%;
}

.top-casesub-list {
  padding-top: 1px;
  background: #fff url(../img/bg_dotted.png) center top repeat-x;
}

.top-casesub-item {
  background: #fff url(../img/bg_dotted.png) center bottom repeat-x;
}

.top-casesub-item a {
  display: block;
  padding: 6px 0;
  background: transparent url(../img/arrow_r_black_13x22.png) 95% 50% no-repeat;
  background-size: 6px auto;
  font-size: 10px;
  color: #000a10;
}

.top-casesub-item a::after {
  content: "";
  display: block;
  clear: both;
}

.subheader-item,
.top-casesub-item p {
  width: 71%;
  float: right;
}

.subheader-item span {
  margin-bottom: 10px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  border-bottom: 4px solid #3873a6;
}

.top-casesub-item p {
  padding-right: 10%;
  box-sizing: border-box;
}

.top-casesub-item p br {
  display: none;
}

.top-casesub-item figure {
  width: 27%;
  margin-left: 1%;
  float: left;
}

.top-casesub-item figure img {
  width: 100%;
}

.top-category {
  margin-bottom: 20px;
  padding: 25px 0;
  background-color: #f5f5f5;
}

.top-category-desc {
  margin: 0 2% 20px;
  text-align: center;
}

.top-category-item {
  margin: 0 2% 10px;
}

.top-category-item img {
  float: left;
}

.top-category-item dl {
  width: calc(100% - 110px);
  float: right;
}

.top-category-item dt {
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 16px;
  color: #15669c;
}

.top-category-item dd a {
  color: #000a10;
}

.top-3point,
.top-build,
.top-info2 {
  margin-bottom: 40px;
}

.top-3point li {
  margin: 0 0 30px;
  padding: 15px;
  background-color: #ffe8d9;
}

.top-3point li .img {
  margin-bottom: 20px;
}

.top-3point li .img img {
  width: 100%;
}

.top-3point h3 {
  margin-bottom: 15px;
  padding-bottom: 5px;
  font-size: 18px;
}

.top-3point dt {
  margin-bottom: 20px;
  font-size: 20px;
}

.top-chintai {
  margin-bottom: 60px;
}

.top-loopslider {
  width: 100%;
}
.top-loopslider .swiper-wrapper {
  transition-timing-function: linear;
}
.top-loopslider .swiper-slide {
  width: 156px;
}
.top-loopslider .swiper .img {
  position: relative;
  background: #eee;
  overflow: hidden;
}
.top-loopslider .swiper .img::before {
  content: "";
  display: block;
  padding-top: 90.3846153846%;
}
.top-loopslider .swiper .img img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
  transition: all 1s;
  width: 100%;
  height: 100%;
  margin: auto;
}
.top-loopslider .swiper .img:hover img {
  transform: scale(1.1);
}
.top-loopslider .swiper .category {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  font-size: 10px;
  white-space: nowrap;
  pointer-events: none;
  min-width: 25%;
  padding: 5px;
}

.top-build-inner li,
.top-other li {
  max-width: 312px;
  margin: 0 auto 30px;
}

.top-build-label {
  display: block;
  padding: 10px 30px 10px 15px;
  background: #fff url(../img/arrow_r_deepblue_14x24.png) center right 15px no-repeat;
  font-size: 20px;
}

.top-reform {
  margin-bottom: 40px;
  padding: 40px 0;
  background-color: #e6eef4;
}

.top-reform h3 {
  margin: 30px 0 20px;
  text-align: center;
  font-weight: 700;
  font-size: 20px;
}

.top-reform h3 span {
  border-bottom: 2px solid #15669c;
}

.top-reform iframe {
  display: block;
  margin: 0 auto;
  max-width: 312px;
  aspect-ratio: 16 / 9;
  border: none;
}

.top-other a {
  letter-spacing: 2px;
  font-size: 26px;
}

.top-area2 {
  margin: 0 20px 50px;
  padding: 15px;
}

.case-nav {
  justify-content: space-between;
  margin: 20px 10px;
}

.case-nav li {
  width: 100%;
  box-sizing: border-box;
}

.case-nav-inner {
  width: 48%;
  margin-top: 10px;
}

.case-nav .case-nav-inner:last-of-type {
  width: 100%;
}

.case-nav-index a,
.case-nav-menu a .case-nav-menu-right a {
  padding: 5px 20px 5px 8px;
}

.case-wrapper {
  margin-bottom: 40px;
}

.case-wrapper h2 {
  padding: 0 10px 5px;
  font-size: 20px;
}

.case-wrapper h3 {
  margin: 20px 10px 15px;
}

.case-wrapper > dl,
.case-wrapper > figure,
.case-wrapper > p {
  margin: 20px 10px;
}

.case-wrapper .tabList {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 3.7453183521vw auto 7.4906367041vw;
}

.case-wrapper .tabList_item {
  width: 50%;
  height: 12.5468164794vw;
}

.case-wrapper .tabList_item > a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #f5f5f5;
  color: #16669c;
  font-size: 4.0262172285vw;
  font-weight: 700;
  text-decoration: none;
  border-radius: 0.936329588vw 0.936329588vw 0 0;
  width: 100%;
  height: 100%;
}

.case-wrapper .tabList_item > a:hover {
  opacity: 0.7;
}

.case-wrapper .tabList_item > a.is-current {
  background: #16669c;
  color: #fff;
}

.case-wrapper .tabList_item > a.is-current::before {
  content: "";
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.2471910112vw 1.2640449438vw 0 1.2640449438vw;
  border-color: #16669c transparent transparent transparent;
  margin: -0.2808988764vw auto 0;
}

.case-wrapper .tabList_item > a > span {
  position: relative;
}

.case-wrapper .tabList_item > a > span::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3.7453183521vw;
  bottom: 0;
  border-top: 2px solid #00538d;
  border-right: 2px solid #00538d;
  box-sizing: border-box;
  transform: rotate(45deg);
  width: 1.6853932584vw;
  height: 1.6853932584vw;
  margin: auto 0;
}

.case-wrapper .tabList_item > a.is-current > span::before {
  display: none;
}

.case-index {
  margin: 20px 0;
  padding: 10px;
}

.case-item {
  width: 100%;
  margin-bottom: 10px;
}

.case-item-title {
  padding: 10px 10px 10px 15px;
}

.case-item_teble {
  width: 100%;
  margin-bottom: 10px;
  padding: 10px;
}

.case-panel {
  padding: 10px;
}

.case-panel li {
  width: 100%;
  margin-bottom: 20px;
}

.case-panel ul ul {
  right: 5%;
  bottom: 7%;
  width: 90%;
}

.case-panel ul ul li {
  margin: 4% 0 0;
}

.case-panel ul ul a {
  height: 8%;
}

.case-category {
  justify-content: space-between;
  margin-bottom: 20px;
}

.case-category h2 {
  padding: 10px;
  font-size: 18px;
}

.case-category p {
  padding: 0 10px;
  margin-bottom: 20px;
}

.case-category dl {
  width: calc(48% - 10px);
  margin: 15px 0 0;
}

.case-category dl:nth-child(odd) {
  margin-left: 10px;
}

.case-category dl:nth-child(even) {
  margin-right: 10px;
}

.case-category dt {
  margin-bottom: 20px;
  padding: 5px 15px;
  border-radius: 12px;
}

.case-category dd {
  margin: 5px 0 0 15px;
}

.case-thumb {
  justify-content: space-between;
  margin: 0 10px 20px;
}

.case-thumb li {
  width: 48%;
  position: relative;
}

.case-thumb li:after {
  content: url(../../case/images/arrow-R.png);
  display: block;
  top: 40%;
  right: -12%;
  z-index: 1;
  position: absolute;
}

.case-thumb li:last-child:after,
.case-thumb li:nth-child(2n):after {
  display: none;
}

.case-thumb li:after {
  display: none;
}

.case-thumb li:nth-of-type(n+3) {
  margin-top: 10px;
}

.case-comment {
  margin-bottom: 20px;
}

.case-nav-end {
  flex-wrap: wrap;
}

.case-nav-end a {
  padding: 10px 40px 10px 10px;
}

.workhistory-image {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 15px;
}

.workhistory-image li {
  width: calc(50% - 10px);
  max-width: 300px;
  margin: 0 0 50px;
}

.workhistory-image li figure {
  width: 100%;
  height: 150px;
  margin-bottom: 10px;
  background-color: #c7c7c7;
}

.workhistory-image li img {
  width: 100%;
  height: 100%;
  object-fit: scale-down;
}

.record,
.record tbody,
.record td,
.record th,
.record tr {
  display: block;
}

.record tr:nth-of-type(1) {
  display: none;
}

.record tr:nth-of-type(n+2) {
  padding: 10px;
}

.record tr:nth-of-type(n+2) td {
  position: relative;
  padding: 3px 3px 3px 90px !important;
  border: 1px solid #cfcfcf;
}

.record tr:nth-of-type(n+2) td + td {
  margin-top: -1px;
}

.record tr:nth-of-type(n+2) td::before {
  position: absolute;
  top: 3px;
  left: 3px;
}

.record tr:nth-of-type(n+2) td::after {
  content: "";
  position: absolute;
  top: 0;
  left: 84px;
  display: inline-block;
  width: 1px;
  height: 100%;
  background-color: #cfcfcf;
}

.record tr:nth-of-type(n+2) td:nth-of-type(1)::before {
  content: "工事名";
}

.record tr:nth-of-type(n+2) td:nth-of-type(2)::before {
  content: "用途";
}

.record tr:nth-of-type(n+2) td:nth-of-type(3)::before {
  content: "住所";
}

.record tr:nth-of-type(n+2) td:nth-of-type(4)::before {
  content: "構造";
}

.record tr:nth-of-type(n+2) td:nth-of-type(5)::before {
  content: "施工床面積";
}

.record tr:nth-of-type(n+2) td:nth-of-type(6)::before {
  content: "工期";
}

.record tr > td:nth-of-type(even) {
  background-color: #eff7ff;
}

.case-image {
  background-color: #e0e0e0;
  text-align: center;
}

.case-image img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.main-nav .main-nav-inner {
  width: 100%;
  margin-bottom: 60px;
  padding: 0 10px;
  box-sizing: border-box;
}

.main-nav-inner li {
  width: 100%;
  height: 100%;
}

.main-nav-inner li:not(:last-child) {
  margin-bottom: 10px;
}

.main-nav-inner .case-nav-index a {
  border: 2px solid #c2dbeb;
  background-color: #fff;
  color: #15669c;
  height: 100%;
  display: flex;
  align-items: center;
}

.main-nav-inner .case-nav-index a:after {
  transform: rotate(-90deg);
  top: auto;
}

.maintenance-table,
.maintenance-table tbody,
.maintenance-table td,
.maintenance-table th,
.maintenance-table tr {
  display: block;
}

.maintenance-table tr:first-of-type {
  display: none;
}

.maintenance-table td[rowspan] {
  margin: 10px 0 20px;
  padding: 5px 0;
  text-align: center;
  font-weight: 700;
}

.maintenance-table td[colspan] {
  padding: 5px 10px;
  margin-right: 10px;
  margin-left: 10px;
}

.maintenance-content {
  margin: 10px 10px 20px;
}

.maintenance-table .maintenance-group td[rowspan] ~ td:not([colspan]) {
  margin: 0 10px;
}

.maintenance-ch,
.maintenance-table .maintenance-group td[rowspan] ~ td:not([colspan]):last-of-type {
  margin-bottom: 20px;
}

.maintenance-ch td,
.maintenance-content td {
  position: relative;
  margin-top: -1px;
  padding-left: 150px;
  border: 1px solid #bababa;
  min-height: 21px;
}

.maintenance-ch td:not([rowspan]) {
  margin-left: 10px;
  margin-right: 10px;
}

.maintenance-ch td::before,
.maintenance-content td::before {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 146px;
  height: 100%;
  padding: 3px;
  box-sizing: border-box;
  font-weight: 700;
}

.maintenance-ch td:nth-last-of-type(1)::before,
.maintenance-content td:nth-last-of-type(1)::before {
  content: "更新・取り替えの目安";
  background-color: #35aef5;
}

.maintenance-ch td:nth-last-of-type(2)::before,
.maintenance-content td:nth-last-of-type(2)::before {
  content: "点検時期の目安";
  background-color: #65c2f8;
}

.maintenance-ch td:nth-last-of-type(3)::before,
.maintenance-content td:nth-last-of-type(3)::before {
  content: "主な点検項目";
  background-color: #8ed2fa;
}

.maintenance-ch td:nth-last-of-type(4)::before,
.maintenance-content td:nth-last-of-type(4)::before {
  content: "点検部位";
  background-color: #c0e6fc;
}

.maintenance-list li {
  margin: 0 10px 20px;
}

.mainte-btn {
  width: 100%;
  margin: 20px 0 40px;
  padding: 10px 40px;
  box-sizing: border-box;
}

.covid-list {
  margin-bottom: 30px;
}

.covid-list figure,
.covid-point {
  margin: 0 10px;
  text-align: center;
}

.covid-list img {
  margin: auto;
  max-width: 100%;
}

.covid-list li {
  margin: auto;
  margin-bottom: 15px;
  text-align: center;
}

.reform-list {
  margin-bottom: 30px;
}

.reform-list figure,
.reform-point {
  margin: 0 10px;
  text-align: center;
}

.reform-list figcaption,
.reform-point figcaption {
  margin: 20px 0;
  text-align: left;
}

.reform-point figcaption p {
  margin-bottom: 15px;
}

.reform-list .blue-right-btn,
.reform-point .blue-down-btn,
.reform-point .blue-right-btn {
  display: block;
  padding: 5px 0;
  text-align: center;
}

.reform-list .blue-right-btn {
  margin: 0 10px;
}

.point3-list {
  margin: 0 10px;
}

.point3-list li {
  margin-bottom: 20px;
}

.point3-list dd,
.point3-list dt {
  padding: 10px 15px;
}

.point3-list h4 {
  margin-bottom: 0;
  padding: 10px 15px;
}

.reform-add-table,
.reform-add-table tbody,
.reform-add-table td,
.reform-add-table th,
.reform-add-table tr {
  display: block;
}

.reform-add-table td:not([data-rat]),
.reform-add-table tr:first-of-type {
  display: none;
}

.reform-add-table tr {
  margin: 0 0 15px;
  border: 1px solid #999;
}

.reform-add-table td {
  position: relative;
  padding: 3px 3px 3px 100px;
}

.reform-add-table tr td:last-of-type {
  min-height: 100px;
}

.reform-table-stock td {
  min-height: 42px;
  padding: 3px 3px 3px 80px;
}

.reform-add-table td::before {
  position: absolute;
  content: attr(data-rat);
  top: 0;
  left: 0;
  width: 97px;
  height: 100%;
  padding: 3px;
  border-right: 1px dotted #000;
  box-sizing: border-box;
  font-weight: 700;
  background: #1aa2d0;
  color: #fff;
}

.reform-table-stock td::before {
  width: 77px;
}

.reform-add-table td + td,
.reform-table-stock td {
  border-top: 1px dotted #000;
}

.reform-table-stock th {
  padding: 3px;
  background: #1aa2d0;
  color: #fff;
  width: 100%;
  box-sizing: border-box;
}

.reform-add-table .bd-red-lr {
  margin: 0 -1px -1px;
  border: 1px solid red;
}

.reform-add h4 {
  margin-bottom: 20px;
}

.reform-add p {
  margin-left: 10px;
  margin-right: 10px;
}

.reform-image {
  margin-bottom: 30px;
}

.reform-nav {
  margin-bottom: 60px;
  padding: 0 10px;
}

.reform-nav li {
  width: 100%;
}

.reform-nav li:not(:last-child) {
  margin-bottom: 15px;
}

.build-spec .blue-down-btn {
  width: 100%;
  margin: 15px 0;
  padding: 10px;
  box-sizing: border-box;
}

.build-spec .blue-down-btn::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../../common/img/icon_opne.svg") no-repeat center;
  line-height: 1;
  width: 15px;
  height: 15px;
  right: 20px;
}

.build-spec .blue-down-btn.blue-down-rev::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../../common/img/icon_close.svg") no-repeat center;
  line-height: 1;
  width: 15px;
  height: 15px;
  right: 20px;
}

.build-merit-step dd {
  margin-bottom: 20px;
}

.build-fire figure {
  text-align: center;
}

.build-fire figcaption {
  text-align: left;
}

.build-fire figcaption dt {
  margin-top: 30px;
}

.reception-btn label {
  width: 100%;
}

.build-intro {
  margin: 30px 10px;
}

.build-list {
  margin: 0 10px;
}

.build-list li {
  width: 100%;
  padding: 10px;
  border: 1px solid #09c;
  box-sizing: border-box;
}

.build-list li + li {
  margin-top: 20px;
}

.build-table {
  width: calc(100% - 20px);
  margin-left: auto;
  margin-right: auto;
  overflow: scroll;
}

.build-table table {
  overflow: scroll;
}

.build-add-table td,
.build-add-table th {
  padding: 6px;
}
.build-add-table .th-bg {
  background-color: #c0e6fc;
}
.eqproof-list dl {
  margin-bottom: 28px;
  padding: 10px;
  border-radius: 10px;
}

.eqproof-list dl::after {
  bottom: -21px;
  left: 50%;
  width: 25px;
  height: 14px;
}

.eqproof-list dt {
  width: 60px;
}

.eqproof-list dd {
  width: calc(100% - 60px);
}

.eqproof-list {
  margin: 0 10px 40px;
}

.eqproof-list li:last-of-type a {
  padding: 10px;
  border-radius: 10px;
}

.eqproof-list li:last-of-type a::after {
  right: 10px;
  width: 20px;
  font: 20px/1 FontAwesome;
}

.subsidy-table th {
  width: 100px;
}

.subsidy-table td {
  padding: 10px 5px;
}

#subsidy {
  margin-bottom: 20px;
}

.case-wrapper .land-subheader {
  margin: 0 10px 20px;
}

.land-nav {
  justify-content: space-between;
  margin: 20px 10px;
}

.land-nav .land-nav-inner {
  width: 100%;
}

.land-nav > ul:not(:last-of-type) {
  margin-bottom: 20px;
}

.land-nav .case-nav-index a {
  min-height: 42px;
  line-height: 42px;
}

.land-nav .case-nav-index span {
  display: inline-block;
  vertical-align: middle;
  line-height: 1.5;
}

.land-nav .case-nav-menu a {
  padding-left: 10px;
  padding-right: 30px;
}

.land-intro {
  margin: 25px 10px;
}

.land-doubt {
  justify-content: space-between;
  margin: 0 10px 20px;
}

.land-doubt li {
  width: 48%;
  margin-top: 10px;
  padding: 10px;
  box-sizing: border-box;
}

.land-doubt::after {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 48%;
  min-height: 100px;
  background-position: right bottom;
  background-size: contain;
}

.land-increase dd {
  padding: 15px;
}

.land-deducting,
.land-inheritor {
  padding: 5px;
}

.tax-table {
  margin: 0 10px;
}

.tax-table td,
.tax-table th {
  padding: 5px 10px;
}

.land-example-1 {
  padding: 10px;
}

.land-example-1 dt {
  margin-top: 20px;
}

.inherit-table {
  margin: 20px 10px;
}

.inherit-table td,
.inherit-table th {
  word-break: break-all;
}

.chintai-img figcaption,
.inherit-graph figcaption {
  margin-top: 15px;
}

.chintai-text dt,
.liability-deduction figcaption {
  margin-bottom: 15px;
}

.chintai-text dd br,
.land-doubt span br {
  display: none;
}

.comparison-wrapper {
  margin: 0 10px 30px;
}

.comparison-table {
  margin-bottom: 20px;
}

.comparison-table td,
.comparison-table th {
  padding: 5px;
  border: 1px solid #b7b7b7;
  letter-spacing: 0;
}

.comparison-price {
  display: inline-block;
  padding: 5px;
}

.case-wrapper .online-header {
  background: transparent url(../img/bg_onlineconsulting_2.jpg) center bottom/contain no-repeat;
  margin-bottom: 30px;
  padding: 0 15px 15px;
  border: none;
  text-align: center;
}

.case-wrapper .online-header + p {
  margin-bottom: 50px;
}

.case-wrapper .online-subheader::before {
  display: none;
}

.case-wrapper .online-subheader {
  margin-bottom: 20px;
  padding: 5px 0 35px 15px;
  background: transparent url(../img/bg_online_subheader.png) left bottom no-repeat;
}

.article-text {
  margin: 30px 10px;
}

.article-intro {
  margin: 0 10px 30px;
  padding: 10px 10px 190px;
  background-position: center bottom, 0 0;
}

.article-list {
  margin: 0 10px;
}

.article-list li {
  margin-top: 20px;
  padding: 10px;
}

.article-list figure {
  margin-bottom: 15px;
  text-align: center;
}

.online-merit {
  margin: 0 10px 50px;
}

.online-merit ul {
  margin: 0 0 20px;
}

.online-merit li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  font-weight: 700;
  color: #00685c;
}

.online-merit li::before {
  content: "";
  width: 14px;
  height: 14px;
  margin-top: 3px;
  background-color: #0ea5a5;
}

.online-merit li span {
  width: calc(100% - 25px);
}

.online-device,
.online-step {
  margin: 0 0 50px;
}

.online-step li {
  margin-bottom: 10px;
  text-align: center;
  color: #2d2d2d;
}

.online-step li::after {
  content: "";
  display: block;
  height: 45px;
  margin-top: 10px;
  background: transparent url(../img/arrow_d_lightgreen_25x124.png) center bottom no-repeat;
}

.online-step li:last-of-type::after {
  display: none;
}

.online-step li img {
  margin-bottom: 5px;
}

.online-device li {
  margin: 0 0 30px;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  color: #00685c;
}

.online-device li img {
  margin-bottom: 15px;
}

.online-form {
  margin: 0 10px 40px;
}

.online-form dt {
  margin-bottom: 15px;
  font-weight: 700;
  font-size: 18px;
  color: #00685c;
}

.online-form dt span {
  display: inline-block;
  margin-left: 10px;
  padding: 6px 11px;
  border-radius: 17px;
  background-color: #bbe5e5;
  vertical-align: middle;
  font-size: 14px;
  font-weight: 400;
}

.online-form dd {
  margin-bottom: 10px;
  padding: 0 0 10px;
  border-bottom: 1px solid #c5c5c5;
}

.online-form input,
.online-form select,
.online-form textarea {
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  outline: 0;
}

.online-form textarea {
  min-height: 200px;
  margin: 5px 0 0;
  resize: vertical;
}

.online-form input + select {
  margin-top: 5px;
}

.online-form dd:nth-of-type(5) input {
  max-width: 160px;
}

.online-form dd:nth-of-type(7) input {
  max-width: 300px;
}

.online-form-button {
  margin: 0 10px 50px;
}

.online-form-button input {
  display: block;
  width: 100%;
  padding: 6px;
  border: 1px solid #0ea5a5;
  box-sizing: border-box;
  line-height: inherit;
  text-align: center;
  font-weight: 700;
  font-size: 20px;
  outline: 0;
}

.online-form-button-white {
  background-color: #fff;
  color: #0ea5a5;
}

.online-form-button-green {
  margin-top: 10px;
  background-color: #0ea5a5;
  color: #fff;
}

.error-message {
  margin: -20px 0 60px;
  padding-left: 20px;
}

.management-text-1 {
  margin: 40px 0;
}

.management-text-1 dt {
  font-weight: 700;
}

.management-text-1 dd {
  margin-bottom: 20px;
}

.voice-list {
  margin: 0 10px;
}

.voice-list li {
  margin-top: 30px;
  padding: 15px;
}

.voice-list figure {
  margin: 20px 0;
}

.voice-text.w100per {
  margin-top: 20px;
}

.partner-intro-img {
  width: 40%;
  margin-top: 20px;
  padding-right: 10px;
  box-sizing: border-box;
  float: right;
  text-align: right;
}

.partner-intro-img img {
  max-width: 100%;
}

.partner-intro-text {
  width: 55%;
  margin-top: 20px;
  padding-left: 30px;
  box-sizing: border-box;
  float: left;
  font-weight: 700;
}

.partner-list {
  margin: 0 10px;
}

.partner-list li {
  margin-top: 20px;
}
.partner-info{
  color:#fff;
  padding:5px;
  animation: partner-blink 1s infinite alternate;
  font-size: 1.1rem;
}

@keyframes partner-blink{
  0%{ background-color:#fff }
100%{ background-color:#f00 }
}

.company-pt,
.company-tp {
  margin: 0 10px 30px;
  text-align: center;
}

.company-pt .company-text,
.company-tp .company-text {
  margin: 20px 0 0;
  text-align: left;
}

.company-text dt {
  border-bottom: solid 1px #666;
  padding-bottom: 5px;
  margin-bottom: 10px;
}

.company-text ol li {
  margin-bottom: 20px;
}

.company-img figcaption {
  margin: 20px 0 20px;
  font-size: 12px;
  text-align: left;
}

.company-table,
.link-table {
  width: calc(100% - 20px);
  margin: 0 10px 20px;
  border-collapse: collapse;
}

.link-table {
  table-layout: fixed;
}

.link-table th {
  width: 35%;
  box-sizing: border-box;
}

.company-table th,
.company-table td {
  font-size: 12px;
}

.company-table .gmap {
  position: relative;
  width: 100%;
}

.company-table .gmap::before {
  content: "";
  display: block;
  padding-top: 75%;
}

.company-table .gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#confirmBody,
#confirmWindow {
  width: 100% !important;
}

table.infield,
ul.confirm_layer,
ul.confirm_layer li {
  width: 100%;
  float: none;
}

table.infield tr th {
  width: 90px !important;
}

#confirmBody {
  left: 0 !important;
}

.contact-text {
  flex-direction: column;
}

.mailform,
.mailform tbody,
.mailform td,
.mailform th,
.mailform tr {
  display: block;
}

.mailform {
  margin: 0 10px 40px;
}

.mailform td {
  margin-top: -1px;
}

.mailform tr {
  margin-bottom: 30px;
}

.form-btn {
  margin: 40px 0;
  gap: 20px;
  justify-content: center;
}

.form-btn button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 5px;
  width: 160px;
  height: 40px;
  margin: 10px;
  padding: 0;
  border: 2px solid #9a9a9a;
  border-radius: 5px;
  font-size: 18px;
  font-weight: 600;
  color: #434343;
}

.form-btn button:hover,
.form-btn button:active {
  cursor: pointer;
}

.form-btn button[type]::after {
  content: "";
  width: 26px;
  aspect-ratio: 1;
  border: 2px solid #ababab;
  border-radius: 50%;
}

.form-btn button[type=reset],
.form-btn button[type=button] {
  background: #fff radial-gradient(closest-side, #d0d0d0 0%, #d0d0d0 95%, #fff 100%) top 12px center / 960px 960px no-repeat;
}

.form-btn button[type=reset]:hover,
.form-btn button[type=reset]:active,
.form-btn button[type=button]:hover,
.form-btn button[type=button]:active {
  background-image: radial-gradient(closest-side, #dc9c9c 0%, #dc9c9c 95%, #fff 100%);
  box-shadow: 0 0 1px 1px #fff, 0 0 5px 4px #fbd0d0;
}

.form-btn button[type=reset]::after {
  background: #fff url(../img/icon_cross.png) center no-repeat;
}

.form-btn button[type=button]::after {
  background: #fff url(../img/icon_left.png) center no-repeat;
}

.form-btn button[type=submit] {
  background: #fff radial-gradient(closest-side, #d0d0d0 0%, #d0d0d0 95%, #fff 100%) top 12px center / 960px 960px no-repeat;
}

.form-btn button[type=submit]:hover,
.form-btn button[type=submit]:active {
  background-image: radial-gradient(closest-side, #9adfff 0%, #9adfff 95%, #fff 100%);
  box-shadow: 0 0 1px 1px #fff, 0 0 5px 4px #d0edfb;
}

.form-btn button[type=submit]::after {
  background: #fff url(../img/icon_right.png) center no-repeat;
}

.confirm_bottom,
.confirm_top {
  display: none;
}

ul.confirm_layer {
  margin: 30px 0;
  padding: 10px;
  border-radius: 10px;
  box-sizing: border-box;
  background-color: #fff;
}

li.confirm_middle {
  background-image: none;
}

.privacy-text {
  height: 200px;
}

.page-footer {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 200;
  letter-spacing: 0;
  color: #fff;
  background-color: #0067a1;
  font-size: 12px;
}

.page-footer .inner {
  margin: 0 5%;
  padding: 5% 0;
}

.page-footer .inner .f-under,
.page-footer .inner .f-up .navi-area {
  display: none;
}

.page-footer .inner .f-up .logo {
  text-align: center;
}

.page-footer .inner .f-up .logo img {
  margin: 3% 0;
}

.page-footer .copyright {
  text-align: center;
  opacity: 0.5;
  padding-bottom: 15%;
}

.page-footer .copyright p:last-child {
  font-size: 10px;
  margin-top: 5px;
}

.page-footer br {
  display: inline-block;
  width: 1px;
  height: 15px !important;
}

.foot-contact {
  margin: 20px 10px 20px;
  text-align: center;
}

#footer_area .foot-contact {
  background-color: #eaf1f4;
  padding: 40px 20px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#footer_area .foot-contact h2 {
  font-size: 20px;
  text-align: center;
  width: 100%;
  margin-bottom: 30px;
}

#footer_area .foot-contact .phone,
#footer_area .foot-contact .mail {
  width: 100%;
  background-color: #0067a1;
  text-align: center;
  padding: 35px 0 25px;
  text-decoration: none;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  transition: 0.3s;
}

#footer_area .foot-contact a:hover {
  opacity: 0.6;
}

#footer_area .foot-contact .phone {
  font-size: 20px;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
  padding: 27px 0 21px;
}

#footer_area .foot-contact .phone::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("../../common/img/icon_phone.svg");
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin: -3px 10px 0 0;
}

#footer_area .foot-contact .mail::before {
  content: "";
  display: inline-block;
  width: 27px;
  height: 20px;
  background-image: url("../../common/img/icon_mail.svg");
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin: -3px 10px 0 0;
}

.page-footer-r {
  display: none !important;
}

.page-footer-r-sp {
  position: fixed;
  right: 20px;
  display: none;
  bottom: 20px;
  z-index: 2;
}

.wrapFAQ {
  padding: 50px 2%;
}

.wrapFAQ dt {
  background-color: #f2f2f2;
  font-weight: 700;
  font-size: 16px;
  padding: 10px 45px 10px 50px;
  border-radius: 7px;
  margin-bottom: 20px;
  position: relative;
  cursor: pointer;
  border: 1px solid #f2f2f2;
  transition: all 0.5s ease;
}

.wrapFAQ dt:hover {
  border: 1px solid #09c;
}

.wrapFAQ dd {
  line-height: 1.8;
  display: none;
  margin-bottom: 40px;
  padding: 0 25px 0 50px;
  position: relative;
}

.wrapFAQ dd:after {
  display: block;
  content: "A";
  position: absolute;
  top: -5px;
  left: 10px;
  font-weight: 700;
  color: #ffb948;
  font-size: 25px;
}

.wrapFAQ dt:after {
  display: block;
  content: "Q";
  position: absolute;
  top: 3px;
  left: 10px;
  font-weight: 700;
  color: #09c;
  font-size: 25px;
}

.wrapFAQ dt:before {
  content: "";
  display: block;
  position: absolute;
  background: url("../../common/img/icon_opne.svg") no-repeat center;
  line-height: 1;
  width: 15px;
  height: 15px;
  top: calc(50% - 7.5px);
  right: 20px;
}

.wrapFAQ dt.activeFAQ:before {
  content: "";
  display: block;
  position: absolute;
  background: url("../../common/img/icon_close.svg") no-repeat center;
  line-height: 1;
  width: 15px;
  height: 15px;
  top: calc(50% - 7.5px);
  right: 20px;
}

.bgRed {
  background-color: #fbc8c8;
}

.linkCaseArea {
  font-size: 14px;
  margin-top: 20px;
  text-align: left;
  line-height: 2;
}

.linkCaseArea a {
  margin: 0 0 30px 0;
  padding: 0;
  display: inline-block;
  text-align: center;
}

.linkCaseArea a.sk01 {
  margin: 0 0 5px;
  padding: 0;
  display: inline-block;
  text-align: center;
}

.linkCaseArea2 {
  font-size: 14px;
  margin-top: 20px;
  text-align: left;
  line-height: 2;
}

.linkCaseArea2 a {
  margin: 0 0 30px;
  padding: 0;
  display: inline-block;
  text-align: center;
}

.linkCaseArea2 a.sk01 {
  margin: 0 0 5px;
  padding: 0;
  display: inline-block;
  text-align: center;
}

.linkCaseArea3 {
  font-size: 16px;
  margin-top: 10px;
  text-align: left;
  line-height: 1.7;
}

.linkCaseArea3 a {
  margin: 0 0 30px;
  padding: 0;
  display: inline-block;
  text-align: center;
}

.linkCaseArea3 a.sk01 {
  margin: 0 0 5px;
  padding: 0;
  display: inline-block;
  text-align: left;
}

.border {
  border: solid 1px #ccc;
}

.gsc-control-cse {
  padding: 0 !important;
}

.sitemap-wrapper {
  margin-bottom: 80px;
}

.sitemap-wrapper .inline-list {
  justify-content: space-between;
}

.sitemap-wrapper h2 {
  border-bottom: 4px solid #15669c;
  line-height: 1;
  font-weight: 700;
  color: #15669c;
  padding: 0 10px 5px;
  font-size: 20px;
}

.sitemap-wrapper .box h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: #0082d8;
  padding: 6px 10px;
  border-bottom: none;
  margin: 20px 10px 15px;
  background-color: #f5f5f5;
}

.sitemap-wrapper .box ul {
  list-style: none;
  margin: 20px 25px 15px;
}

.pageHeader {
  position: relative;
  background-position: center;
  background-size: cover;
  height: 150px;
  padding: 0 10px;
  margin-bottom: 20px;
}

.pageHeader::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  opacity: 0.1;
  width: 100%;
  height: 100%;
}

.pageHeader#build,
.pageHeader#chumon_bunkyo,
.pageHeader#chumon_kita,
.pageHeader#chumon_toshima,
.pageHeader#mansion_bunkyo,
.pageHeader#mansion_kita,
.pageHeader#mansion_toshima,
.pageHeader#reform_bunkyo,
.pageHeader#reform_itabashi,
.pageHeader#reform_kita,
.pageHeader#reform_sumida,
.pageHeader#reform_taitou,
.pageHeader#reform_toshima,
.pageHeader#shinchiku_bunkyo,
.pageHeader#shinchiku_kita,
.pageHeader#shinchiku_toshima,
.pageHeader#taishin_jutaku_bunkyo,
.pageHeader#taishin_jutaku_kita,
.pageHeader#taishin_reform_bunkyo,
.pageHeader#taishin_reform_kita,
.pageHeader#taishin_reform_toshima,
.pageHeader#tekkin_bunkyo,
.pageHeader#tekkin_kita,
.pageHeader#tekkin_toshima,
.pageHeader#tekkotsu_bunkyo,
.pageHeader#tekkotsu_kita,
.pageHeader#tekkotsu_toshima {
  background-image: url(../img/bg_build01.jpg);
}

.pageHeader#reform {
  background-image: url(../img/bg_reform01.jpg);
}

.pageHeader#case,
.pageHeader#case_reform,
.pageHeader#case_shinchiku,
.pageHeader#case_workhistory {
  background-image: url(../img/bg_case01.jpg);
}

.pageHeader#onlineconsulting {
  background-image: url(../img/bg_onlineconsulting_1.jpg);
}

.pageHeader#company {
  background-image: url(../img/bg_company01.jpg);
}

.pageHeader#contact {
  background-image: url(../img/bg_contact01.jpg);
}

.pageHeader#contact_resident {
  background-image: url(../img/bg_contact_resident01.jpg);
}

.pageHeader#faq {
  background-image: url(../img/bg_faq01.jpg);
}

.pageHeader#land {
  background-image: url(../img/bg_land01.jpg);
}

.pageHeader#mainte {
  background-image: url(../img/bg_sitemap01.jpg);
}

.pageHeader#partner {
  background-image: url(../img/bg_partner01.jpg);
}

.pageHeader#popular {
  background-image: url(../img/bg_popular01.jpg);
}

.pageHeader#property {
  background-image: url(../img/bg_property01.jpg);
}

.pageHeader#qualification {
  background-image: url(../img/bg_qualification01.jpg);
}

.pageHeader#voice {
  background-image: url(../img/bg_voice01.jpg);
}

.pageHeader#sitemap {
  background-image: url(../img/bg_sitemap01.jpg);
}

.pageHeader#iwate_touhoku {
  background-image: url(../img/bg_iwate_touhoku01.jpg);
}

.pageHeader > .inner {
  height: 100%;
}

.pageHeader .heading {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}

.pageHeader .heading > span {
  color: #fff;
  font-feature-settings: "palt";
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.9);
}

.pageHeader .heading-s > span {
  font-size: 21px;
}

/* 共通 */
.base-nav-inner {
  width: 100%;
  margin: 0 0 60px;
  padding: 0 10px;
  box-sizing: border-box;
}

.base-nav-inner li {
  width: 100%;
}

.base-nav-inner li:not(:last-child) {
  margin-bottom: 10px;
}

.base-nav-inner li.case-nav-index a {
  border: 2px solid #c2dbeb;
  background-color: #fff;
  color: #15669c;
  height: 100%;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.base-nav-inner li.case-nav-index a.link::after {
  top: auto;
  right: 8px;
  transform: rotate(-90deg);
}

.pc {
  display: none !important;
}

.pc_i {
  display: none !important;
}


.sp {
  display: block !important;
}

.p-bnr{
  display: none;
}
.p-bnr_sp{
  width: 100%;
  text-align: center;
}
.p-bnr_sp img{
  width: 100%;
  padding: 10px 0;
}
/*=============================================
受賞・認定 sp
=============================================*/

#award .box{
  padding: 0 10px;
}

#award .box h3{
  width: auto;
  margin: 20px 0 15px;
}

#award .box h3::before{
  content: none;
}

#award .box a{
  text-align: center;
  display: block;
  margin-bottom: 20px;
}

#award .box a img{
  margin: 0 auto;
  display: block;
}

#award .box:not(:last-of-type){
  margin-bottom: 40px;
}


/*=============================================
20221213 追加
=============================================*/
.u-bnr-list,
.top-3col-new{
  gap: 12px 0;
}

.u-bnr-list::after,
.top-3col-new::after{
  content: '';
  display: block;
  width:48.5% ;
  height: 0;
}
.u-bnr-list li{
  width: 48.5%;
  margin-bottom: 0;
}
.top-3col-new{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top-3col-new li{
  width: 48%;
  margin-bottom: 0;
}

.top-3col-new li a::before{
  content: none;
}