@charset "UTF-8";
/* WP */
h3 {
  font-size: 1.5em;
  font-weight: bold;
  margin: 1.6em 0;
  clear: both;
}

h4 {
  font-size: 1.25em;
  font-weight: bold;
  margin: 1.3em 0;
  clear: both;
}

h5 {
  font-weight: bold;
  margin: 1.1em 0;
  clear: both;
}

ul, p {
  margin: 1em 0;
}

pre {
  display: block;
  padding: .6em;
  margin: 0 0 .8em;
  font-size: .8em;
  line-height: 1.4;
  color: #333;
  word-break: break-all;
  word-wrap: break-word;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

del {
  text-decoration: line-through;
}

blockquote {
  display: inline-block;
  padding: 1em;
  position: relative;
}
blockquote::before {
  content: '"';
  position: absolute;
  left: 0;
  top: 0;
}
blockquote::after {
  content: '"';
  position: absolute;
  right: 0;
  bottom: 0;
}

a {
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}

ul {
  list-style: disc;
  padding: 0 0 0 1.5em;
}

ol {
  list-style: decimal;
  padding: 0 0 0 1.5em;
}

/* img */
@media screen and (min-width: 768px) {
  .aligncenter {
    display: block;
    margin: 0 auto 0.8em;
  }

  .alignleft {
    float: left;
    margin: 0 0.8em 0.8em 0;
  }

  .alignright {
    float: right;
    margin: 0 0 0.8em 0.8em;
  }
}
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
  max-width: 100%;
}

/* clearfix */
.clearfix {
  overflow: hidden;
  zoom: 1;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/* 下層共通 */
.sitemain .txt {
  line-height: 1.3em;
}

.mb5rem {
  margin-bottom: 5rem;
}

/* thanksページのテキスト中央揃え */
.txt.mb5rem {
  text-align: center;
}

.leadtxt {
  text-align: center;
  margin-bottom: 2.9375rem;
}

.pagination {
  text-align: center;
  box-sizing: border-box;
  padding: 0 5em;
  position: relative;
  font-size: 1.231155rem;
  line-height: 1.625rem;
  margin-bottom: 4.5625rem;
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.1em;
}
.pagination a:not(.pagination-current):not(.pagination-button):not(.pagination-nav), .pagination span:not(.dots):not(.pagination-current):not(.pagination-button):not(.pagination-nav) {
  display: inline-block;
  box-sizing: border-box;
  min-width: 1em;
  padding: 0 0.25em 0.5em;
  text-align: center;
  margin: 0 0.25em;
}
.pagination a {
  text-decoration: none;
}
.pagination .current {
  border-bottom: solid 4px #e7141a;
}
.pagination .prev, .pagination .next {
  position: absolute;
  margin: 0;
}
.pagination .next, .pagination a[rel=next] {
  right: 0;
  left: auto;
  padding-right: 0.9375rem;
  border-right: solid #000 1.625rem;
}
.pagination .prev, .pagination a[rel=prev] {
  left: 0;
  right: auto;
  padding-left: 0.9375rem;
  border-left: solid #000 1.625rem;
}
.pagination .prev:before, .pagination .next:after, .pagination a[rel=prev]:before, .pagination a[rel=next]:after {
  content: '';
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-style: solid;
  border-width: 1px 1px 0 0;
  border-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.pagination .prev:before, .pagination a[rel=prev]:before {
  transform: rotate(-135deg);
  left: -1rem;
}
.pagination .next:after, .pagination a[rel=next]:after {
  transform: rotate(45deg);
  right: -1rem;
}

.page_thanks .mv {
  background-image: url("../../images/contact/mv.jpg");
}

.box_contact {
  padding: 56px 0;
  background-image: linear-gradient(transparent 25%, #fff 25%), linear-gradient(90deg, #bfbfbf 25%, transparent 25%);
  background-size: 4px 4px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 55px;
}
.box_contact.mb0 {
  margin-bottom: 0;
}
.box_contact > div:first-child {
  text-align: center;
  width: 100%;
  margin-bottom: 29px;
  font-size: 1.2530025rem;
  line-height: 27px;
  font-weight: 700;
}
.box_contact > div:first-child span {
  color: #e7141a;
  font-size: 1.1998050682em;
}
.box_contact > div:first-child:before {
  content: '';
  width: 27px;
  height: 27px;
  margin-right: 11px;
  display: inline-block;
  background: url("../../images/common/ico-house-red.png") left/contain no-repeat;
}
.box_contact .tel {
  text-align: center;
  font-size: 1.12721375rem;
  line-height: 1em;
}
.box_contact .tel a {
  display: inline-block;
  text-decoration: none;
  font-size: 2.802245rem;
  font-weight: 700;
  line-height: 42px;
  padding-left: 59px;
  background: url("../../images/common/ico-tel-bk.png") left center/42px no-repeat;
  margin-bottom: 19px;
}
.box_contact .btn {
  width: 400px;
  height: 88px;
  margin-left: 97px;
  padding-left: 70px;
  background: #e7141a url("../../images/common/ico-calc-wh.png") 31px center/22px no-repeat;
  font-size: 1.37429375rem;
  justify-content: space-between;
}

body.grp_works .mv {
  background-image: url("../../images/works/works-mv.jpg");
}
body.grp_works .beforeafter {
  background: url("../../images/common/bg-graywall.jpg") center top/cover no-repeat;
  padding: 40px 0 56px;
	margin-bottom: 3rem;
}
body.grp_works .beforeafter > .box_inner {
  position: relative;
}
body.grp_works .beforeafter a {
  text-decoration: none;
}
body.grp_works .beforeafter .item1 {
  min-height: 468px;
}
body.grp_works .arrow {
  position: absolute;
  font-size: 0%;
  width: 58px;
  height: 4px;
  background: #e7141a;
  left: 447px;
  top: 227px;
  transform: rotate(15deg);
}
body.grp_works .arrow:before, body.grp_works .arrow:after {
  content: '';
  display: block;
  width: 20px;
  height: 4px;
  background: #e7141a;
  position: absolute;
  right: 0;
}
body.grp_works .arrow:before {
  bottom: 0;
  transform: rotate(50deg);
  transform-origin: right;
}
body.grp_works .arrow:after {
  top: 0;
  transform: rotate(-50deg);
  transform-origin: right;
}
body.grp_works .img_before, body.grp_works .img_after {
  display: inline-block;
  box-sizing: border-box;
  border: solid 16px #fff;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
}
body.grp_works .img_before {
  pointer-events: none;
  width: 416px;
  height: 316px;
}
body.grp_works .img_after {
  width: 544px;
  height: 416px;
  position: absolute;
  top: 71px;
  right: 0;
}
body.grp_works .beforeafter .ribbon {
  color: #fff;
  width: 86px;
  height: 30px;
  font-size: 1.25rem;/*0.944735rem;*/
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
body.grp_works .beforeafter .ribbon:after {
  content: '';
  display: inline-block;
  position: absolute;
  flex-shrink: 0;
  flex-grow: 0;
  width: 0;
  height: 0;
  border-width: 15px 10px;
  border-style: solid;
  box-sizing: content-box;
  padding: 0;
  right: -10px;
  top: 0;
}
body.grp_works .beforeafter .modal {
  display: none;
}
body.grp_works .beforeafter .datablocks{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
/* 新しいHTML構造用のスタイル */
body.grp_works .beforeafter .data-list {
  margin: 58px 0 45px;
  width: 445px;
}
body.grp_works .beforeafter .data-item {
  display: flex;
  gap: 16px;
  border-bottom: solid 1px #e7141a;
}
body.grp_works .beforeafter .data-item dt,
body.grp_works .beforeafter .data-item dd {
  padding: 19px 0;
}
body.grp_works .beforeafter .data-item dt {
  width: 180px;
  flex-shrink: 0;
  flex-grow: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1em;
  box-sizing: border-box;
  padding-left: 22px;
  white-space: nowrap;
}
body.grp_works .beforeafter .data-item dt:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 10px;
  border-color: transparent transparent transparent #e7141a;
  margin-right: 4px;
}
body.grp_works .beforeafter .data-item dd {
  flex-grow: 1;
  margin-left: 0;
  line-height: 1.125em;
  padding-right: 1em;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

body.grp_works .beforeafter .dl2{
	width: 544px;
	border: none !important;
	display: block;
	padding-top: 168px;
}
body.grp_works .beforeafter .dl2 dt,
body.grp_works .beforeafter .dl2 dd{
	width: 100%;
	border: none !important;
}
body.grp_works .beforeafter .dl2 dt{
	display: flex;
	align-items: center;
	padding-left: 0;
	padding-bottom: 0;
}
body.grp_works .beforeafter .dl2 dd:last-child{
	padding-bottom: 0;
}
body.grp_works .beforeafter .dl2 dt:before{
	content: none;
}
body.grp_works .beforeafter .dl2 dt:after{
	content: '';
	display: block;
	margin-left: 1em;
	height: 1px;
	width: 50%;
	flex-grow: 1;
	background: #e7141a;
}

body.grp_works .img_before {
  padding-top: 15px;
}
body.grp_works .img_before .ribbon {
  background: #000;
  margin-left: -16px;
}
body.grp_works .img_before .ribbon:after {
  border-color: #000 transparent #000 #000;
}
body.grp_works .img_after {
  padding-top: 13px;
}
body.grp_works .img_after:after {
  content: '';
  width: 83px;
  height: 42px;
  display: block;
  position: absolute;
  top: -17px;
  left: -64px;
  background: url("../../images/works/img-kirakira-red.png") 0 0/contain no-repeat;
}
body.grp_works .img_after .ribbon {
  background: #e7141a;
  margin-left: -26px;
}
body.grp_works .img_after .ribbon:after {
  border-color: #e7141a transparent #e7141a #e7141a;
}
body.grp_works .modal_inner p {
  text-align: center;
  font-size: 1.5rem;
}
body.grp_works .beforeafter .bans {
  margin: 0 auto;
  padding: 0;
  display: flex;
  justify-content: space-between;
  list-style: none;
}
body.grp_works .beforeafter .bans a {
  background-repeat: no-repeat;
  background-size: 99px;
  background-position: right 3px center;
  box-sizing: border-box;
  color: #fff;
  font-weight: 700;
  font-size: 1.37429375rem;
  display: flex;
  width: 344px;
  height: 104px;
  align-items: center;
  justify-content: center;
  padding: 3px 102px 3px 3px;
  background-color: #e7141a;
}
body.grp_works .beforeafter .bans li:first-child a {
  background-image: url("../../images/works/btn-wall-bg.jpg");
}
body.grp_works .beforeafter .bans li:nth-child(2) a {
  background-image: url("../../images/works/btn-roof-bg.jpg");
}
body.grp_works .beforeafter .bans li:last-child a {
  background-color: #fff;
  border: solid 3px #f00;
  position: relative;
  color: #e7141a;
  padding-top: 43px;
  padding-right: 195px;
}
body.grp_works .beforeafter .bans li:last-child a:before {
  content: url("../../images/works/btn-voice-bg.png");
  position: absolute;
  right: -64px;
  bottom: -3px;
}
body.grp_works .beforeafter .bans li:last-child a div {
  position: absolute;
  text-align: center;
  font-size: 0.9332925rem;
  line-height: 1.5337683524em;
  transform: rotate(-5deg);
  bottom: 112px;
  left: 22px;
  transform-origin: left bottom;
}
body.grp_works.single .box_h2 {
  text-align: center;
  font-weight: 700;
}
body.grp_works.single .box_h2 .date {
  font-size: 1.1237rem;
  line-height: 25px;
  margin: 0 8px 0 4px;
}
body.grp_works.single .catlabel {
  font-size: 0.8748625rem;
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  padding: 8px 16px;
}
body.grp_works.single .catlabel.bd {
  color: #e7141a;
  border: solid 1px #e7141a;
}
body.grp_works.single .catlabel.bg {
  background: #909090;
  color: #fff;
}
body.grp_works .flow {
  list-style: none;
  counter-reset: flow;
  box-sizing: border-box;
}
body.grp_works .flow li {
  counter-increment: flow;
  border-style: solid;
  border-width: 5px;
  box-sizing: border-box;
  padding: 15px 15px 15px 339px;
  min-height: 249px;
  position: relative;
  margin-bottom: 51px;
}
body.grp_works .flow li:nth-last-child(n+2):before, body.grp_works .flow li:after {
  content: '';
  display: block;
  width: 76px;
  height: 44px;
  position: absolute;
  bottom: -65px;
  left: 0;
  right: 0;
  margin: auto;
  box-sizing: border-box;
  background-size: 4px 4px;
  z-index: -1;
}
body.grp_works .flow li:after {
  border-width: 22px 38px;
  border-style: solid;
  border-color: transparent #fff #fff;
}
body.grp_works .flow li:nth-child(2n-1) {
  border-color: #e7141a;
}
body.grp_works .flow li:nth-child(2n-1):before {
  background-image: linear-gradient(-45deg, #e7141a 25%, #f5a0a3 25%, #f5a0a3 50%, #e7141a 50%, #e7141a 75%, #f5a0a3 75%);
}
body.grp_works .flow li:nth-child(2n) {
  border-color: #909090;
}
body.grp_works .flow li:nth-child(2n):before {
  background-image: linear-gradient(-45deg, #868686 25%, #e1e1e1 25%, #e1e1e1 50%, #868686 50%, #868686 75%, #e1e1e1 75%);
}
body.grp_works .flow h3 {
  font-size: 1.48417rem;
  line-height: 1.4544863459em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 0;
  margin-bottom: 1.625rem;
}
body.grp_works .flow h3:before {
  content: "0" counter(flow) ".";
  display: inline-block;
  margin-right: 0.5em;
  font-size: 1.4544863459em;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
}
body.grp_works .flow h3:after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(90deg, #000 50%, #fff 50%);
  background-size: 10px 10px;
  margin-top: 0.875rem;
}
body.grp_works .flow .txt {
  line-height: 1.3751452839em;
}
body.grp_works .flow .img {
  position: absolute;
  top: 22px;
  bottom: 22px;
  left: 22px;
  width: 288px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100%;
}
/*body.grp_works .pagefooter {
  background: url("../../images/common/bg-graywall.jpg") center top;
  padding-top: 55px;
  padding-bottom: 56px;
  margin-bottom: 62px;
}*/
body.grp_works .box_search {
  background: url("../../images/common/bg-graywall.jpg") center top no-repeat;
  padding: 31px 0 16px;
  margin-bottom: 3.125rem;
}
body.grp_works .box_search .box_inner > dt {
  color: #e7141a;
  font-size: 1.375515rem;
  line-height: 1em;
  font-weight: 700;
  padding-left: 53px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  height: 38px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
}
body.grp_works .box_search .box_inner > dt > span {
  font-size: 0.863807374em;
}
body.grp_works .box_search .box_inner > dt:nth-of-type(1) {
  background-image: url("../../images/works/search-ico-cat.png");
}
body.grp_works .box_search .box_inner > dt:nth-of-type(2) {
  background-image: url("../../images/works/search-ico-area.png");
}
body.grp_works .box_search .box_inner > dd {
  margin-left: 53px;
}
body.grp_works .box_search ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -12px 7px 0;
  padding: 0;
}
body.grp_works .box_search ul li {
  margin-bottom: 12px;
}
body.grp_works .box_search ul a {
  display: flex;
  align-items: center;
  height: 2rem;
  text-decoration: none;
  border: solid 1px #e7141a;
  padding: 0 0.6875rem;
  font-weight: 700;
  margin-right: 12px;
  color: #e7141a;
  background: #fff;
}
body.grp_works .box_search form {
  display: flex;
  align-items: flex-end;
}
body.grp_works .box_search button {
  display: inline-flex;
  flex-shrink: 0;
  flex-grow: 0;
  width: 155px;
  height: 53px;
  align-items: center;
  justify-content: center;
  background: #e7141a;
  color: #fff;
  font-size: 1.25116875rem;
  font-weight: 700;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}
body.grp_works .box_search button:hover {
  opacity: 0.8;
}
body.grp_works .areaselector {
  display: table;
  border-collapse: collapse;
  margin: 0;
  height: 100%;
}
body.grp_works .areaselector > div {
  display: table-row;
  height: 100%;
}
body.grp_works .areaselector dt, body.grp_works .areaselector dd {
  display: table-cell;
  line-height: 1.8954918033em;
  padding: 0;
}
body.grp_works .areaselector dt > div, body.grp_works .areaselector dd > div {
  margin-bottom: 1rem;
}
body.grp_works .areaselector dt {
  height: 100%;
}
body.grp_works .areaselector dt > div {
  display: flex;
  height: calc(100% - 1rem);
  align-items: center;
  justify-content: center;
  background: #c2c1c1;
  font-weight: 700;
  padding: 0 0.5rem;
  white-space: nowrap;
  margin-right: 1rem;
}
body.grp_works .areaselector dd {
  vertical-align: top;
}
body.grp_works .areaselector dd > div {
  padding-right: 10rem;
}
body.grp_works .areaselector label {
  display: inline-flex;
  align-items: center;
  padding-right: 2em;
}
body.grp_works.single .sitefooter .box_slider{
	margin-bottom: 5rem;
}
.articlelist {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.articlelist:after {
  content: '';
  display: block;
}
.articlelist article, .articlelist:after {
  width: 342px;
  flex-grow: 0;
  flex-shrink: 0;
  margin-bottom: 46px;
}
.articlelist article {
  background-image: linear-gradient(#fff 3px, transparent 3px), linear-gradient(90deg, #909090 1px, transparent 1px);
  background-size: 4px 4px;
  box-sizing: border-box;
  padding: 0 14px 16px;
  font-weight: 700;
}
.articlelist h2 {
  line-height: 1em;
  font-size: 1.061225rem;
}

.articlelist .date {
  font-size: 0.8740125rem;
  line-height: 1em;
  margin-bottom: 0.75rem;
}
.articlelist .date + div {
  margin-bottom: -0.5rem;
}
.articlelist .catlabel {
  display: inline-flex;
  height: 1.5625rem;
  padding: 0 0.5em;
  font-size: 0.8748625rem;
  box-sizing: border-box;
  align-items: center;
  margin-bottom: 0.5rem;
}

.articlelist .catlabel.bd {
  background: #fd3946;
  border: 0;
  font-weight: 400;
  color: #fff;
}

.articlelist .catlabel.bd.bg2 {
  background-color: #fff;
}

.articlelist .catlabel.bg {
  border: 1px #828282 solid;
  background: #fff;
  color: #828282;
}

.articlelist .img {
  display: block;
  width: 342px;
  height: 228px;
  margin: 0 -14px 19px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-color: #c0c0c0;
}

.img .ico_glass {
  display: block;
  position: absolute;
  z-index: 1;
  right: 9px;
  bottom: 7px;
  background: #000;
  border-radius: 50%;
  width: 37px;
  height: 37px;
}
.img .ico_glass:before {
  content: '';
  display: block;
  width: 17px;
  height: 17px;
  box-sizing: border-box;
  border-radius: 50%;
  border: solid 2px #fff;
  position: absolute;
  top: 8px;
  left: 9px;
}
.img .ico_glass:after {
  content: '';
  display: block;
  height: 2px;
  width: 6px;
  background: #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 10px;
  bottom: 10px;
}

body.grp_staff .mv {
  background-image: url("../../images/staff/staff-mv.jpg");
}
body.grp_staff article .box_top {
  background: url("../../images/common/bg-graywall.jpg") center top no-repeat;
  padding: 2.5rem 0 3rem;
  margin-bottom: 3rem;
}
body.grp_staff article .box_bottom {
  margin-bottom: 3.5rem;
  justify-content: space-between;
}
body.grp_staff article .status {
  margin: 1.375rem auto 1.0625rem;
  color: #e7141a;
  font-size: 1.2512475rem;
  line-height: 1em;
  font-weight: 700;
  text-align: center;
}
body.grp_staff article .data {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: space-between;
}
body.grp_staff article h2 {
  margin: 0 auto 1.875rem;
  text-align: center;
  font-size: 1.87701rem;
  line-height: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 1.5rem;
  position: relative;
}
body.grp_staff article h2 span {
  display: inline-block;
  margin-left: 1.25rem;
  font-family: "Oswald", sans-serif;
  color: #8e8e8e;
  font-weight: 400;
  font-size: 0.4665878179em;
}
body.grp_staff article h2:after {
  content: '';
  display: block;
  width: 10.375rem;
  height: 5px;
  background-image: linear-gradient(-45deg, #585858 20%, transparent 25%, transparent 50%, #585858 55%, #585858 70%, transparent 75%);
  background-size: 4px 4px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
body.grp_staff article h2 + .txt {
  font-size: 1.1237rem;
  line-height: 1.5555786687em;
  height: 80%;
  flex-shrink: 1;
  flex-grow: 1;
}
body.grp_staff article .img1, body.grp_staff article .img2 {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  flex-shrink: 0;
  flex-grow: 0;
}
body.grp_staff article .img1 {
  width: 374px;
  height: 450px;
  margin-right: 49px;
}
body.grp_staff article .img2 {
  width: 374px;
  height: 450px;
  margin-left: 2.9375rem;
}
body.grp_staff article .data1 {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.9375rem;
  justify-content: space-between;
}
body.grp_staff article .data1 > div {
  width: 313px;
  flex-shrink: 0;
  flex-grow: 0;
  display: flex;
  align-items: center;
  border-bottom: solid 1px #e7141a;
  padding: 0.8125rem 0.875rem;
  box-sizing: border-box;
}
body.grp_staff article .data1 dt {
  width: 165px;
  display: flex;
  align-items: center;
  font-weight: 700;
  flex-shrink: 0;
  flex-grow: 0;
}
body.grp_staff article .data1 dt:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-width: 3px 7px;
  border-color: transparent transparent transparent #e7141a;
  border-style: solid;
  margin-right: 0.5rem;
}
body.grp_staff article .data1 dd {
  margin: 0;
}
body.grp_staff article .data2 {
  flex-wrap: wrap;
  margin: 0 -12px -12px;
}
body.grp_staff article .data2 > div {
  margin: 0 12px 24px;
  width: 317px;
  flex-shrink: 0;
  flex-grow: 1;
  max-width: 360px;
  box-sizing: border-box;
  border: solid 4px #e7141a;
  padding: 1.4444444444rem 1.25rem;
}
body.grp_staff article .data2 dt {
  color: #e7141a;
  text-align: center;
  font-size: 1.126095rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
body.grp_staff article .data2 dd {
  margin: 0;
  line-height: 1.5001489362em;
}
body.grp_staff article .data2 ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
body.grp_staff article .data2 li {
  padding-left: 1.3125rem;
}
body.grp_staff article .data2 li:before {
  content: '';
  display: inline-flex;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 7px;
  border-color: transparent transparent transparent #e7141a;
  vertical-align: 0.4em;
  margin-right: 0.125rem;
  margin-left: -1.25rem;
}
body.grp_staff article + div {
  box-sizing: border-box;
  padding: 0 1.8125rem;
  margin-bottom: 4.5625rem;
}

.stafflist {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 3.25rem;
}
.stafflist a {
  display: block;
  width: 522px;
  height: 256px;
  flex-shrink: 0;
  flex-grow: 0;
  text-decoration: none;
  background: url("../../images/common/bg-graywall.jpg") -70% -31%;
}

.stafflist.noLink a {
  pointer-events: none;
}

.stafflist a:nth-last-child(n+2) {
  margin-bottom: 2.5rem;
}
.stafflist article {
  display: flex;
  position: relative;
}
.stafflist article:before, .stafflist article:after {
  content: '';
  display: block;
  position: absolute;
}
.stafflist article:before {
  right: 0;
  bottom: 0;
  background: #e7141a;
  width: 1.5rem;
  height: 1.5rem;
}
.stafflist article:after {
  width: 6px;
  height: 6px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  transform: rotate(45deg);
  right: 10px;
  bottom: 6px;
}
.stafflist .img {
  height: 256px;
  width: 214px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  flex-shrink: 0;
  flex-grow: 0;
}
.stafflist .img + div {
  padding: 1.5rem 1.4375rem 0 1.625rem;
  width: 308px;
}
.stafflist .status {
  color: #e7141a;
  font-size: 0.99875rem;
  line-height: 1em;
  font-weight: 700;
  margin-bottom: 1.3125rem;
}
.stafflist h3 {
  margin: 0 0 1.25rem;
  font-size: 1.748025rem;
  line-height: 1em;
  border-bottom: solid 1px #e7141a;
}
.stafflist h3 span {
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  font-size: 0.8115375rem;
  line-height: 1em;
  margin-top: 0.8125rem;
  color: #8e8e8e;
  margin-bottom: 24px;
}
.stafflist .txt {
  line-height: 1.4444591528rem;
}

.page_reason {
  counter-reset: point;
}
.page_reason .mv {
  background-image: url("../../images/reason/mv.jpg");
}
.page_reason .box_wall {
  background: url("../../images/common/bg-graywall.jpg") center top no-repeat;
  text-align: center;
  padding: 3rem 0 2.75rem;
  margin-bottom: 3.4375rem;
}
.page_reason .box_wall .h2_sub {
  font-weight: 700;
  font-size: 1.24865rem;
  line-height: 1em;
  margin-bottom: 1.875rem;
}
.page_reason .box_wall h2 {
  margin-bottom: 1.75rem;
}
.page_reason .box_wall .dot {
  position: relative;
}
.page_reason .box_wall .dot:after {
  content: '';
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: #e7141a;
  position: absolute;
  top: -1.0625rem;
  left: 0;
  right: 0;
  margin: auto;
}
.page_reason .box_wall .txt {
  font-size: 1.125rem;
  line-height: 1.5384615385rem;
}
.page_reason .point {
  margin-bottom: 3.5rem;
  position: relative;
  counter-increment: point;
}
.page_reason .point > span:first-child {
  display: block;
  position: absolute;
  z-index: 1;
  left: 1.5rem;
  top: 0;
  background: #e7141a;
  font-size: 0.809635rem;
  line-height: 1em;
  color: #fff;
  font-family: "Oswald", sans-serif;
  text-align: center;
  padding-top: 1rem;
  box-sizing: border-box;
  width: 3.5rem;
}
.page_reason .point > span:first-child:after {
  content: "0" counter(point);
  display: block;
  font-size: 2.565233125rem;
  line-height: 1em;
}
.page_reason .point h3 {
  background-image: linear-gradient(-45deg, #c6c6c6 25%, #f1f1f1 25%, #f1f1f1 50%, #c6c6c6 50%, #c6c6c6 75%, #f1f1f1 75%);
  background-size: 4px 4px;
  height: 4.5625rem;
  border-style: solid;
  border-width: 0.5625rem 0 0 0;
  border-color: #fff;
  padding: 0.2em 0.5em 0.2em 6.6875rem;
  box-sizing: border-box;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  position: relative;
  margin-top: 0;
  margin-bottom: 2rem;
}
.page_reason .point h3:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.625rem 1.75rem;
  border-color: #e7141a #e7141a transparent #e7141a;
  position: absolute;
  left: 1.5rem;
  bottom: -0.875rem;
}
.page_reason .point h3 + div {
  padding-left: 29.5rem;
  background-position: 0 0;
  background-repeat: no-repeat;
  box-sizing: border-box;
  min-height: 256px;
}
.page_reason .point h4 {
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: 1.3125rem;
}
.page_reason .point .txt {
  line-height: 1.625em;
  margin-bottom: 2.25rem;
}
.page_reason .point .txt p:not(last-child) {
  margin-bottom: 1.75rem;
}
.page_reason .point .right {
  text-align: right;
}
.page_reason .point .right a {
  display: inline-flex;
  width: 25rem;
  justify-content: center;
  align-items: center;
  background: #e7141a;
  color: #fff;
  height: 3.125rem;
  text-decoration: none;
  font-weight: 700;
}
.page_reason .point .right a:after {
  content: '';
  display: block;
  margin-left: 2rem;
  width: 0.625rem;
  height: 0.625rem;
  transform: rotate(45deg);
  border-style: solid;
  border-width: 1px 1px 0 0;
  border-color: #fff;
}
.page_reason .point:nth-of-type(1) h3 + div {
  background-image: url("../../images/reason/point1-img.jpg");
}
.page_reason .point:nth-of-type(2) h3 + div {
  background-image: url("../../images/reason/point2-img.jpg");
}
.page_reason .point:nth-of-type(3) h3 + div {
  background-image: url("../../images/reason/point3-img.jpg");
}
.page_reason .point:nth-of-type(4) h3 + div {
  background-image: url("../../images/reason/point4-img.jpg");
}
.page_reason .point:nth-of-type(5) h3 + div {
  background-image: url("../../images/reason/point5-img.jpg");
}
.page_reason .point:nth-of-type(6) h3 + div {
  background-image: url("../../images/reason/point6-img.jpg");
}
.page_reason .box_komikomi {
  background-image: linear-gradient(90deg, transparent 25%, #fff 25%), linear-gradient(#c1c1c1 25%, #fff 25%);
  background-size: 4px 4px;
  position: relative;
  height: 478px;
  display: flex;
  align-items: center;
  margin-bottom: 3.5rem;
}
.page_reason .box_komikomi:before {
  content: '';
  display: block;
  left: 0;
  right: calc(50% + 185px);
  top: 0;
  height: 100%;
  margin: auto;
  position: absolute;
  background-image: linear-gradient(90deg, transparent 25%, #c1c1c1 25%), linear-gradient(#fff 25%, #c1c1c1 25%);
  background-size: 4px 4px;
}
.page_reason .box_komikomi h2 {
  position: absolute;
  bottom: 0;
  right: calc(50% + 154px);
  margin: 0;
  color: #e7141a;
  background: url("../../images/reason/komikomi-img.png");
  width: 441px;
  height: 424px;
  box-sizing: border-box;
  padding: 42px 0 0 54px;
  font-size: 2.31028875rem;
  line-height: 1.3550056243em;
}
.page_reason .box_komikomi h2 .s {
  font-size: 1.2530025rem;
  line-height: 1em;
  margin-bottom: 18px;
}
.page_reason .box_komikomi .h2_sub {
  color: #e7141a;
  position: absolute;
  left: calc(50% - 540px);
  bottom: 80px;
  transform: rotate(-10deg);
  font-size: 0.92607875rem;
  line-height: 1.333547633em;
  font-weight: 700;
}
.page_reason .box_komikomi .block {
  display: block;
}
.page_reason .box_komikomi .block:first-of-type {
  text-indent: -0.25em;
}
.page_reason .box_komikomi .block:nth-of-type(2) {
  text-indent: -0.5em;
}
.page_reason .box_komikomi .ls {
  letter-spacing: -0.2em;
}
.page_reason .box_komikomi ul {
  padding-left: 424px;
  list-style: none;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.page_reason .box_komikomi li {
  width: 152px;
  font-size: 1.0465675rem;
  font-weight: 700;
  background-size: 144px;
  background-position: bottom;
  background-repeat: no-repeat;
  padding-bottom: 154px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.625rem;
}
.page_reason .box_komikomi li .s {
  font-size: 0.8232651023em;
  display: block;
}
.page_reason .box_komikomi li:first-child {
  background-image: url("../../images/reason/komikomi-img1.jpg");
}
.page_reason .box_komikomi li:nth-child(2) {
  background-image: url("../../images/reason/komikomi-img2.jpg");
}
.page_reason .box_komikomi li:nth-child(3) {
  background-image: url("../../images/reason/komikomi-img3.jpg");
}
.page_reason .box_komikomi li:nth-child(4) {
  background-image: url("../../images/reason/komikomi-img4.jpg");
}
.page_reason .box_komikomi li:nth-child(5) {
  background-image: url("../../images/reason/komikomi-img5.jpg");
}
.page_reason .box_komikomi li:nth-child(6) {
  background-image: url("../../images/reason/komikomi-img6.jpg");
}
.page_reason .box_komikomi li:nth-child(7) {
  background-image: url("../../images/reason/komikomi-img7.jpg");
}
.page_reason .box_komikomi li:nth-child(8) {
  background-image: url("../../images/reason/komikomi-img8.jpg");
}
.page_reason .bans {
  padding: 0;
  justify-content: space-between;
  list-style: none;
  margin: 0 0 4.9375rem;
}
.page_reason .bans li:nth-of-type(1) a {
  background-image: url("../../images/reason/ban-wall-img.jpg");
}
.page_reason .bans li:nth-of-type(2) a {
  background-image: url("../../images/reason/ban-roof-img.jpg");
}
.page_reason .bans a {
  display: flex;
  width: 520px;
  height: 155px;
  flex-direction: column;
  background: #e7141a;
  color: #fff;
  align-items: center;
  justify-content: center;
  font-size: 1.816846875rem;
  line-height: 1em;
  font-weight: 700;
  text-decoration: none;
  box-sizing: border-box;
  border: solid 3px #e7141a;
  padding-right: 151px;
  background-size: 151px;
  background-position: right;
  background-repeat: no-repeat;
}
.page_reason .bans .s {
  font-size: 0.7650273224em;
  line-height: 1em;
  display: block;
  margin-bottom: 0.6em;
}
.page_reason .bans .ico {
  display: inline-block;
  padding-left: 48px;
  background: url("../../images/common/ico-roller-wh.png") left/34px no-repeat;
}
.page_reason .bans a > div {
  border: solid 1px #fff;
  width: 330px;
  height: 2.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.936740625rem;
  margin-top: 0.9375rem;
}
.page_reason .bans a > div:after {
  content: '';
  display: block;
  width: 0.5625rem;
  height: 0.5625rem;
  border-style: solid;
  border-width: 1px 1px 0 0;
  border-color: #fff;
  transform: rotate(45deg);
  margin-left: 0.875rem;
}
.page_reason .slider_bg {
  background: url("../../images/common/bg-graywall.jpg") center top no-repeat;
  padding: 3.375rem 0 3.5rem;
  margin-bottom: 3.5rem;
}

body.page_contact .mv {
  background-image: url("../../images/contact/mv.jpg");
}
body.page_contact .box_wall {
  background: url("../../images/common/bg-graywall.jpg") center top no-repeat;
  padding: 2.9375rem 0 3.0625rem;
  margin-bottom: -59px; /*3.5rem;*/
}
body.page_contact .box_wall h2 {
  margin-bottom: 2.125rem;
}
body.page_contact .box_wall .leadtxt {
  line-height: 1.5001341082em;
  margin-bottom: 2.5rem;
}
body.page_contact .box_wall .pc_flex {
  align-items: center;
  justify-content: center;
}
body.page_contact .box_wall .pc_flex > div:first-child {
  width: 250px;
  height: 85px;
  background: url("../../images/common/bg-paint-red.png");
  color: #fff107;
  font-weight: 700;
  font-size: 1.2530025rem;
  line-height: 1.2998050682em;
  align-items: center;
  position: relative;
  box-sizing: border-box;
  padding: 19px 0 0 51px;
  margin-right: 30px;
}
body.page_contact .box_wall .pc_flex > div:first-child:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 10px;
  border-color: transparent transparent transparent #fff107;
  position: absolute;
  right: 43px;
  bottom: 42px;
}
body.page_contact .box_wall .pc_flex > a {
  display: block;
  height: 2.625rem;
  padding-left: 4rem;
  background: url("../../images/common/ico-tel-bk.png") left center/auto 100% no-repeat;
  text-decoration: none;
  font-size: 2.802245rem;
  line-height: 1em;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  margin-right: 18px;
  vertical-align: baseline;
}

body.grp_voice .mv {
  background-image: url("../../images/voice/mv.jpg");
}
body.grp_voice.single .box_h2 > div:first-child {
  align-items: center;
  justify-content: center;
  font-weight: 700;
  margin-bottom: 1.1875rem;
}
body.grp_voice.single .box_h2 .date {
  font-size: 1.1237rem;
  display: inline-block;
  margin-right: 0.5rem;
}
body.grp_voice.single .box_h2 .catlabel {
  display: inline-flex;
  align-items: center;
  padding: 0 0.5rem;
  box-sizing: border-box;
  margin: 0 0.25rem;
  height: 1.5625rem;
}
body.grp_voice.single .box_h2 .catlabel.bd {
  color: #e7141a;
  border: solid 1px #e7141a;
}
body.grp_voice.single .box_h2 .catlabel.bg {
  background: #909090;
  color: #fff;
}
body.grp_voice.single .bg_wall {
  background: url("../../images/common/bg-graywall.jpg") center top no-repeat;
  padding: 2.5rem 0;
  margin-bottom: 2.375rem;
}
body.grp_voice.single .bg_wall .pc_flex {
  width: 100%;
  justify-content: space-between;
}
body.grp_voice.single .bg_wall dl {
  width: 547px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body.grp_voice.single .bg_wall dl > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
body.grp_voice.single .bg_wall dl > div:after {
  content: '';
  display: block;
  width: 100%;
  flex-shrink: 0;
  height: 1px;
  background-image: linear-gradient(90deg, transparent, #000 10%, #000 45%, transparent 45%, transparent);
  background-size: 8px;
  margin: 1.125rem 0;
}
body.grp_voice.single .bg_wall dt {
  font-weight: 700;
  width: 137px;
  flex-shrink: 0;
  grid-row: 0;
  box-sizing: border-box;
  padding-left: 0.625rem;
}
body.grp_voice.single .bg_wall dt:before {
  content: '';
  display: inline-block;
  width: 0;
  right: 0;
  border-style: solid;
  border-width: 5px 9px;
  border-color: transparent transparent transparent #000;
  margin-right: 0.4375rem;
}
body.grp_voice.single .bg_wall dd {
  margin: 0;
  padding-right: 2em;
  line-height: 1.5em;
  width: 378px;
  flex-shrink: 0;
  flex-grow: 0;
}
body.grp_voice.single .bg_wall .img {
  display: block;
  width: 473px;
  height: 361px;
  box-sizing: border-box;
  border: solid 14px #fff;
  position: relative;
  background-size: cover;
  background-position: center center;
}
body.grp_voice.single .box_voice {
  margin-bottom: 3.5rem;
}
body.grp_voice.single .box_voice .pc_flex {
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
body.grp_voice.single .box_voice .img {
  display: block;
  position: relative;
  width: 418px;
  margin-right: 48px;
  flex-shrink: 0;
  flex-grow: 0;
}
body.grp_voice.single .box_voice .img img {
  max-width: 100%;
}
body.grp_voice.single .box_voice dl {
  margin: 0;
  padding: 0;
  width: 607px;
  flex-shrink: 0;
}
body.grp_voice.single .box_voice dt {
  background-image: url("../../images/voice/ico-voice.png"), linear-gradient(-45deg, #e2e2e2 25%, #f3f3f3 25%, #f3f3f3 50%, #e2e2e2 50%, #e2e2e2 75%, #f3f3f3 75%);
  background-size: 22px,4px 4px;
  background-repeat: no-repeat,repeat;
  background-position: 1.25rem center, 0, 0;
  font-weight: 700;
  font-size: 1.125rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding-left: 3.5rem;
  min-height: 2.5rem;
  margin-bottom: 0.6875rem;
}
body.grp_voice.single .box_voice dd {
  margin: 0 0 0.6875rem 2.5rem;
  line-height: 1.5em;
}
body.grp_voice .pagefooter {
  background: url("../../images/common/bg-graywall.jpg") center top;
  padding: 3.4375rem 0 3.5rem;
}

.articlelist.voice:before, .articlelist.voice:after {
  content: '';
  display: block;
  width: 252px;
  order: 1;
}
.articlelist.voice article {
  background: url("../../images/voice/article-bg.jpg") 0 0/cover no-repeat;
  padding: 19px;
  width: 252px;
}
.articlelist.voice h2 {
  margin: 0.5rem 0 0.5rem;
  font-size: 0.99875rem;
  line-height: 1.5001489362em;
}
.articlelist.voice .img {
  margin-left: 0;
  margin-right: 0;
  height: 153px;
  width: 100%;
  background: #fff url("../../images/common/no_image.jpg") center no-repeat;
}

.grp_post .mv {
  background-image: url("../../images/blog/mv.jpg");
}
.grp_post .bg_wall {
  text-align: center;
  padding: 1.875rem 0;
  box-sizing: border-box;
  background: url("../../images/common/bg-graywall.jpg") center top;
  margin-bottom: 3.5rem;
}
.grp_post .bg_wall > .pc_flex {
  justify-content: space-between;
}
.grp_post .bg_wall > .pc_flex:before {
  content: '';
  display: block;
  margin-top: -0.4375rem;
  margin-bottom: -0.4375rem;
  width: 1px;
  background: #000;
}
.grp_post .catlist {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  order: -1;
}
.grp_post .catlist li .catlabel {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 5.75rem;
  box-sizing: border-box;
  height: 1.875rem;
  padding: 0 0.25em;
  font-weight: 700;
  text-decoration: none;
  border-style: solid;
  border-width: 1px;
}
.grp_post .catlist li {
  margin-top: 0.875rem;
  margin-bottom: 0.875rem;
}
.grp_post .catlist li:first-child a {
  background: #858585;
  font-size: 0.977186875rem;
  color: #fff;
}
.grp_post .catlist li:nth-child(n+2) a {
  margin-left: 0.875rem;
  border-style: solid;
  border-width: 1px;
}
.grp_post .catlist + div {
  display: flex;
  align-items: center;
}
.grp_post .month_ttl {
  color: #e7141a;
  font-size: 1.25028rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  background: url("../../images/blog/ico-archives.png") left center/auto 100% no-repeat;
  padding-left: 3.25rem;
  margin-right: 1.75rem;
  font-weight: 700;
}
.grp_post .box_month {
  position: relative;
  width: 16.5rem;
  height: 2.6875rem;
  z-index: 1;
}
.grp_post .selectmenu {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: solid 1px #000;
  position: absolute;
  left: 0;
  top: 0;
}
.grp_post .selectmenu li {
  height: 2.6875rem;
}
.grp_post .selectmenu a, .grp_post .selectmenu label {
  text-decoration: none;
  display: flex;
  height: 100%;
  align-items: center;
  padding-left: 1.25rem;
  padding-right: 1.125rem;
}
.grp_post .selectmenu label {
  justify-content: space-between;
}
.grp_post .selectmenu label:after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 7px;
  border-color: #000 transparent transparent transparent;
}
.grp_post #switch_month:checked ~ .selectmenu {
  height: auto;
}
.grp_post .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}

.grp_post .pagination a {
  margin: 0;
	position: relative;
}
.grp_post .pagination a[rel=prev] {
  order: -1;
}
/*.grp_post .pagination a[rel=prev]:before {
  left: 0.54em;
}*/
.grp_post .pagination a[rel=next] {
  order: 1;
}
/*.grp_post .pagination a[rel=next]:after {
  right: 0.54em;
}*/
.grp_post .pagination:before, .grp_post .pagination:after {
  content: '';
  display: inline-block;
}
.grp_post.single article {
  margin-bottom: 5rem;
}
.grp_post.single article ~ .narrow {
  margin-bottom: 4.1875rem;
}
.grp_post.single article .txt {
  line-height: 1.4em;
}
.grp_post.single .meta {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  font-weight: 700;
  font-size: 0.99875rem;
  margin-bottom: 1rem;
}
.grp_post.single .meta .date {
  order: -2;
  display: inline-block;
  margin-right: 1rem;
}
.grp_post.single .meta ul {
  margin: 0;
  padding: 0;
  display: flex;
}
.grp_post.single .meta li {
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0.5rem;
}
.grp_post.single article h2 {
  font-size: 1.5608125rem;
  line-height: 1.25em;
  margin-bottom: 2.625rem;
  margin-top: 0;
}
.grp_post.single article h2:after {
  content: '';
  display: block;
  height: 1px;
  background-image: linear-gradient(90deg, transparent, #000 10%, #000 40%, transparent 50%);
  background-size: 4px;
  margin-top: 0.25em;
}
.grp_post.single article h1.exc {
  font-size: 1.5608125rem;
  line-height: 1.25em;
  margin-bottom: 2.625rem;
  margin-top: 0;
}
.grp_post.single article h1.exc:after {
  content: '';
  display: block;
  height: 1px;
  background-image: linear-gradient(90deg, transparent, #000 10%, #000 40%, transparent 50%);
  background-size: 4px;
  margin-top: 0.25em;
}

/* 新着情報詳細ページ タイトルブロック */
.news-title-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-block: 16px;
  padding-inline: 0;
  border-block-end: 1px solid #c8102e;
  margin-block-end: 2rem;
}

.news-title-block__heading {
  /* 375px: 24px, 1920px: 32px */
  font-size: clamp(24px, calc(22.06px + 0.518vw), 32px);
  font-weight: 700;
  line-height: 1.4;
  color: #191a19;
  max-width: 700px;
  margin: 0;
  padding-inline: 4px;
}

.news-title-block__heading::after {
  display: none;
}

.news-title-block__date {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.48px;
  color: #191a19;
  margin: 0;
  padding-inline: 4px;
}

.news-title-block__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.news-title-block__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #f1f1f1;
  color: #616161;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.52px;
  padding-block: 7px 8px;
  padding-inline: 16px;
  border-radius: 9999px;
  line-height: 1;
}

.grp_post.single article.box_inner {
  max-width: 700px;
  margin-inline: auto;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .news-title-block {
    padding-inline: 0;
  }
}

/* ニュース詳細ページ 本文スタイル */
.grp_post.single .txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  color: #191a19;
}

.grp_post.single .txt p {
  margin-block: 0 1.5em;
}

.grp_post.single .txt h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  color: #191a19;
  padding-block: 16px;
  padding-inline: 4px;
  margin-block: 2em 1em;
  border-block-end: 1px solid #ccc;
  text-align: left;
}

.grp_post.single .txt h2::after {
  display: none;
}

.grp_post.single .txt h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  color: #191a19;
  padding-inline: 4px;
  margin-block: 1.5em 1em;
}

.grp_post.single .txt h4 {
  font-family: "Noto Serif JP", serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  color: #191a19;
  padding-inline: 4px;
  margin-block: 1.5em 1em;
}

.grp_post.single .txt h5 {
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  color: #191a19;
  padding-inline: 4px;
  margin-block: 1.5em 1em;
}

.grp_post.single .txt h5::before {
  content: "■";
  color: #c8102e;
  margin-inline-end: 4px;
}

.grp_post.single .txt h6 {
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  color: #191a19;
  padding-inline: 4px;
  margin-block: 1.5em 1em;
}

.grp_post.single .txt ul,
.grp_post.single .txt ol {
  margin-block: 1em;
  padding-inline-start: 21px;
  line-height: 2;
}

.grp_post.single .txt li {
  margin-block: 0;
}

.grp_post.single .txt ul {
  list-style: disc;
}

.grp_post.single .txt ol {
  list-style: decimal;
}

.grp_post.single .txt a {
  color: #c8102e;
  text-decoration: underline;
}

.grp_post.single .txt a:hover {
  text-decoration: none;
}

.grp_post.single .txt img {
  max-width: 100%;
  height: auto;
  margin-block: 1em;
}

/* スマホ版 */
@media screen and (max-width: 767px) {
  .grp_post.single .txt {
    font-size: 14px;
  }
}

body.grp_menu .mv,
body.grp_lineup .mv {
  background-image: url("../../images/menu/mv.jpg");
}
body.grp_menu .box1st {
  margin-bottom: 3.5rem;
}
body.grp_menu .box1st .box_h2 > div:first-child {
  display: block;
  text-align: center;
  font-weight: 700;
  font-size: 1.24865rem;
  line-height: 1em;
  margin-bottom: 1rem;
}
body.grp_menu .box1st .box2nd {
  align-items: center;
}
body.grp_menu .box1st .box2nd .pc_flex {
  flex-wrap: wrap;
  align-items: center;
}
body.grp_menu .box1st ul {
  list-style: none;
  margin: 0 0.875rem 0 0;
  padding: 0;
  justify-content: space-between;
}
body.grp_menu .box1st li {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background-image: linear-gradient(-45deg, #e9141c 20%, #f38083 25%, #f38083 50%, #e9141c 55%, #e9141c 70%, #f38083 75%);
  background-size: 4px 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #fff;
  font-size: 0.99115125rem;
  line-height: 1.2148967552em;
  font-weight: 700;
  margin-left: 0.4375rem;
  margin-right: 0.5rem;
  box-sizing: border-box;
  padding-top: 0.5em;
}
body.grp_menu .box1st .img {
  width: 341px;
  height: 227px;
  flex-shrink: 0;
  flex-grow: 0;
  background-size: cover;
  background-position: center center;
  background-color: #f0f0f0;
  margin-right: 5.375rem;
}

body.grp_menu .price,
body.grp_lineup .price {
  width: 330px;
  background: url("../../images/menu/price-bg.png") left bottom no-repeat;
  color: #e7141a;
  font-size: 5.1235875rem;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-weight: 700;
  font-family: "Oswald", sans-serif, YuGothic, "Yu Gothic Medium", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1em;
  padding-bottom: 1.1875rem;
  margin-bottom: 1rem;
}
body.grp_menu .price,
body.grp_lineup .price {
  position: relative;
}
body.grp_menu .price .s,
body.grp_lineup .price .s {
  font-size: 0.7678018576em;
  line-height: 1em;
}
body.grp_menu .price .ss,
body.grp_lineup .price .ss {
  font-size: 0.5407636739em;
  line-height: 1em;
}

body.grp_menu .price .boxTaxInPrice {
  position: absolute;
  bottom: -2.0em;
  left: 2.5em;
  letter-spacing: 0.1em;
  font-size: 1.13rem;
}

body.grp_lineup .price .boxTaxInPrice {
  position: absolute;
  bottom: 0.5em;
  left: 8.5em;
  width: 8em;
  letter-spacing: 0.1em;
  font-size: 1.13rem;
}
@media screen and (max-width: 480px) {
  body.grp_lineup .price .boxTaxInPrice {
    bottom: -1.2em;
    left: 0;
    width: auto;
  }
}

body.grp_lineup .price .boxTaxInPrice02 {
  position: relative;
  top: 0.45em;
  margin: 0 0.2em 0 0.3em;
  letter-spacing: 0.1em;
  font-size: 1.13rem;
}
@media screen and (max-width: 480px) {
  body.grp_lineup .price .boxTaxInPrice02 {
    display: inline;
    margin: 0;
    top: 0;
  }
}

body.grp_menu .price .txtTaxInPrice,
body.grp_lineup .price .txtTaxInPrice {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 8em;
  text-align: left;
  font-size: 0.9rem;
}

body.grp_menu .price.typeMenu03 .txtTaxInPrice {
  bottom: -2.0em;
}

body.grp_menu .box2nd .red {
  width: 100%;
  font-weight: 700;
  font-size: 0.87462rem;
}
body.grp_menu .bg_anchors {
  background: url("../../images/common/bg-graywall.jpg") center top no-repeat;
  padding: 1.5rem 0 2.3125rem;
  margin-bottom: 3.5rem;
}
body.grp_menu .bg_anchors ul {
  list-style: none;
  margin: 0;
  padding: 0 5.25rem;
  display: flex;
  justify-content: space-between;
}
body.grp_menu .bg_anchors li {
  padding: 1.5625rem 3.25rem 0 3.25rem;
  background: url("../../images/common/paint-gray.png") left center/8rem no-repeat;
}
body.grp_menu .bg_anchors a {
  text-decoration: none;
  color: #e7141a;
  font-weight: 700;
  line-height: 1em;
  text-align: center;
}
body.grp_menu .bg_anchors a:after {
  content: '';
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  border-style: solid;
  border-width: 1px 1px 0 0;
  border-color: #e7141a;
  transform: rotate(135deg);
  margin: 0 auto;
}
body.grp_menu .itemlist {
  margin-bottom: 3.5rem;
}
body.grp_menu .itemlist section {
  margin-bottom: 3.5rem;
}
body.grp_menu .itemlist h3 {
  color: #e7141a;
  font-weight: 700;
  font-size: 1.5rem;
  background-image: linear-gradient(-45deg, #c8c8c8 20%, #f1f1f1 25%, #f1f1f1 50%, #c8c8c8 55%, #c8c8c8 70%, #f1f1f1 75%);
  background-size: 4px 4px;
  padding: 0.25em 0 0.25em 6.6875rem;
  box-sizing: border-box;
  height: 4rem;
  position: relative;
  display: flex;
  align-items: center;
}
body.grp_menu .itemlist h3:after {
  content: 'item';
  background: #e7141a url("../../images/common/ico-hake-wh.png") center top 2.25rem/1.875rem no-repeat;
  color: #fff;
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.1em;
  font-size: 0.809635rem;
  padding-top: 1rem;
  box-sizing: border-box;
  height: 4.625rem;
  width: 3.5rem;
  text-align: center;
  position: absolute;
  left: 1.5rem;
  top: -0.5625rem;
  line-height: 1em;
  font-weight: 400;
}
body.grp_menu .itemlist h3:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5rem 1.75rem;
  border-color: #e7141a #e7141a transparent;
  position: absolute;
  left: 1.5rem;
  top: 3.5625rem;
}
body.grp_menu .itemlist .img {
  border: solid 1px #909090;
  box-sizing: border-box;
  width: 27rem;
  flex-grow: 0;
  flex-shrink: 0;
  margin-right: 2.5rem;
  position: relative;
  height: 16rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 0.8rem 0.8rem 4.375rem;
}
body.grp_menu .itemlist .img:before {
  content: '';
  display: block;
  position: absolute;
  width: 4.375rem;
  height: 3.0625rem;
  left: 0.9375rem;
  bottom: 0.9375rem;
  background-size: contain;
}
body.grp_menu .itemlist .img.wall:before {
  background: url("../../images/menu/ico-wall.png") left bottom/100% no-repeat;
}
body.grp_menu .itemlist .img.roof:before {
  background: url("../../images/menu/ico-roof.png") left bottom/100% no-repeat;
}
body.grp_menu .itemlist h4 {
  margin: 0 0 1.25rem;
  font-size: 1.3125rem;
}
body.grp_menu .itemlist .txt {
  line-height: 1.625rem;
  margin-bottom: 1.625rem;
}
body.grp_menu .itemlist dl {
  margin: 0;
  padding: 0;
}
body.grp_menu .itemlist dl dt {
  width: 6.75rem;
  display: flex;
  height: 2rem;
  align-items: center;
  justify-content: center;
  color: #e7141a;
  border: solid 1px #e7141a;
  box-sizing: border-box;
  font-weight: 700;
  margin-right: 1.1875rem;
}
body.grp_menu .itemlist dl dd {
  margin-left: 0;
}
body.grp_menu .itemlist dl > div:first-child {
  width: 13.6875rem;
  flex-shrink: 0;
  flex-grow: 0;
}
body.grp_menu .itemlist dl > div:first-child > div {
  display: flex;
  align-items: center;
}
body.grp_menu .itemlist dl > div:first-child dt, body.grp_menu .itemlist dl > div:first-child dd {
  margin-bottom: 1rem;
}
body.grp_menu .itemlist dl > div:last-child {
  display: flex;
  width: 70%;
  flex-grow: 1;
  align-items: stretch;
  margin-bottom: 1rem;
}
body.grp_menu .itemlist dl > div:last-child > div {
  width: 80%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body.grp_menu .itemlist dl > div:last-child dd {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body.grp_menu .itemlist dl > div:last-child dd > span:first-child {
  font-weight: 700;
}
body.grp_menu .itemlist dl > div:last-child dd > span:first-child:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.3125rem;
  border-color: transparent transparent transparent #e7141a;
}
body.grp_menu .itemlist .stars {
  font-size: 0%;
  padding-right: 1.625rem;
}
body.grp_menu .itemlist .stars span {
  display: inline-block;
  width: 1.125rem;
  height: 1.0625rem;
  background: url("../../images/menu/ico-starts.png") left center/auto 100% no-repeat;
  margin-right: 0.4375rem;
}
body.grp_menu .itemlist .stars .half {
  background-position: center center;
}
body.grp_menu .itemlist .stars .wh {
  background-position: right center;
}
body.grp_menu .itemlist .info {
  background: #e7e7e7;
  padding: 1.1875rem 1.8125rem 1.1875rem 1rem;
  line-height: 1.625em;
  margin-bottom: 2rem;
}
body.grp_menu .itemlist .info h5 {
  margin-top: 0;
  margin-bottom: 1.625rem;
  font-size: 1.125rem;
}
body.grp_menu .itemlist .info h5:before {
  content: '!';
  color: #fff;
  font-weight: 700;
  background: #e7141a;
  border-radius: 50%;
  width: 1.375rem;
  height: 1.375rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.4375rem;
}
body.grp_menu .itemlist .info h5:nth-of-type(n+2) {
  margin-top: 1.625rem;
}
body.grp_menu .bg_warranty {
  height: 393px;
  box-sizing: border-box;
  border-top: solid 0.5rem #f6ee5c;
  border-bottom: solid 0.5rem #5ccaff;
  padding-top: 3.5rem;
  background: url("../../images/menu/warranty-bg.jpg") center no-repeat;
}
body.grp_menu .bg_warranty .box_inner {
  position: relative;
}
body.grp_menu .bg_warranty img:first-child {
  position: absolute;
  left: -3.125rem;
  top: -0.875rem;
}
body.grp_menu .bg_warranty h3 {
  padding-left: 10.1875rem;
  margin: 0 0 7.875rem;
  font-size: 1.458735rem;
  line-height: 1em;
  margin-bottom: 2.625rem;
}
body.grp_menu .bg_warranty h3 img + .red {
  margin-bottom: 1.0625rem;
  display: block;
}
body.grp_menu .bg_warranty h3 .l {
  font-size: 2.9991375rem;
  line-height: 1em;
}
body.grp_menu .bg_warranty .txt {
  line-height: 1.625rem;
  padding-left: 289px;
}
body.grp_menu .bg_warranty + .box_contact {
  margin-bottom: 0;
}
body.grp_menu .point_bg {
  background: url("../../images/menu/bg-3points.jpg") center top no-repeat;
  padding-top: 3.5rem;
}
body.grp_menu .point_bg .box_h2 {
  text-align: center;
}
body.grp_menu .point_bg .box_h2 > div {
  font-size: 1.2825rem;
  font-weight: 700;
  line-height: 1em;
  margin-bottom: 1.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.grp_menu .point_bg .box_h2 > div:before, body.grp_menu .point_bg .box_h2 > div:after {
  content: '';
  display: block;
  width: 2px;
  height: 1.625rem;
  background: #000;
  margin: 0 1.25rem;
}
body.grp_menu .point_bg .box_h2 > div:before {
  transform: rotate(-45deg);
  transform-origin: right center;
}
body.grp_menu .point_bg .box_h2 > div:after {
  transform: rotate(45deg);
  transform-origin: left center;
}
body.grp_menu .point_bg h2:after {
  margin-top: 1.25rem;
}
body.grp_menu .point_bg ol {
  list-style: none;
  display: flex;
  justify-content: space-between;
  padding: 0 1.9375rem;
  margin: 0 -25px 3.3125rem;
}
body.grp_menu .point_bg ol li {
  margin: 0 25px;
  text-align: center;
}
body.grp_menu .point_bg ol li:first-child {
  width: 260px;
  flex-shrink: 0;
}
body.grp_menu .point_bg ol .eng {
  width: 5.1875rem;
  height: 5.1875rem;
  box-sizing: border-box;
  background: url("../../images/menu/bg-pointnum.png");
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 2.361779375rem;
  margin-bottom: 1.1875rem;
  line-height: 1em;
}
body.grp_menu .point_bg ol .eng:before {
  content: 'point';
  font-size: 0.809635rem;
  line-height: 1em;
  margin-bottom: 0.25rem;
}
body.grp_menu .point_bg h3 {
  margin: 0 0 0.875rem;
  background: #fff;
  padding: 0.3125rem 0.6875rem;
  font-size: 1.2530025rem;
  line-height: 1em;
  white-space: nowrap;
}
body.grp_menu .point_bg .txt {
  text-align: left;
  line-height: 1.5003046923em;
}
body.grp_menu table {
  border-collapse: collapse;
  border: solid 1px #000;
  margin-bottom: 3.5625rem;
  display: block;
}
body.grp_menu tbody {
  display: block;
}
body.grp_menu tr {
  height: 5rem;
  display: flex;
}
body.grp_menu th {
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.3888888889em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
body.grp_menu th:first-child {
  background: #f16e72;
  width: 9.875rem;
  flex-shrink: 0;
  flex-grow: 0;
}
body.grp_menu th:first-child:nth-child(n+1):nth-last-child(n+1) {
  border-top: solid 1px #fff;
}
body.grp_menu .l_space {
  letter-spacing: 0.25em;
  text-indent: -0.25em;
}
body.grp_menu td {
  align-self: stretch;
  display: flex;
  align-items: center;
}
body.grp_menu td:nth-of-type(2n-1) {
  width: 4.0625rem;
  flex-shrink: 0;
  flex-grow: 0;
  font-size: 1.9371675rem;
  justify-content: center;
  line-height: 1em;
  border-left: solid 1px #060606;
}
body.grp_menu td:nth-of-type(5) {
  color: #e7141a;
}
body.grp_menu td:nth-of-type(2n) {
  width: 15.125rem;
  position: relative;
}
body.grp_menu td:nth-of-type(2n):before {
  content: '';
  display: block;
  width: 1px;
  position: absolute;
  top: 0.4375rem;
  bottom: 0.4375rem;
  background: #9a9a9a;
  left: 0;
}
body.grp_menu td div {
  line-height: 1.5em;
  padding-right: 1.5em;
  padding-left: 1.125rem;
  box-sizing: border-box;
}
body.grp_menu tr:first-child th {
  background: #636261;
  color: #fff;
}
body.grp_menu tr:first-child th:first-child {
  background: #fff;
}
body.grp_menu tr:first-child th:nth-child(n+2) {
  width: 30%;
  flex-shrink: 1;
  flex-grow: 1;
}
body.grp_menu tr:first-child th:nth-child(n+3) {
  border-left: solid 1px #fff;
}
body.grp_menu tr:nth-child(2n) {
  background: #f1f1f1;
}
body.grp_menu tr:nth-child(2n+1) {
  background: #e3e3e3;
}
body.grp_menu #faq h3,
body.grp_lineup #faq h3 {
  background: #5d5d5d;
  color: #fff;
  font-size: 1.375rem;
  margin-top: 0;
  padding: 1.0625rem 1.1875rem;
  margin-bottom: 2rem;
  line-height: 1.5699672727em;
}
body.grp_menu #faq .eng,
body.grp_lineup #faq .eng {
  display: inline-block;
  font-size: 2.158705rem;
  margin-right: 0.9375rem;
  vertical-align: text-bottom;
}
body.grp_menu #faq .answer,
body.grp_lineup #faq .answer {
  padding-left: 3.75rem;
  position: relative;
  margin-bottom: 3.5rem;
}
body.grp_menu #faq .answer .lead,
body.grp_lineup #faq .answer .lead {
  color: #e7141a;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.4545454545em;
  margin-bottom: 2.125rem;
}
body.grp_menu #faq .answer .lead .eng,
body.grp_lineup #faq .answer .lead .eng {
  position: absolute;
  left: 1.25rem;
  top: 0;
}
body.grp_menu #faq .txt,
body.grp_lineup #faq .txt {
  font-size: 1.2144525rem;
  line-height: 1.444378228em;
  margin-bottom: 1.625rem;
  text-align: left;
}
body.grp_menu #faq .answer.a1 .txt,
body.grp_lineup #faq .answer.a1 .txt {
  margin-top: -1rem;
}
body.grp_menu #faq .cols3,
body.grp_lineup #faq .cols3 {
  justify-content: space-between;
}
body.grp_menu #faq .cols3 > div,
body.grp_lineup #faq .cols3 > div {
  width: 284px;
  padding-top: 200px;
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
  font-size: 1.0793525rem;
  line-height: 1.5001341082em;
}
body.grp_menu #faq h4,
body.grp_lineup #faq h4 {
  font-size: 1.3rem;
  line-height: 1.2997854844em;
  margin-top: 0;
  margin-bottom: 0.5rem;
}
body.grp_menu #faq .answer.a1 .cols3 > div:first-child,
body.grp_lineup #faq .answer.a1 .cols3 > div:first-child {
  background-image: url("../../images/menu/faq1-img1.jpg");
}
body.grp_menu #faq .answer.a1 .cols3 > div:nth-child(2),
body.grp_lineup #faq .answer.a1 .cols3 > div:nth-child(2) {
  background-image: url("../../images/menu/faq1-img2.jpg");
}
body.grp_menu #faq .answer.a1 .cols3 > div:last-child,
body.grp_lineup #faq .answer.a1 .cols3 > div:last-child {
  background-image: url("../../images/menu/faq1-img3.jpg");
}
body.grp_menu #faq .linebox,
body.grp_lineup #faq .linebox {
  border: solid 6px #e3e3e3;
  margin-left: -3.75rem;
  text-align: center;
  box-sizing: border-box;
  padding: 0 3.75rem 2.75rem;
  margin-bottom: 2.9375rem;
  margin-top: 0.625rem;
}
body.grp_menu #faq .linebox .ttl,
body.grp_lineup #faq .linebox .ttl {
  background: #fff url("../../images/common/bg-paint-ylw.png") center bottom no-repeat;
  padding-bottom: 0.9375rem;
  padding-top: 0.5625rem;
  font-size: 1.3125rem;
  line-height: 1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: -0.25rem;
  display: inline-block;
  min-width: 463px;
  min-height: 2.75rem;
  box-sizing: border-box;
  transform: translateY(-50%);
}
body.grp_menu #faq .linebox.box1 .cols3 > div,
body.grp_lineup #faq .linebox.box1 .cols3 > div {
  text-align: left;
}
body.grp_menu #faq .linebox.box1 .cols3 > div:first-child,
body.grp_lineup #faq .linebox.box1 .cols3 > div:first-child {
  background-image: url("../../images/menu/faq2-img1.jpg");
}
body.grp_menu #faq .linebox.box1 .cols3 > div:nth-child(2),
body.grp_lineup #faq .linebox.box1 .cols3 > div:nth-child(2) {
  background-image: url("../../images/menu/faq2-img2.jpg");
}
body.grp_menu #faq .linebox.box1 .cols3 > div:last-child,
body.grp_lineup #faq .linebox.box1 .cols3 > div:last-child {
  background-image: url("../../images/menu/faq2-img3.jpg");
}
body.grp_menu #faq .linebox.box2 .img,
body.grp_lineup #faq .linebox.box2 .img {
  height: 180px;
  background: url("../../images/menu/zairyo-bg.jpg");
}
body.grp_menu #faq .ttl_dashed,
body.grp_lineup #faq .ttl_dashed {
  display: flex;
  align-items: center;
  margin: 0 -0.6875rem 2.375rem;
}
body.grp_menu #faq .ttl_dashed:before,
body.grp_menu #faq .ttl_dashed:after,
body.grp_lineup #faq .ttl_dashed:before,
body.grp_lineup #faq .ttl_dashed:after {
  content: '';
  width: 20%;
  flex-grow: 1;
  height: 1px;
  display: block;
  background-image: linear-gradient(90deg, #000 45%, transparent 50%);
  background-size: 10px 10px;
  margin: 0 0.6875rem;
}
body.grp_menu #faq .linebox.box3 .ttl_s,
body.grp_lineup #faq .linebox.box3 .ttl_s {
  color: #fff;
  font-weight: 700;
  background: #e7141a;
  width: 282px;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.6875rem;
}
body.grp_menu #faq .linebox.box3 .ttl_s.gray,
body.grp_lineup #faq .linebox.box3 .ttl_s.gray {
  background: #8e8e8e;
  width: 515px;
}
body.grp_menu #faq .linebox.box3 .imgs,
body.grp_lineup #faq .linebox.box3 .imgs {
  display: flex;
  justify-content: space-between;
}
body.grp_menu .workslider_bg {
  margin-bottom: 0;
  background: url("../../images/common/bg-graywall.jpg") center top;
  padding-top: 3.375rem;
  padding-bottom: 3.5rem;
}

body.page_menu .anchors {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 4.625rem;
}
body.page_menu .anchors dt {
  background: #e7141a;
  color: #fff;
  font-size: 1.25rem;
  width: 12.75rem;
  height: 4.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
body.page_menu .anchors dt:after {
  content: '';
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 7px;
  border-color: transparent transparent transparent #e7141a;
  right: -14px;
  top: 0;
  bottom: 0;
  margin: auto;
}
body.page_menu .anchors dd {
  margin: 0;
  padding: 1.5625rem 3.1875rem 0;
  background: url("../../images/common/paint-gray.png") left top/8rem no-repeat;
}
body.page_menu .anchors a {
  text-decoration: none;
  color: #e7141a;
  font-weight: 700;
  text-align: center;
}
body.page_menu .anchors a:after {
  content: '';
  display: block;
  margin: auto;
  width: 1.125rem;
  height: 1.125rem;
  transform: rotate(135deg);
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #e7141a;
  box-sizing: border-box;
}
body.page_menu .anchors .s {
  font-size: 1rem;
}
body.page_menu .anchors .ylw {
  color: #fff93a;
}
body.page_menu .box_wall {
  background: url("../../images/common/bg-graywall.jpg") center top;
  padding-top: 2.625rem;
  padding-bottom: 2.4375rem;
  position: relative;
}
body.page_menu .box_wall:before {
  content: url("../../images/menu/img-house.png");
  position: absolute;
  left: calc(50% - 590px);
  bottom: 2.4375rem;
}
body.page_menu .box_wall h2 {
  font-size: 2.00363625rem;
  line-height: 1em;
  margin-bottom: 2.4375rem;
}
body.page_menu .box_wall h2 .s {
  display: block;
  font-size: 1.2530025rem;
  line-height: 1em;
  margin-bottom: 1rem;
}
body.page_menu .box_wall h2:after {
  margin-top: 1.375rem;
}
body.page_menu .box_wall ul {
  padding-left: 23.0625rem;
  display: flex;
  margin: 0;
  list-style: none;
  justify-content: space-between;
}
body.page_menu .box_wall li {
  padding-bottom: 5.375rem;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  font-weight: 700;
  font-size: 0.97929rem;
  line-height: 1.2501493429em;
  align-items: center;
  text-align: center;
  min-width: 5rem;
}
body.page_menu .box_wall li:first-child {
  background-image: url("../../images/reason/komikomi-img1.jpg");
}
body.page_menu .box_wall li:nth-child(2) {
  background-image: url("../../images/reason/komikomi-img2.jpg");
}
body.page_menu .box_wall li:nth-child(3) {
  background-image: url("../../images/reason/komikomi-img3.jpg");
}
body.page_menu .box_wall li:nth-child(4) {
  background-image: url("../../images/reason/komikomi-img4.jpg");
}
body.page_menu .box_wall li:nth-child(5) {
  background-image: url("../../images/reason/komikomi-img5.jpg");
}
body.page_menu .box_wall li:nth-child(6) {
  background-image: url("../../images/reason/komikomi-img6.jpg");
}
body.page_menu .box_wall li:nth-child(7) {
  background-image: url("../../images/reason/komikomi-img7.jpg");
}
body.page_menu .box_wall li:nth-child(8) {
  background-image: url("../../images/reason/komikomi-img8.jpg");
}
body.page_menu .box_wall .fukidashi {
  position: absolute;
  right: calc(50% - 559px);
  top: -1.5rem;
  text-decoration: none;
  background: url("../../images/menu/komi-all-bg.png") no-repeat;
  width: 19.25rem;
  height: 11.6875rem;
  color: #e7141a;
  font-weight: 700;
  padding-top: 2.3125rem;
  padding-left: 2.0625rem;
  animation: swing linear 2s infinite;
  transform-origin: center bottom;
}
body.page_menu .box_wall .fukidashi .txt1 {
  font-size: 1.598125rem;
  line-height: 2.7569375rem;
  transform: rotate(7deg);
  margin-bottom: 0.625rem;
  letter-spacing: 0.1em;
}
body.page_menu .box_wall .fukidashi .txt1 .s {
  font-size: 0.8150175987em;
}
body.page_menu .box_wall .fukidashi .txt1 + div {
  font-size: 1.54rem;
  color: #fbfb3c;
  transform: rotate(7deg);
  font-size: 0.99557125rem;
  padding-left: 9.375rem;
}
body.page_menu .box_wall .fukidashi .dot {
  position: relative;
  display: inline-block;
}
body.page_menu .box_wall .fukidashi .dot:after {
  content: '';
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #e7141a;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 1.5em;
}
body.page_menu .packlist,
body.grp_lineup .packlist {
  margin-bottom: 4.0625rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body.page_menu .packlist h3,
body.grp_lineup .packlist h3 {
  width: 100%;
  font-size: 1.75rem;
  background-image: linear-gradient(45deg, #c8c8c8 20%, #e8e8e8 25%, #e8e8e8 50%, #c8c8c8 55%, #c8c8c8 70%, #e8e8e8 75%);
  background-size: 4px 4px;
  box-sizing: border-box;
  padding-left: 1.5rem;
  height: 4rem;
  display: flex;
  align-items: center;
  position: relative;
}
body.page_menu .packlist h3:after,
body.grp_lineup .packlist h3:after {
  content: 'menu';
  width: 3.125rem;
  margin-right: 1.6875rem;
  background: #e80c13 url("../../images/common/ico-hake-wh.png") center 2.25rem/1.875rem no-repeat;
  color: #fff;
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.1em;
  height: 4.5rem;
  position: relative;
  top: -0.5rem;
  font-size: 0.809635rem;
  text-align: center;
  box-sizing: border-box;
  padding-top: 1.1875rem;
  order: -1;
}
body.page_menu .packlist h3:before,
body.grp_lineup .packlist h3:before {
  content: '';
  display: block;
  position: absolute;
  left: 1.5rem;
  bottom: -0.5rem;
  width: 0;
  height: 0;
  background: #e80c13;
  border-style: solid;
  border-width: 0.5rem 1.5625rem;
  border-color: #e80c13 #e80c13 #fff;
}
body.page_menu .packlist article,
body.grp_lineup .packlist article {
  background: #e80c13;
  color: #fff;
  width: 520px;
  box-sizing: border-box;
  padding: 1.5rem;
  padding-bottom: 4.625rem;
  margin-bottom: 2rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body.page_menu .packlist article:not(.wide):hover,
body.grp_lineup .packlist article:not(.wide):hover {
  opacity: 0.8;
}
body.page_menu .packlist .price,
body.grp_lineup .packlist .price {
  background: none;
  color: #fff;
}

body.page_menu .packlist .price {
  position: relative;
}

body.page_menu .packlist .price .boxTaxInPrice {
  position: absolute;
  bottom: -1.5em;
  left: 0;
  letter-spacing: 0.1em;
  font-size: 1.13rem;
}
@media screen and (max-width: 480px) {
  body.page_menu .packlist .price .boxTaxInPrice {
    left: auto;
    right: 0;
    font-size: 1.0rem;
  }
}

body.page_menu .packlist .price.typeMenu02 .boxTaxInPrice {
  bottom: -1.9em;
  font-size: 1.0rem;
}
@media screen and (max-width: 480px) {
  body.page_menu .packlist .price.typeMenu02 .boxTaxInPrice {
    bottom: -2.0em;
  }
}

body.page_menu .packlist h4,
body.grp_lineup .packlist h4 {
  display: flex;
  align-items: center;
  font-size: 1.50027rem;
  border-style: solid;
  border-width: 0.1875rem 0;
  border-color: #fff;
  justify-content: center;
  min-height: 3.3125rem;
  margin-top: 0;
  margin-bottom: 1.3125rem;
  flex-shrink: 0;
  flex-grow: 0;
  width: 100%;
}
body.page_menu .packlist .ylw,
body.grp_lineup .packlist .ylw {
  color: #fff100;
  font-size: 1.12488rem;
  text-align: center;
  line-height: 1em;
  margin-bottom: 1.3125rem;
  font-weight: 700;
  margin-right: -0.5em;
}
body.page_menu .packlist .img,
body.grp_lineup .packlist .img {
  background-color: #f0f0f0;
  background-size: cover;
  background-position: center center;
  width: 226px;
  height: 150px;
  flex-shrink: 0;
  flex-grow: 0;
}
body.page_menu .packlist .img + div,
body.grp_lineup .packlist .img + div {
  width: 50%;
  flex-grow: 1;
}
body.page_menu .packlist article .pc_flex,
body.grp_lineup .packlist article .pc_flex {
  justify-content: space-between;
}
body.page_menu .packlist .merit,
body.grp_lineup .packlist .merit {
  list-style: none;
  display: flex;
  justify-content: center;
  margin: 0 0 0.625rem;
}
body.page_menu .packlist .merit > div,
body.grp_lineup .packlist .merit > div {
  width: 4.875rem;
  height: 4.875rem;
  margin: 0 0.375rem;
  border-radius: 50%;
  background-image: linear-gradient(-45deg, #e80c13 25%, #f16e71 25%, #f16e71 50%, #e80c13 50%, #e80c13 75%, #f16e71 75%);
  background-size: 4px 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.80724375rem;
  line-height: 1.2148967552em;
  flex-direction: column;
}
body.page_menu .packlist .price,
body.grp_lineup .packlist .price {
  font-size: 3.582271875rem;
  width: auto;
}
body.page_menu .packlist .memo,
body.grp_lineup .packlist .memo {
  font-size: 0.74949rem;
  text-align: center;
  line-height: 1em;
  margin-bottom: 1rem;
}
body.page_menu .packlist .btn,
body.grp_lineup .packlist .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.06296rem;
  font-weight: 700;
  padding-left: 3rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: flex-end;
  flex-direction: row;
  padding-bottom: 41px;
}
body.page_menu .packlist .btn:hover,
body.grp_lineup .packlist .btn:hover {
  opacity: 1;
}
body.page_menu .packlist .btn:before,
body.grp_lineup .packlist .btn:before {
  content: '';
  display: block;
  left: 24px;
  right: 24px;
  margin: auto;
  bottom: 24px;
  height: 50px;
  border: solid 1px #fff;
  position: absolute;
}
body.page_menu .packlist .btn:after,
body.grp_lineup .packlist .btn:after {
  content: '';
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #fff;
  position: static;
  margin-left: 3rem;
  transform: rotate(45deg);
}
body.page_menu .packlist .box_showroombtn,
body.grp_lineup .packlist .box_showroombtn {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  margin-bottom: 2rem;
  min-width: 520px;
  flex-grow: 1;
}
body.page_menu .packlist .box_showroombtn a,
body.grp_lineup .packlist .box_showroombtn a {
  text-decoration: none;
  display: inline-block;
  background: url("../../images/menu/btn-showroom-bg.png");
  font-weight: 700;
  width: 21.5rem;
  height: 17.1875rem;
  position: relative;
  box-sizing: border-box;
  font-size: 1.55066125rem;
  line-height: 1.6212046875rem;
  padding-left: 9.375rem;
  padding-top: 8.75rem;
  color: #fcdf03;
  text-align: center;
}
body.page_menu .packlist .box_showroombtn a div:first-child,
body.grp_lineup .packlist .box_showroombtn a div:first-child {
  text-align: left;
  transform: rotate(-12deg);
  position: absolute;
  top: 0.9375rem;
  left: 2.375rem;
  font-size: 1.132625rem;
  line-height: 1.4958125rem;
  color: #000;
}
body.page_menu .packlist .box_showroombtn .l,
body.grp_lineup .packlist .box_showroombtn .l {
  font-size: 1.38975rem;
  text-indent: -0.5em;
}
body.page_menu .packlist .box_showroombtn .s,
body.grp_lineup .packlist .box_showroombtn .s {
  font-size: 0.8898163606em;
}
body.page_menu .packlist .box_showroombtn .ss,
body.grp_lineup .packlist .box_showroombtn .ss {
  font-size: 0.8180300501em;
}
body.page_menu .packlist .box_showroombtn .ind,
body.grp_lineup .packlist .box_showroombtn .ind {
  padding-left: 0.5em;
  display: inline-block;
}
body.page_menu .packlist .box_showroombtn .ind2,
body.grp_lineup .packlist .box_showroombtn .ind2 {
  padding-left: 1em;
  display: inline-block;
}
body.page_menu .packlist article.wide,
body.grp_lineup .packlist article.wide {
  width: 100%;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row;
}
body.page_menu .packlist article.wide .left,
body.grp_lineup .packlist article.wide .left {
  width: 27.5rem;
  box-sizing: border-box;
}
body.page_menu .packlist article.wide .left {
  width: 26.5rem;
}

body.page_menu .packlist article.wide .left .price,
body.grp_lineup .packlist article.wide .left .price {
  font-size: 2.750475rem;
  justify-content: flex-start;
  margin-top: 1.25rem;
  margin-bottom: 0;
}
@media screen and (max-width: 480px) {
  body.page_menu .packlist article.wide .left .price {
    margin-top: 0.2em;
  }
}
@media screen and (max-width: 480px) {
  body.grp_lineup .packlist article.wide .left .price {
    margin-bottom: 0.7em;
  }
}

body.page_menu .packlist article.wide .right,
body.grp_lineup .packlist article.wide .right {
  width: 36.75rem;
  flex-shrink: 0;
  flex-grow: 0;
}
body.page_menu .packlist article.wide .right {
  width: 37.75rem;
}
body.grp_lineup .packlist article.wide .right {
  width: 100%;
}

body.page_menu .packlist article.wide .box_price,
body.grp_lineup .packlist article.wide .box_price {
  background-repeat: no-repeat;
  background-position: left top;
  height: 8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.page_menu .packlist article.wide .message,
body.grp_lineup .packlist article.wide .message {
  font-size: 1.12488rem;
  background-image: linear-gradient(-45deg, #e80c13 25%, #f16e71 25%, #f16e71 50%, #e80c13 50%, #e80c13 75%, #f16e71 75%);
  background-size: 4px 4px;
  min-height: 3rem;
  padding: 0.5em 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.8125rem;
}
body.page_menu .packlist article.wide .pricelist,
body.grp_lineup .packlist article.wide .pricelist {
  margin: 0;
  padding: 0;
  list-style: none;
}
body.page_menu .packlist article.wide .pricelist li,
body.grp_lineup .packlist article.wide .pricelist li {
  border-bottom: solid 1px #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 1.5em;
  padding: 0.6875rem 1.5em 0.6875rem 1rem;
}
body.page_menu .packlist article.wide .pricelist li {
  padding: 0.6875rem 1.0em 2.1em 1rem;
}

body.page_menu .packlist article.wide .pricelist li div:first-child,
body.grp_lineup .packlist article.wide .pricelist li div:first-child {
  font-size: 1.37514rem;
  line-height: 1em;
}
body.page_menu .packlist article.wide .pricelist li div:first-child .s,
body.grp_lineup .packlist article.wide .pricelist li div:first-child .s {
  font-size: 0.6360225141em;
}
body.page_menu .packlist article.wide .pricelist li div:first-child:before,
body.grp_lineup .packlist article.wide .pricelist li div:first-child:before {
  content: '';
  display: inline-block;
  margin-right: 0.4375rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px;
  border-color: transparent;
  border-left-color: #fff;
}
body.page_menu .packlist article.wide .pricelist .price,
body.grp_lineup .packlist article.wide .pricelist .price {
  font-size: 2.158065rem;
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
body.page_menu .packlist article.wide.type1 .box_price,
body.grp_lineup .packlist article.wide.type1 .box_price {
  padding-left: 15.875rem;
  height: 8rem;
}
body.page_menu .packlist article.wide.type1 .box_price:first-child,
body.grp_lineup .packlist article.wide.type1 .box_price:first-child {
  background-image: url("../../images/menu/rain-img1.jpg");
  margin-bottom: 0.9375rem;
}
@media screen and (max-width: 480px) {
  body.page_menu .packlist article.wide.type1 .box_price:first-child {
    margin-bottom: 2.6em;
  }
}

body.page_menu .packlist article.wide.type1 .box_price:last-child,
body.grp_lineup .packlist article.wide.type1 .box_price:last-child {
  background-image: url("../../images/menu/rain-img2.jpg");
}
@media screen and (max-width: 480px) {
  body.page_menu .packlist article.wide.type1 .box_price:last-child {
    margin-bottom: 2.0em;
  }
}

body.page_menu .packlist article.wide.type1 .right,
body.grp_lineup .packlist article.wide.type1 .right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body.page_menu .packlist article.wide.type1 .pricelist,
body.grp_lineup .packlist article.wide.type1 .pricelist {
  display: flex;
  height: 80%;
  flex-direction: column;
  justify-content: space-between;
}
body.page_menu .packlist article.wide.type2 .left,
body.grp_lineup .packlist article.wide.type2 .left {
  padding-left: 10.5rem;
  background: url("../../images/menu/maintenance-img.png") left top no-repeat;
  min-height: 19.25rem;
  font-size: 1.50025rem;
  line-height: 1em;
}
body.grp_lineup .packlist article.wide.type2 .left {
  display: none;
}

body.page_menu .packlist article.wide.type2 .sub,
body.grp_lineup .packlist article.wide.type2 .sub {
  font-size: 1.1251875rem;
  line-height: 1em;
  margin-top: 0.75rem;
  margin-bottom: 1.0625rem;
}
body.page_menu .packlist article.wide.type2 .sss,
body.grp_lineup .packlist article.wide.type2 .sss {
  display: inline-block;
  font-size: 0.87462rem;
  line-height: 1.2862831858em;
  margin-left: 1.3125rem;
}
body.page_menu .packlist article.wide.type2 .price,
body.grp_lineup .packlist article.wide.type2 .price {
  margin-top: 0;
  margin-bottom: 0;
}
body.grp_lineup .packlist article.wide.type2 .price {
  padding-bottom: 0.9em;
}
body.page_menu .packlist article.wide .pricelist.type2,
body.grp_lineup .packlist article.wide .pricelist.type2 {
  flex-wrap: wrap;
  display: flex;
}
body.grp_lineup .packlist article.wide .pricelist.type2 {
  padding: 0 8%;
}

body.page_menu .packlist article.wide .pricelist.type2 li,
body.grp_lineup .packlist article.wide .pricelist.type2 li {
  width: 50%;
  flex-grow: 0;
  box-sizing: border-box;
  padding-left: 0;
}

body.grp_lineup .packlist article.wide .pricelist.type2 li {
  width: 48%;
  margin-right: calc(100% - 48% * 2);
}

body.grp_lineup .packlist article.wide .pricelist.type2 li:nth-child(2n) {
  margin-right: 0;
}

body.page_menu .packlist article.wide .pricelist.type2 div:first-child,
body.grp_lineup .packlist article.wide .pricelist.type2 div:first-child {
  position: relative;
  padding-left: 2.3125rem;
  font-size: 1.12488rem;
  line-height: 1.3336009174em;
}
body.page_menu .packlist article.wide .pricelist.type2 div:first-child {
  padding-left: 2.0rem;
  font-size: 1.1rem;
}

body.page_menu .packlist article.wide .pricelist.type2 div:first-child:before,
body.grp_lineup .packlist article.wide .pricelist.type2 div:first-child:before {
  position: absolute;
  left: 1rem;
  top: 0.3em;
}
body.page_menu .box_wall.type2 {
  margin-bottom: 3rem;
}
body.page_menu .box_wall.type2:before {
  content: none;
}
body.page_menu .box_wall.type2 .fukidashi {
  animation: none;
  background-image: url("../../images/menu/komi-all-img2.png");
  width: 22.3125rem;
  height: 26.9375rem;
  position: static;
  flex-shrink: 0;
  flex-grow: 0;
  box-sizing: border-box;
}
body.page_menu .box_wall.type2 .fukidashi > div {
  transform: none;
}
body.page_menu .box_wall.type2 .fukidashi .s {
  font-size: 0.8232651023em;
}
body.page_menu .box_wall.type2 .bg_wh {
  background: #fff;
  display: flex;
  box-sizing: border-box;
  padding: 1.4375rem 2.5rem 0 1.4375rem;
  margin-bottom: 3.5rem;
}
body.page_menu .box_wall.type2 ul {
  padding: 0 0 2.5rem 2.1875rem;
  flex-wrap: wrap;
}
body.page_menu .box_wall.type2 li {
  padding-bottom: 9.875rem;
  width: 8.9375rem;
  background-size: 100%;
}
body.page_menu .box_wall.type2 li .wide {
  margin-left: -0.5em;
  margin-right: -0.5em;
}
body.page_menu .box_wall.type2 h3 {
  display: flex;
  font-size: 1.375rem;
  margin-top: 0;
  margin-bottom: 3.375rem;
  margin-left: -1.25rem;
  padding-left: 1.25rem;
  box-sizing: border-box;
  background: url("../../images/common/bg-paint-ylw.png") left bottom/18.1875rem no-repeat;
  padding-bottom: 0.5rem;
  align-items: center;
}
body.page_menu .box_wall.type2 h3 .s {
  font-size: 0.9375rem;
  display: inline-block;
  margin-left: 1.8125rem;
}
body.page_menu .box_wall.type2 h3:after {
  content: '';
  display: block;
  height: 1px;
  width: 30%;
  flex-grow: 1;
  background-image: linear-gradient(90deg, #000 45%, transparent 50%);
  background-size: 10px 10px;
  padding-left: 1rem;
}
body.page_menu .box_inner.narrow {
  margin-bottom: 4rem;
}
body.page_menu .box_inner.narrow .btn:after {
  position: static;
  flex-grow: 0;
  margin-left: 3.6875rem;
  margin-right: 0;
}

@keyframes swing {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(3deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-2deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
body.page_showroom .mv {
  background-image: url("../../images/showroom/mv.jpg");
}
body.page_showroom .mv h1,
body.page_showroom .mv .eng {
  color: #e7141a;
}
body.page_showroom .box_lead {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: -1.5rem;
  padding-top: 29rem;
}
body.page_showroom .box_lead > img:first-child {
  position: absolute;
  z-index: -1;
  top: 0;
  left: -9999999px;
  right: -9999999px;
  margin: auto;
}
body.page_showroom .box_lead .merit {
  text-align: center;
	margin-bottom: 5.31rem;
}
body.page_showroom .box_lead .merit h2 {
  background: #00bbff;
  color: #fff;
  margin: 0 0 2.3125rem;
  min-height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}
body.page_showroom .box_lead .merit h2 .s {
  font-size: 0.8333333333em;
}
body.page_showroom .box_lead .merit h2 .span1 {
  transform: rotate(-3deg);
  transform-origin: right bottom;
  font-size: 1.0845rem;
  margin-right: 39px;
  position: relative;
}
body.page_showroom .box_lead .merit h2 .span1:before, body.page_showroom .box_lead .merit h2 .span1:after {
  content: '';
  display: block;
  width: 2px;
  height: 1.3rem;
  background: #fff;
  position: absolute;
  right: -0.5em;
}
body.page_showroom .box_lead .merit h2 .span1:before {
  top: -1.3rem;
  transform: rotate(-60deg);
  transform-origin: right bottom;
}
body.page_showroom .box_lead .merit h2 .span1:after {
  bottom: -1.3rem;
  transform: rotate(55deg);
  transform-origin: right top;
}
body.page_showroom .box_lead .merit ol,
.boxShowroom0201 ol {
  margin: 0;
  padding: 0;
  list-style: none;
  justify-content: space-between;
}
body.page_showroom .box_lead .merit li,
.boxShowroom0201 ol > li {
  width: 312px;
  height: 312px;
  border-radius: 50%;
  border: solid 5px #fdfd3e;
  background-image: linear-gradient(transparent 25%, #fff 25%), linear-gradient(90deg, #bfbfbf 25%, #fff 25%);
  background-size: 4px 4px,4px 4px;
  box-sizing: border-box;
  padding: 2.5625rem 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
body.page_showroom .box_lead .merit li .eng,
.boxShowroom0201 ol > li .eng {
  font-size: 2.565233125rem;
  display: inline-flex;
  align-items: center;
  line-height: 1em;
}
body.page_showroom .box_lead .merit li .eng:before,
.boxShowroom0201 ol > li .eng:before {
  content: 'merit';
  font-size: 0.809635rem;
  vertical-align: middle;
  display: inline-block;
  margin-right: 0.625rem;
}
body.page_showroom .box_lead .merit li:after,
.boxShowroom0201 ol > li:after {
  content: '';
  display: block;
  width: 100%;
  height: 5.375rem;
  flex-shrink: 0;
  flex-grow: 0;
  background-repeat: no-repeat;
  background-position: center;
}
body.page_showroom .box_lead .merit li div,
.boxShowroom0201 ol > li div {
  order: 1;
  font-size: 1.2144525rem;
  line-height: 1.3332538737em;
}
body.page_showroom .box_lead .merit li:nth-child(1):after,
.boxShowroom0201 ol > li:nth-child(1):after {
  background-image: url("../../images/showroom/ico-car.png");
}
body.page_showroom .box_lead .merit li:nth-child(2):after,
.boxShowroom0201 ol > li:nth-child(2):after {
  background-image: url("../../images/showroom/ico-desk.png");
}
body.page_showroom .box_lead .merit li:nth-child(3):after,
.boxShowroom0201 ol > li:nth-child(3):after {
  background-image: url("../../images/showroom/ico-clock.png");
}
.box_reserveinfo{
	text-align: center;
	border-color: #e80c13;
	border-style: solid;
	border-width: 4px 0;
	padding: 1.5rem 0 0;
	margin-bottom: 4.93rem;
}
.box_reserveinfo .pc_flex{
	flex-wrap: wrap;
	justify-content: flex-end;
}
.box_reserveinfo .red{
	width: 100%;
	font-size: 1.7537rem;
	margin-bottom: -39px;
	font-weight: 700;
}
.box_reserveinfo .red:after{
	content: '';
	margin-top: 1rem;
	display: block;
	height: 1px;
	width: 100%;
	background-image: linear-gradient(90deg,#e80c13,#fff);
	background-size: 8px;
}
.box_reserveinfo .left{
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-top: 39px;
	flex-wrap: wrap;
}
.box_reserveinfo .left a{
	font-size: 2.8rem;
	line-height: 1em;
	padding-left: 57px;
	background: url("../../images/common/ico-tel-bk.png") left/auto 100% no-repeat;
	text-decoration: none;
	font-weight: 700;
	margin-bottom: 1.125rem;
}
.box_reserveinfo .right{
	display: inline-flex;
	align-items: center;
	margin-left: 14px;
	position: relative;
	padding-top: 39px;
	left: 53px;
	background: url("../../images/showroom/img-operator.png") right bottom no-repeat;
	padding-right: 222px;
	height: 221px;
	box-sizing: border-box;
}
.box_reserveinfo .btn {
  width: 322px;
  height: 4rem;
	justify-content: flex-start;
  font-size: 1.12488rem;
  margin: auto;
	box-sizing: border-box;
	padding-left: 5.125rem;
	background-image: url("../../images/index/ico-plane-wh.png");
	background-position:1.56rem center;
	background-size: 2.5rem;
	background-repeat:  no-repeat;
}
.box_reserveinfo .btn:after {
  content: '';
  display: inline-block;
  width: 0.5625rem;
  height: 0.5625rem;
  border-style: solid;
  border-width: 1px 1px 0 0;
  border-color: #fff;
  transform: rotate(135deg);
  margin-left: 3.75rem;
}
body.page_showroom .differance {
  background: url("../../images/common/bg-graywall.jpg") center top no-repeat;
  padding-top: 3.4375rem;
  margin-bottom: 3.5rem;
}
body.page_showroom .differance h2 .dot {
  font-size: 1.1666855781em;
  position: relative;
  color: #e7141a;
}
body.page_showroom .differance h2 .dot:after {
  content: '';
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #e7141a;
  position: absolute;
  left: 0;
  right: 0;
  top: -0.2em;
  margin: auto;
}
body.page_showroom .differance ol {
  list-style: none;
  counter-reset: point;
  margin: 0;
  padding: 0;
}
body.page_showroom .differance li {
  margin-bottom: 3.5rem;
  counter-increment: point;
}
body.page_showroom .differance h3 {
  display: flex;
  align-items: center;
  padding-left: 0.5em;
  background-image: linear-gradient(-45deg, #a7a7a6 25%, #e6e6e5 25%, #e6e6e6 50%, #a7a7a6 50%, #a7a7a6 75%, #e6e6e5 75%);
  background-size: 4px 4px;
  position: relative;
  color: #e7141a;
}
body.page_showroom .differance h3:before {
  content: "0" counter(point);
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.1em;
  padding-left: 0.1em;
  display: inline-block;
  width: 5.1875rem;
  height: 5.1875rem;
  background: url("../../images/menu/bg-pointnum.png") center/contain no-repeat;
  font-size: 2.361779375rem;
  text-align: center;
  padding-top: 1.875rem;
  line-height: 1em;
  margin-right: 1rem;
  box-sizing: border-box;
  margin-top: -0.5625rem;
  margin-bottom: -0.5625rem;
}
body.page_showroom .differance h3:after {
  content: 'point';
  font-family: "Oswald", sans-serif;
  font-size: 0.809635rem;
  line-height: 1em;
  position: absolute;
  display: inline-block;
  width: 5.1875rem;
  left: 0.5rem;
  top: 0.5rem;
  text-align: center;
  letter-spacing: 0.1em;
  padding-left: 0.2em;
}
body.page_showroom .differance .img, body.page_showroom .differance .txt {
  margin-left: 1.25rem;
}
body.page_showroom .differance .txt {
  margin-bottom: 1.25rem;
}
body.page_showroom .differance .img {
  height: 198px;
  background-repeat: no-repeat;
  background-position: left top;
}
body.page_showroom .differance li:first-child .img {
  background-image: url("../../images/showroom/point1-img.jpg");
}
body.page_showroom .differance li:nth-child(2) .img {
  background-image: url("../../images/showroom/point2-img.jpg");
}
body.page_showroom .differance li:nth-child(3) .img {
  background-image: url("../../images/showroom/point3-img.jpg");
}
body.page_showroom .access {
  margin-bottom: 3.4375rem;
}
body.page_showroom .access .box_inner > .pc_flex {
  margin-bottom: 3.5rem;
}
body.page_showroom .access .img {
  width: 476px;
  height: 282px;
  background-color: #f0f0f0;
  margin-right: 56px;
}
body.page_showroom .access h3 {
  margin: 0 0 1.25rem -1rem;
  padding: 0 0 0 2.5rem;
  background: url("../../images/common/ico-paint-3c.png") left center no-repeat;
  color: #e7141a;
  height: 44px;
  display: flex;
  align-items: center;
}
body.page_showroom .access dl {
  margin: 0;
}
body.page_showroom .access dl > div {
  display: flex;
  position: relative;
  align-items: center;
  padding-bottom: 0.875rem;
  margin-bottom: 0.875rem;
  line-height: 1.5rem;
}
body.page_showroom .access dl > div:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(90deg, #000 50%, #fff 50%);
  background-size: 4px 4px;
}
body.page_showroom .access dt {
  width: 8.5625rem;
  white-space: nowrap;
  box-sizing: border-box;
  padding-left: 1.1875rem;
  font-weight: 700;
}
body.page_showroom .access dt:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-width: 0.25rem 0.5625rem;
  border-color: transparent transparent transparent #000;
  margin-right: 0.3125rem;
  border-style: solid;
  box-sizing: content-box;
  vertical-align: 0.2em;
}
.access .sr_list.yoko3{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -24px 3.06rem -23px;
}
.access .sr_list.yoko3>div{
	width: 328px;
	flex-shrink: 0;
	flex-grow: 0;
	margin: 0 24px 47px 23px;
	background: #dedddd;
	box-sizing: border-box;
	padding: 0 1rem 1rem;
	line-height: 1.625em;
}
.access .sr_list.yoko3 h3{
	color: #000;
	background: none;
	padding-left: 0;
	margin: 0 0 1rem;
	display: block;
	height: auto;
}
.access .sr_list.yoko3 h3:after{
	content: '';
	display: block;
	height: 1px;
	width: 100%;
	background-image: linear-gradient(90deg,#000,transparent);
	background-size: 9px;
	margin-top: 1rem;
}
.access .sr_list.yoko3 .img{
	width: 100%;
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: content-box;
	height: 196px;
	background-size: cover;
	margin-left: -1rem;
	margin-bottom: 1rem;
}
.access .sr_list.yoko3 .btn{
	background: #000;
	color: #fff;
	width: 3.5rem;
	font-size: 0.875rem;
	justify-content: center;
	font-weight: 300;
}
.access .sr_list.yoko3 .pc_flex{
	margin: 0.75em 0 0.5em;
}
.access .sr_list.yoko3 .tel{
	text-decoration: none;
	padding-left: 1.1875rem;
	background: url("../../images/common/ico-tel-simple-bk.png") left center/auto 1rem no-repeat;
	display: inline-block;
	margin-right: 1rem;
}
.access .sr_list.yoko3 .fax{
	padding-left: 1.5rem;
	background: url("../../images/common/ico-fax-bk.png") left center/auto 1rem no-repeat;
	display: inline-block;
}
.access .sr_list.yoko3 .open{
	padding-left: 1.375rem;
	background: url("../../images/common/ico-clock-bk.png") left center/auto 1rem no-repeat;
	display: inline-block;
	margin-right: 1rem;
}
/*
 * 旧ショールームフォームスタイル（レガシー）
 * 新フォームは .formField クラスを使用（common.css で定義）
 *
body.page_showroom input[type=date],
body.page_showroom select,
body.page_showroom input[type=text],
body.page_showroom input[type=email] {
  height: 2.4rem;
  box-sizing: border-box;
}

body.page_showroom input[type=date], body.page_showroom input[type="txt"] {
  width: 355px;
  margin-right: 19px;
}
body.page_showroom select {
  width: 355px;
  padding-left: 0.875rem;
}
*/
body.page_showroom .memo.block {
  margin-top: 0.5625rem;
}
body.page_showroom .selectlist label {
  font-weight: 700;
}

#gmap {
  width: 100%;
  height: 384px;
}
#gmap iframe {
  width: 100%;
  height: 100%;
}

body.page_company .mv {
  background-image: url("../../images/company/mv.jpg");
}
body.page_company .bread {
  margin-bottom: 0;
}
body.page_company .sec_greeting {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  margin-top: -36px;
  height: 650px;
  overflow: hidden;
	margin-bottom: 3.93rem;
  background-repeat: no-repeat, no-repeat;
  background-position: center top, center bottom;
  background-size: auto auto, auto auto;
}
/*
body.page_company .sec_greeting:before {
  content: '';
  display: block;
  width: 2500px;
  height: 600px;
  position: absolute;
  left: calc(50% - 1000px);
  bottom: -300px;
  transform: rotate(-7deg);
  transform-origin: left bottom 300px;
  border-style: solid;
  border-width: 300px 0;
  border-color: #e5e4e3 transparent #e7141a;
  z-index: -1;
}
body.page_company .sec_greeting:after {
  content: '';
  background: url("../../images/company/greeting-bg.png") left bottom no-repeat;
  position: absolute;
  display: block;
  right: 0;
  left: calc(50% - 96px);
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: -1;
}
body.page_company .sec_greeting.typeNew:after {
  background: url("../../images/company/greeting-bg-new.png") left bottom no-repeat;
  left: calc(50% - 186px);
}*/
body.page_company .sec_greeting .box_inner {
  padding-top: 67px;
  height: 760px;
  position: relative;
}
body.page_company .sec_greeting h2 {
  margin-bottom: 2.875rem;
}
body.page_company .sec_greeting h3 {
  color: #e7141a;
  margin: 0 0 2.5rem;
  line-height: 1em;
  font-style: italic;
  font-size: 2.6899rem;
}
body.page_company .sec_greeting .txt {
  font-size: 1.10975rem;
  line-height: 1.5881363063em;
}
body.page_company .sec_greeting .bg {
  font-weight: 700;
  background: #ffff3e;
  padding: 0 0.25em;
  position: relative;
}
body.page_company .sec_greeting .bg:after {
  content: '';
  display: block;
  position: absolute;
  left: -0.5em;
  right: -0.5em;
  top: 0.25rem;
  bottom: -0.25rem;
  margin: auto;
  background: #ffff3e;
  z-index: -1;
}
body.page_company .sec_greeting .sign {
  position: absolute;
  color: #fff;
  text-align: right;
  right: 0;
  bottom: 42px;
  font-size: 1.1469025rem;
  line-height: 1em;
}
body.page_company .sec_greeting.typeNew .sign {
  right: 10px;
  bottom: 95px;
}
body.page_company .sec_greeting .sign img {
  width: 6.375rem;
  margin-top: 0.875rem;
}
body.page_company .sec_data {
  padding: 0 0 3.5rem;
  margin-bottom: 3.4375rem;
}
body.page_company .sec_data dl {
  margin: 0 0 1.25rem;
  padding: 0;
}
body.page_company .sec_data dl > div {
  display: flex;
  align-items: center;
  border-bottom: solid 1px #e7141a;
  padding-bottom: 1.25rem;
  margin-bottom: 1.25rem;
}
body.page_company .sec_data dt {
  width: 223px;
  flex-grow: 0;
  flex-shrink: 0;
  box-sizing: border-box;
  padding-left: 0.875rem;
  display: flex;
  align-items: center;
  line-height: 1.375em;
  font-weight: 700;
}
body.page_company .sec_data dt:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.25rem 0.5rem;
  border-color: transparent transparent transparent #e7141a;
  margin-right: 0.375rem;
}
body.page_company .sec_data dd {
  margin-left: 0;
  padding-right: 2rem;
  line-height: 1.5em;
}
body.page_company .sec_access {
  margin-bottom: 3.5rem;
}
body.page_company .sec_access .gmap {
  margin-bottom: 3rem;
}
body.page_company .sec_access .gmap, body.page_company .sec_access .gmap > iframe {
  height: 384px;
  width: 100%;
}
body.page_company .sec_access .narrow {
  margin-bottom: 3.4375rem;
}
body.page_company .sec_access .btn:after {
  content: '';
  display: inline-block;
  width: 0.6875rem;
  height: 0.6875rem;
  transform: rotate(45deg);
  margin-left: 3.75rem;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
}
body.page_company .sec_access .bans {
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 70px 0 0;
}
body.page_company .sec_access .bans li {
  width: 344px;
  flex-shrink: 0;
  flex-grow: 0;
}
body.page_company .sec_access .bans a {
  display: flex;
  flex-direction: column;
  height: 104px;
  box-sizing: border-box;
  border: solid 3px #e7141a;
  color: #e7141a;
  font-weight: 700;
  justify-content: center;
  font-size: 1.37429375rem;
  line-height: 1em;
  text-decoration: none;
}
body.page_company .sec_access .bans .block {
  display: block;
}
body.page_company .sec_access .bans .s {
  font-size: 0.6816160119em;
}
body.page_company .sec_access .bans li:first-child a {
  background: url("../../images/common/gnav-reason.png") 1.5rem center/2.25rem no-repeat, url("../../images/company/btn-reason-bg.jpg") right top no-repeat;
  padding-left: 81px;
}
body.page_company .sec_access .bans li:first-child .s {
  margin-bottom: 0.6875rem;
}
body.page_company .sec_access .bans li:nth-child(2) a {
  position: relative;
  padding-left: 33px;
}
body.page_company .sec_access .bans li:nth-child(2) a:after {
  content: '';
  background: url("../../images/company/btn-staff-img.png") right bottom/contain no-repeat;
  display: block;
  width: 272px;
  height: 171px;
  position: absolute;
  right: 0;
  bottom: 0;
}
body.page_company .sec_access .bans li:nth-child(2) .s {
  margin-top: 0.6875rem;
}
body.page_company .sec_access .bans li:nth-child(3) a {
  background: url("../../images/index/ban-beginner-bg.png") right top/auto 100% no-repeat;
  padding-right: 99px;
  align-items: center;
}
body.page_company .sec_access .bans li:nth-child(3) br {
  display: none;
}
body.page_company .sec_access .bans li:nth-child(3) .s {
  margin-bottom: 0.6875rem;
  display: block;
}
body.page_company .workslider_bg {
  background: url("../../images/common/bg-graywall.jpg") center top no-repeat;
  padding-top: 3.5rem;
  padding-bottom: 3.375rem;
  margin-bottom: 3.1875rem;
}



body.page_company #box_movie {
  margin-bottom: 7em;/*3.125rem;*/
}
@media all and (max-width: 480px){
  body.page_company #box_movie {
    margin-bottom: 3em;
  }
}

body.page_company #box_movie .pc_flex {
  justify-content: space-between;
}

body.page_company #box_movie h2 {
  margin-bottom: 1.75rem;
}

body.page_company #box_movie .txt {
  font-size: 1.06rem;
  line-height: 1.53em;
}

body.page_company #box_movie .right {
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 570px;
  height: 0;
  padding-bottom: 29.6875%;
}
@media screen and (max-width: 480px) {
  body.page_company #box_movie .right {
    width: 100%;
    height: 253px;
    padding: 0;
  }
}

body.page_company #box_movie video {
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
  height: 100%;
  display: block;
}
@media screen and (max-width: 480px) {
  body.page_company #box_movie video {
    position: static;
  }
}

@media screen and (max-width: 480px) {
  body.page_company #box_movie .left {
    margin-bottom: 1.5rem;
  }
}


body.error .mv {
  background-image: url("../../images/404/mv.jpg");
}
body.error .lead {
  line-height: 1.4em;
  text-align: center;
  margin-bottom: 8rem;
}


.minibans.diag {
	margin-top: 0;
  padding: 0;
  list-style: none;
/*  display: inline-flex;*/
  justify-content: center;
}
.minibans.diag a {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 88px;
	padding-left: 106px;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 1.6254rem;
  line-height: 1.1857142857em;
  background-position: left center;
  background-repeat: no-repeat;
	background-size: auto 100%;
	margin-left: 2rem;
	margin-right: 2rem;
	margin-bottom: 4rem;
}
.minibans.diag .more{
	font-size: 0.577em;
	line-height: 1em;
	margin-top: 1rem;
}
.minibans.diag .more:before{
	content: '';
	display: inline-block;
	margin-right: 0.4735rem;
	width: 0;
	height: 0;
	border-width: 5px 7px;
	border-style: solid;
	border-color: transparent;
	border-left-color: #000;
	vertical-align: middle;
}
.minibans.diag li:first-child a {
  background-image: url("../../images/index/btn-beginner.png");
}
.minibans.diag li:nth-child(2) a {
  background-image: url("../../images/index/btn-estimate.png");
}
.minibans.diag li:nth-child(3) a {
  background-image: url("../../images/index/btn-sr.png");
}


#popupform{
	margin-bottom: 3.75rem;
}
#popupform .left {
  color: #fff;
  width: 275px;
  flex-shrink: 0;
  flex-grow: 0;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  background: #e7141a;
  box-sizing: border-box;
  padding-left: 25px;
}
#popupform .left div:first-child {
  font-size: 0.89628rem;
  line-height: 1.3683448026em;
  transform: rotate(-3deg);
  margin-bottom: 26px;
  position: relative;
  padding-left: 26px;
  display: inline-block;
  letter-spacing: 0.05em;
  padding-top: 4px;
}
#popupform .left div:first-child:before, #popupform .left div:first-child:after {
  content: '';
  display: block;
  position: absolute;
  width: 1px;
  height: 24px;
  background: #fff;
}
#popupform .left div:first-child:before {
  transform: rotate(-50deg);
  left: 8px;
  bottom: -4px;
}
#popupform .left div:first-child:after {
  transform: rotate(38deg);
  bottom: 0;
  right: -10px;
}
#popupform .left h3 {
  margin: 0;
  font-size: 1.8669725rem;
  line-height: 2.5624021875rem;
}
#popupform .left h3 .s {
  font-size: 1.58001625rem;
}
#popupform .left h3 .ylw {
  color: #ffff00;
}
#popupform .pc_flex {
  position: relative;
}
#popupform .pc_flex img:last-child {
  position: absolute;
  bottom: 0;
  right: -37px;
}
#popupform form {
  background: #eee;
  width: 100%;
}
#popupform form dl {
  padding-top: 9px;
}
#popupform form dl > div {
  border: none;
  align-items: flex-start;
  padding-top: 0;
  padding-bottom: 11px;
}
#popupform form dl > div:first-child {
  margin-bottom: 8px;
}
#popupform form dt {
  width: 154px;
  box-sizing: border-box;
  padding-left: 29px;
  line-height: 39px;
}
#popupform form input[type=text] {
  width: 330px;
  height: 39px;
}
#popupform form textarea {
  width: 330px;
  height: 64px;
}
#popupform form dl > div:before, #popupform form dt:before {
  content: none !important;
}
#popupform form .need dt:after {
  content: '※';
  color: #e7141a;
  display: inline-block;
  padding-left: 0.5em;
}
#popupform form .selectlist {
  padding-top: 6px;
  padding-right: 0;
  margin-bottom: -3px;
}
#popupform form .selectlist li {
  margin-bottom: 13px;
}
#popupform form .box_btn {
  padding-left: 120px;
  padding-bottom: 24px;
}
#popupform form button {
  background: #e7141a;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 416px;
  height: 47px;
  border: none;
  border-radius: 5px;
  box-shadow: none;
  font-size: 1.313971875rem;
}
#popupform form button:before {
  content: '';
  display: inline-block;
  margin-right: 15px;
  width: 36px;
  height: 21px;
  background: url("../../images/index/ico-plane-wh.png") no-repeat;
}
#popupform #popupformlead {
  margin-bottom: 0;
}
#popupform #popupformlead.error {
  padding-left: 2rem;
  padding-top: 2rem;
}
#popupform #popupformlead.error p:before {
  content: '※ ';
}


/*##### Line #####*/
.page_line .mv {
  background-image: url("../../images/line/mv.jpg");
}

.boxLine {
  box-sizing: border-box;
  margin-top: -2.6em;
}
@media screen and (max-width: 480px) {
  .boxLine {
    margin-top: 0;
  }
}

.boxLine * {
  box-sizing: border-box;
  list-style: none;
}

.boxLine dl,
.boxLine dl dt,
.boxLine dl dd,
.boxLine dl p,
.boxLine ul,
.boxLine ul li {
  margin: 0;
  padding: 0;
}

.boxLine01 .ttl01 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  height: 112px;
  margin-bottom: 2.15em;
  padding-top: 0.3em;
  background-image: url('../../images/line/line01-ttl-bg01.png');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto auto;
  letter-spacing: 0.11em;
  font-size: 1.85rem;
}
@media screen and (max-width: 480px) {
  .boxLine01 .ttl01 {
    margin-bottom: 1.5em;
    letter-spacing: 0.03em;
    font-size: 1.5rem;
  }
}

.boxLine0101 {
  margin-bottom: 2.3em;
  padding-bottom: 4em;
  background-image: url('../../images/line/line0101-border01.png');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: auto auto;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .boxLine0101 {
    padding-bottom: 2em;
  }
}

.boxLine0101 .ul01 {
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.boxLine0101 .ul01 > li {
  margin-bottom: 1.0em;
  padding: 0.05em 0 0.2em 1.9em;
  text-align: left;
  background-image: url('../../images/line/line0101-icn-check01.png');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: auto auto;
  line-height: 1.4;
  font-size: 1.15rem;
}
@media screen and (max-width: 480px) {
  .boxLine0101 .ul01 > li {
    padding: 0 0 0.2em 1.9em;
    font-size: 1.1rem;
  }
}

.boxLine0101 .ul01 > li .txtMarker01 {
  background: linear-gradient(transparent 1%, #fbffbf 1%);
}

.boxLine0102 {
  position: relative;
  padding-bottom: 2.8em;
}
@media screen and (max-width: 480px) {
  .boxLine0102 {
    padding-bottom: 6.8em;
  }
}

.boxLine0102 .dl01 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-size: 1.2rem;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .boxLine0102 .dl01 {
    display: block;
  }
}

.boxLine0102 .dl01 > dt {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 170px;
  height: 4em;
  margin-right: 1.54em;
  padding-top: 0.2em;
  text-align: center;
  background-color: #e7141a;
  color: #fff;
}
@media screen and (max-width: 480px) {
  .boxLine0102 .dl01 > dt {
    display: block;
    width: 100%;
    height: auto;
    margin-right: 0;
    margin-bottom: 0.8em;
    padding: 0.5em 0;
  }
}

.boxLine0102 .dl01 > dd {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: left;
  padding-top: 0.2em;
}
@media screen and (max-width: 480px) {
  .boxLine0102 .dl01 > dd {
    display: block;
    padding-top: 0;
  }
}

.boxLine0102 .img01Line0102 {
  position: absolute;
  bottom: 0;
  right: -1.2em;
}
@media screen and (max-width: 480px) {
  .boxLine0102 .img01Line0102 {
    width: 5em;
  }
}

.boxLine02Wrap {
  background-color: #f0f0f0;
}

.boxLine02 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 3.8em 0;
}
@media screen and (max-width: 480px) {
  .boxLine02 {
    display: block;
    padding: 2.0em 0;
  }
}

.boxLine02One {
  width: 31.6%;
  padding: 1.7em 1.3em 1.7em 1.5em;
  background-color: #fff;
}
@media screen and (max-width: 480px) {
  .boxLine02One {
    width: 100%;
    margin-bottom: 1.0em;
    padding: 1.4em 1.3em 1.4em 1.5em;
  }
}

@media screen and (max-width: 480px) {
  .boxLine02One:last-child {
    margin-bottom: 0;
  }
}

.boxLine02One .ttl01 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  margin: 0;
  margin-bottom: 1.1em;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .boxLine02One .ttl01 {
    margin-bottom: 1.0em;
  }
}

.boxLine02One .ttl01 .txt01 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  margin-right: 0.65em;
  padding: 0 0 0.35em 0;
  font-weight: 400;
}

.boxLine02One .ttl01 .txt01 .txtStr {
  margin-bottom: 0.7em;
  font-size: 0.9rem;
}

.boxLine02One .ttl01 .txt01 .txtNum {
  font-size: 1.9rem;
}

.boxLine02One .ttl01 .txt02 {
  padding: 0.6em 0 0.5em 0.7em;
  border-left: 1px #c1c1c1 solid;
  letter-spacing: 0.05em;
  font-size: 1.7rem;
  color: #e7141a;
}

.boxLine02One .boxBaseCom > p {
  line-height: 1.45;
  letter-spacing: 0.01em;
  font-size: 0.95rem;
}

.boxLine03Wrap {
  margin-bottom: 7.4em;
}
@media screen and (max-width: 480px) {
  .boxLine03Wrap {
    margin-bottom: 0;
  }
}

.boxLine03 {
  padding: 3.5em 0;
}
@media screen and (max-width: 480px) {
  .boxLine03 {
    padding: 2.2em 0;
  }
}

.boxLine03One {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 480px) {
  .boxLine03One {
    display: block;
    margin-bottom: 1.8em;
  }
}

@media screen and (max-width: 480px) {
  .boxLine03One:last-child {
    margin-bottom: 0;
  }
}

.boxLine03One .boxStep {
  position: relative;
  width: 100px;
}
@media screen and (max-width: 480px) {
  .boxLine03One .boxStep {
    display: none;
  }
}

.boxLine03One .boxStep:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: 1px;
  height: 100%;
  background-color: #e7141a;
}

.boxLine03One .boxStep > span {
  position: relative;
  z-index: 2;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  height: 2.3em;
  padding-top: 0.1em;
  border: 1px #e7141a solid;
  background-color: #fff;
  color: #e7141a;
}

.boxLine03One .boxStep > span .txtStr {
  margin-right: 0.2em;
}

.boxLine03One .boxStep > span .txtNum {
  padding-bottom: 0.1em;
  font-size: 1.13rem;
  font-weight: 700;
}

.boxLine03One .boxTxt {
  width: calc(100% - (100px + 440px));
  padding: 0 1.5em 0 1.0em;
}
@media screen and (max-width: 480px) {
  .boxLine03One .boxTxt {
    width: 100%;
    margin-bottom: 1.7em;
    padding: 0;
  }
}

.boxLine03One .boxTxt .ttl01 {
  margin: 0;
  margin-bottom: 0.8em;
  padding-top: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 480px) {
  .boxLine03One .boxTxt .ttl01 {
    margin: 0;
    margin-bottom: 0.5em;
    padding-top: 0;
    line-height: 1.4;
    font-size: 1.23rem;
  }
}

.boxLine03One .boxTxt .ttl01 .txtStep {
  display: none;
}
@media screen and (max-width: 480px) {
  .boxLine03One .boxTxt .ttl01 .txtStep {
    position: relative;
    top: -0.2em;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 80px;
    height: auto;
    margin-right: 0.7em;
    padding-top: 0.05em;
    border: 1px #e7141a solid;
    font-size: 0.75rem;
    color: #e7141a;
  }
}

@media screen and (max-width: 480px) {
  .boxLine03One .boxTxt .ttl01 .txtStep .txtStr {
    margin-right: 0.2em;
  }
}

@media screen and (max-width: 480px) {
  .boxLine03One .boxTxt .ttl01 .txtStep .txtNum {
    font-size: 0.75rem;
    font-weight: 700;
  }
}

.boxLine03One .boxTxt .boxBaseCom > p {
  letter-spacing: 0.03em;
  font-size: 1.0rem;
}
@media screen and (max-width: 480px) {
  .boxLine03One .boxTxt .boxBaseCom > p {
    letter-spacing: normal;
    font-size: 0.78rem;
  }
}

.boxLine03One .boxTxt .boxBaseCom > p:not(:last-child) {
  margin-bottom: 1.3em;
}

.boxLine03One .boxImg {
  width: 440px;
  padding-bottom: 4em;
}
@media screen and (max-width: 480px) {
  .boxLine03One .boxImg {
    width: 100%;
    padding-bottom: 0;
  }
}

.boxLine03One figure.boxImg {
  text-align: center;
}

.boxLine03One figure.boxImg img {
  max-width: 200px;
}

.boxLine03One figure.boxImg figcaption {
  margin-block-start: 1em;
  font-size: 0.875rem;
  line-height: 1.6;
}

.boxLine03 .p01 {
  margin: 0;
  margin-top: 2.0em;
  padding-left: 2.0em;
  letter-spacing: 0.05em;
  font-size: 1.25rem;
  font-weight: 700;
  color: #e7141a;
}
@media screen and (max-width: 480px) {
  .boxLine03 .p01 {
    padding-left: 0;
    line-height: 1.4;
    font-size: 1.2rem;
  }
}



@media screen and (max-width: 480px) {
  /* 下層共通 */

  .pagination {
    margin-bottom: 44px;
  }
  .pagination .prev, .pagination .next, .pagination a[rel=prev], .pagination a[rel=next] {
    line-height: 1em;
    padding-top: 0;
    top: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .pagination .next, .pagination a[rel=next] {
    padding-right: 0;
    border-right: none;
  }
  .pagination .prev, .pagination a[rel=prev] {
    padding-left: 0;
    border-left: none;
  }
  .pagination .prev:before, .pagination .next:after, .pagination a[rel=prev]:before, .pagination a[rel=next]:after {
    top: -34px;
  }
  .pagination .prev:before, .pagination a[rel=prev]:before {
    left: 23px;
  }
  .pagination .next:after, .pagination a[rel=next]:after {
    right: 20px;
  }
  .pagination .prev:after, .pagination .next:before, .pagination a[rel=prev]:after, .pagination a[rel=next]:before {
    content: '';
    display: block;
    width: 26px;
    height: 26px;
    order: -1;
    margin: 0 auto;
    background: #000;
  }

  .page_thanks .mv {
    background-image: url("../../images/contact/mv.jpg");
  }

  .box_contact {
    padding: 47px 0 48px;
    margin-bottom: 48px;
  }
  .box_contact > div:first-child {
    margin-bottom: 40px;
    font-size: 0.960336rem;
  }
  .box_contact .tel {
    font-size: 1.002048rem;
    margin-bottom: 36px;
  }
  .box_contact .tel a {
    font-size: 2.4531385rem;
  }
  .box_contact .btn {
    height: 74px;
    margin-left: 50px;
    font-size: 1.112241rem;
  }

  body.grp_works .mv {
    background-image: url("../../images_sp/works/mv.jpg");
  }
  body.grp_works .beforeafter {
    background: url("../../images_sp/common/bg-graywall.jpg") center top/cover no-repeat;
    padding: 37px 0 48px;
  }
  body.grp_works .arrow {
    width: 40px;
    height: 3px;
    left: 50px;
    top: 270px;
    transform: rotate(45deg);
  }
  body.grp_works .arrow:before, body.grp_works .arrow:after {
    width: 16px;
    height: 3px;
  }
  body.grp_works .img_before, body.grp_works .img_after {
    border-width: 11px;
  }
  body.grp_works .img_before .ico_glass, body.grp_works .img_after .ico_glass {
    left: 5px;
    bottom: 4px;
  }
  body.grp_works .img_before {
    width: 284px;
    height: 215px;
    margin-bottom: 290px;
  }
  body.grp_works .img_after {
    width: 359px;
    height: 284px;
    top: 193px;
    right: -11px;
  }
  body.grp_works .beforeafter .ribbon {
    width: 84px;
    height: 26px;
    font-size: 0.6671885rem;
  }
  body.grp_works .beforeafter .ribbon:after {
    border-width: 13px 10px;
  }
	body.grp_works .beforeafter .datablocks{
		flex-direction: column;
	}
	/* 新しいHTML構造用のスタイル（スマホ版） */
	body.grp_works .beforeafter .data-list{
		width: 100%;
		margin: 0 0 36px;
	}
	body.grp_works .beforeafter .data-item{
		display: flex;
		gap: 16px;
	}
	body.grp_works .beforeafter .data-item dt{
		padding-left: 16px;
		word-wrap: break-word;
		overflow-wrap: break-word;
		width: auto;
		min-width: 100px;
		max-width: 50%;
	}
	body.grp_works .beforeafter .data-item dd{
		word-wrap: break-word;
		overflow-wrap: break-word;
		flex-grow: 1;
	}
	body.grp_works .beforeafter .dl2{
		order: -1;
		width: 100%;
		padding-top: 0;
	}
  body.grp_works .img_before {
    padding-top: 9px;
  }
  body.grp_works .img_before .ribbon {
    margin-left: -11px;
  }
  body.grp_works .img_after {
    padding-top: 9px;
  }
  body.grp_works .img_after:after {
    top: -66px;
    left: 180px;
  }
  body.grp_works .img_after .ribbon {
    margin-left: -11px;
  }
  body.grp_works .img_after .ribbon:after {
    border-color: #e7141a transparent #e7141a #e7141a;
  }
  body.grp_works .beforeafter .bans {
    padding-top: 70px;
    flex-direction: column;
  }
  body.grp_works .beforeafter .bans li {
    margin-bottom: 24px;
  }
  body.grp_works .beforeafter .bans a {
    font-size: 1.35253125rem;
    width: 100%;
    height: 113px;
    padding: 3px 110px 3px 3px;
  }
  body.grp_works .beforeafter .bans li:last-child {
    order: -1;
  }
  body.grp_works .beforeafter .bans li:last-child a {
    padding-top: 70px;
    padding-right: 200px;
    border: none;
    background: url("../../images_sp/works/btn-voice-bg.png") right bottom/contain no-repeat;
    width: 464px;
    height: 170px;
  }
  body.grp_works .beforeafter .bans li:last-child a:before {
    content: none;
    display: block;
  }
  body.grp_works .beforeafter .bans li:last-child a div {
    font-size: 0.9332925rem;
    left: 40px;
  }
  body.grp_works.single .box_h2 {
    display: flex;
    flex-direction: column;
    padding-inline: 24px;
    text-align: left;
  }
  body.grp_works.single .box_h2 .boxWorksTop01 {
    order: 2;
    margin-bottom: 0;
    margin-top: 8px;
  }
  body.grp_works.single .box_h2 h2 {
    order: 1;
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    color: #191a19;
    padding-block: 16px;
    padding-inline: 4px;
    border-bottom: 1px solid #c8102e;
    margin-bottom: 0;
  }
  body.grp_works.single .box_h2 .boxList01 {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  body.grp_works.single .box_h2 .date {
    order: 1;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.48px;
    color: #191a19;
    padding-inline: 4px;
    margin: 0;
  }
  body.grp_works.single .box_h2 .boxShop {
    display: none;
  }
  body.grp_works.single .box_h2 .catlabel {
    display: none;
  }
  body.grp_works.single .catlabel {
    font-size: 0.69989rem;
  }
  body.grp_works .flow li {
    padding: 25px 25px 25px 25px;
    margin-bottom: 58px;
    display: flex;
    flex-direction: column;
  }
  body.grp_works .flow li:nth-last-child(n+2):before, body.grp_works .flow li:after {
    content: '';
    display: block;
    width: 76px;
    height: 44px;
    position: absolute;
    bottom: -65px;
    left: 0;
    right: 0;
    margin: auto;
    box-sizing: border-box;
    background-size: 4px 4px;
    z-index: -1;
  }
  body.grp_works .flow li:after {
    border-width: 22px 38px;
    border-style: solid;
    border-color: transparent #fff #fff;
  }
  body.grp_works .flow li:nth-child(2n-1) {
    border-color: #e7141a;
  }
  body.grp_works .flow li:nth-child(2n-1):before {
    background-image: linear-gradient(-45deg, #e7141a 25%, #f5a0a3 25%, #f5a0a3 50%, #e7141a 50%, #e7141a 75%, #f5a0a3 75%);
  }
  body.grp_works .flow li:nth-child(2n) {
    border-color: #909090;
  }
  body.grp_works .flow li:nth-child(2n):before {
    background-image: linear-gradient(-45deg, #868686 25%, #e1e1e1 25%, #e1e1e1 50%, #868686 50%, #868686 75%, #e1e1e1 75%);
  }
  body.grp_works .flow h3 {
    font-size: 1.3496175rem;
    margin-bottom: 0.975rem;
  }
  body.grp_works .flow h3:before {
    font-size: 1.88936em;
  }
  body.grp_works .flow .txt {
    line-height: 1.3751452839em;
  }
  body.grp_works .flow .img {
    position: static;
    width: 100%;
    height: 278px;
    margin-bottom: 20px;
    order: -1;
  }
  /*body.grp_works .pagefooter {
    background: url("../../images/common/bg-graywall.jpg") center top;
    padding-top: 55px;
    padding-bottom: 56px;
    margin-bottom: 62px;
  }*/
  body.grp_works .box_search {
    background: url("../../images_sp/common/bg-graywall.jpg") center top no-repeat;
  }
  body.grp_works .box_search .box_inner > dt {
    font-size: 1.1217815rem;
    margin-bottom: 13px;
  }
  body.grp_works .box_search .box_inner > dd {
    margin-left: 33px;
  }
  body.grp_works .box_search ul {
    margin: 0 -12px 3px 0;
  }
  body.grp_works .box_search ul a {
    height: 1.5rem;
    padding: 0 8px;
    margin-bottom: 12px;
    font-size: 0.7498rem;
  }
  body.grp_works .box_search form {
    display: block;
    text-align: center;
  }
  body.grp_works .box_search button {
    width: 314px;
    height: 43px;
    font-size: 1.011708rem;
  }
  body.grp_works .box_search button:hover {
    opacity: 1;
  }
  body.grp_works .areaselector {
    display: block;
    width: 100%;
    height: auto;
  }
  body.grp_works .areaselector > div {
    display: block;
    height: auto;
  }
  body.grp_works .areaselector dt, body.grp_works .areaselector dd {
    display: block;
    line-height: 1em;
  }
  body.grp_works .areaselector dt {
    height: auto;
  }
  body.grp_works .areaselector dt > div {
    height: 36px;
    margin-right: 0;
  }
  body.grp_works .areaselector dd {
    margin-left: 0;
    margin-bottom: -16px;
  }
  body.grp_works .areaselector dd > div {
    padding-right: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  body.grp_works .areaselector label {
    margin-bottom: 16px;
  }

  .articlelist {
    display: block;
  }
  .articlelist:after {
    content: none;
  }
  .articlelist article {
    width: 100%;
    margin-bottom: 39px;
  }
  .articlelist h2 {
    font-size: 1.000389rem;
  }
  .articlelist .date {
    font-size: 0.800175rem;
  }
  .articlelist .catlabel {
    height: 25px;
    font-size: 0.69989rem;
  }
  .articlelist .img {
    width: 100%;
    max-width: 450px;
    height: auto;
    aspect-ratio: 450 / 268;
  }

  .img .ico_glass {
    display: block;
    position: absolute;
    z-index: 1;
    right: 9px;
    bottom: 7px;
    background: #000;
    border-radius: 50%;
    width: 37px;
    height: 37px;
  }
  .img .ico_glass:before {
    content: '';
    display: block;
    width: 17px;
    height: 17px;
    box-sizing: border-box;
    border-radius: 50%;
    border: solid 2px #fff;
    position: absolute;
    top: 8px;
    left: 9px;
  }
  .img .ico_glass:after {
    content: '';
    display: block;
    height: 2px;
    width: 6px;
    background: #fff;
    transform: rotate(45deg);
    position: absolute;
    right: 10px;
    bottom: 10px;
  }

  body.grp_staff .mv {
    background-image: url("../../images_sp/staff/mv.jpg");
  }
  body.grp_staff article .box_top {
    padding-top: 0;
    margin-bottom: 3rem;
    padding-bottom: 0;
  }
  body.grp_staff article .status {
    font-size: 1.000998rem;
  }
  body.grp_staff article h2 + .txt {
    margin-bottom: 3rem;
  }
  body.grp_staff article .img1 {
    width: 100%;
    margin-right: 0;
  }
  body.grp_staff article .img2 {
    width: 100%;
    margin-left: 0;
  }
  body.grp_staff article .data1 > div {
    width: 100%;
    padding: 0.8125rem 0.5rem;
  }
  body.grp_staff article .data1 dt:before {
    margin-right: 0.4rem;
  }
  body.grp_staff article .data2 {
    margin: 0 0 -12px;
  }
  body.grp_staff article .data2 > div {
    margin-left: 0;
    width: 100%;
    max-width: inherit;
  }

  .stafflist {
    display: block;
  }
  .stafflist a {
    width: 100%;
    height: auto;
  }
  .stafflist a:nth-last-child(n) {
    margin-bottom: 2.5rem;
  }
  .stafflist article {
    display: flex;
    position: relative;
    box-sizing: border-box;
  }
  .stafflist article:before, .stafflist article:after {
    content: '';
    display: block;
    position: absolute;
  }
  .stafflist article:before {
    right: 0;
    bottom: 0;
    background: #e7141a;
    width: 1.5rem;
    height: 1.5rem;
  }
  .stafflist article:after {
    width: 6px;
    height: 6px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    border-color: #fff;
    transform: rotate(45deg);
    right: 11px;
    bottom: 10px;
  }
  .stafflist .img {
    position: absolute;
    left: 25px;
    top: 25px;
    height: 150px;
    width: 120px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    flex-shrink: 0;
    flex-grow: 0;
  }
  .stafflist .img + div {
    width: 100%;
  }
  .stafflist .status {
    margin-top: 0;
    padding-left: 35%;
  }
  .stafflist h3 {
    font-size: 1.39842rem;
    padding-left: 35%;
    text-align: center;
  }
  .stafflist .txt {
    padding-bottom: 2rem;
  }

  .page_reason .mv {
    background-image: url("../../images_sp/reason/mv.jpg");
    margin-bottom: 0;
  }
  .page_reason .box_wall {
    background: url("../../images_sp/common/bg-graywall.jpg") center top no-repeat;
  }
  .page_reason .box_wall .dot:after {
    top: -0.3rem;
  }
  .page_reason .box_wall .txt {
    text-align: left;
  }
  .page_reason .point > span:first-child {
    left: 10px;
    font-size: 1rem;
    padding-top: 0.5rem;
    width: 3rem;
  }
  .page_reason .point > span:first-child:after {
    padding-bottom: 0.5rem;
  }
  .page_reason .point h3 {
    padding-left: 4.5rem;
    font-size: 1.3rem;
    line-height: 1.3em;
  }
  .page_reason .point h3:before {
    border-width: 0.625rem 1.5rem;
    left: 10px;
  }
  .page_reason .point h3 + div {
    padding-left: 0;
    padding-top: 290px;
  }
  .page_reason .point h4 {
    font-size: 1.2rem;
    line-height: 1.3em;
  }
  .page_reason .point .right a {
    width: 100%;
  }
  .page_reason .box_komikomi {
    height: auto;
    display: block;
  }
  .page_reason .box_komikomi:before {
    content: none;
  }
  .page_reason .box_komikomi h2 {
    position: relative;
    bottom: 0;
    right: 0;
    margin-bottom: 2rem;
    background-position: center 30px;
    background-repeat: no-repeat;
    padding-top: 72px;
    font-size: 1.8rem;
  }
  .page_reason .box_komikomi h2 .s {
    font-size: 1rem;
  }
  .page_reason .box_komikomi .h2_sub {
    color: #e7141a;
    position: absolute;
    left: 30px;
    bottom: auto;
    top: 310px;
  }
  .page_reason .box_komikomi ul {
    padding-left: 0;
  }
  .page_reason .box_komikomi li {
    width: 48%;
    font-size: 1rem;
    background-size: 100%;
    padding-bottom: 230px;
  }
  .page_reason .bans li:first-child {
    margin-bottom: 1rem;
  }
  .page_reason .bans a {
    width: 100%;
    height: 155px;
    font-size: 1.26rem;
  }
  .page_reason .bans .ico {
    padding-left: 40px;
    background-size: 28px;
  }
  .page_reason .bans a > div {
    width: 260px;
  }

  body.page_contact .mv {
    background-image: url("../../images_sp/contact/mv.jpg");
    margin-bottom: 0;
  }
  body.page_contact .box_wall .leadtxt {
    text-align: left;
  }
  body.page_contact .box_wall .pc_flex > div:first-child {
    display: flex;
    align-items: center;
    width: 100%;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 100% 100%;
    font-size: 1.2rem;
    padding: 16px 0 0 40px;
    margin-right: 0;
    margin-bottom: 1rem;
  }
  body.page_contact .box_wall .pc_flex > div:first-child:after {
    border-width: 20px 10px;
    order: -1;
    position: static;
    right: 30px;
    bottom: 36px;
    margin-top: 20px;
    margin-right: 0.5em;
    border-top-color: #fff107;
    border-left-color: transparent;
  }
  body.page_contact .box_wall .pc_flex > a {
    background-position: 1.2rem center;
    font-size: 2.4rem;
    margin-right: 0;
    margin-bottom: 1rem;
    text-align: center;
    white-space: nowrap;
  }
  body.page_contact .box_wall .pc_flex > a + div {
    text-align: center;
  }

  body.grp_voice .mv {
    background-image: url("../../images_sp/voice/mv.jpg");
  }
  body.grp_voice.single .box_h2 > div:first-child {
    position: relative;
    text-align: center;
  }
  body.grp_voice.single .box_h2 .date {
    font-size: 1rem;
    margin-right: 0;
    margin-bottom: 0.5rem;
  }
  body.grp_voice.single .box_h2 .catlabel {
    font-size: 0.85rem;
    height: 1.25rem;
  }
  body.grp_voice.single .bg_wall dl {
    width: 100%;
  }
  body.grp_voice.single .bg_wall dl > div {
    display: block;
  }
  body.grp_voice.single .bg_wall dt {
    margin-bottom: 0.5rem;
    width: 100%;
  }
  body.grp_voice.single .bg_wall dd {
    padding-left: 0.625rem;
    padding-right: 1em;
    width: 100%;
  }
  body.grp_voice.single .bg_wall .img {
    width: 100%;
  }
  body.grp_voice.single .box_voice .img {
    width: 400px;
    margin: 0 auto 3rem;
  }
  body.grp_voice.single .box_voice dl {
    width: 100%;
  }

  .articlelist.voice:before, .articlelist.voice:after {
    width: 100%;
    order: 1;
  }
  .articlelist.voice article {
    width: 100%;
  }
  .articlelist.voice .img {
    height: 250px;
  }

  .grp_post .mv {
    background-image: url("../../images_sp/blog/mv.jpg");
  }
  .grp_post .catlist {
    flex-wrap: wrap;
    margin-bottom: 1rem;
  }
  .grp_post .catlist li {
    margin-top: 0;
    margin-bottom: 0.5rem;
    margin-right: 0.5em;
  }
  .grp_post .catlist li:nth-child(n+2) a {
    margin-left: 0;
  }
  .grp_post .catlist + div {
    display: block;
    text-align: left;
  }
  .grp_post .pagination a[rel=prev]:before {
    left: 23px;
  }
  .grp_post .pagination a[rel=next]:after {
    right: 23px;
  }

  body.grp_menu .mv {
    background-image: url("../../images_sp/menu/mv.jpg");
  }
  body.grp_menu .box1st .box_h2 > div:first-child {
    font-size: 1.16rem;
    line-height: 1.3em;
  }
  body.grp_menu .box1st ul {
    margin: 0 0 1.2rem;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  body.grp_menu .box1st li {
    min-width: 40%;
    height: 2.4rem;
    border-radius: 0;
    flex-direction: row;
    flex-grow: 1;
    flex-shrink: 1;
    padding-top: 0;
  }
  body.grp_menu .box1st .img {
    width: 100%;
    height: 227px;
    margin-right: 0;
    margin-bottom: 2rem;
  }
  body.grp_menu .price,
  body.grp_lineup .price {
    width: 100%;
  }
  body.grp_menu .price .ss,
  body.grp_lineup .price .ss {
    font-size: 0.5407636739em;
    line-height: 1em;
  }
  body.grp_menu .box2nd .red {
    line-height: 1.3em;
  }
  body.grp_menu .bg_anchors ul {
    padding: 0 25px;
    flex-direction: column;
  }
  body.grp_menu .bg_anchors li {
    background-size: auto 100%;
    padding-bottom: 1rem;
  }
  body.grp_menu .bg_anchors a {
    display: flex;
    align-items: center;
  }
  body.grp_menu .bg_anchors a:after {
    width: 0.5em;
    height: 0.5rem;
    margin-left: 0.5em;
  }
  body.grp_menu .itemlist h3 {
    font-size: 1.25rem;
    line-height: 1.3em;
    padding-left: 5rem;
  }
  body.grp_menu .itemlist h3:after {
    left: 10px;
  }
  body.grp_menu .itemlist h3:before {
    left: 10px;
  }
  body.grp_menu .itemlist .img {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1.4rem;
  }
  body.grp_menu .itemlist h4 {
    line-height: 1.3em;
  }
  body.grp_menu .itemlist .txt {
    line-height: 1.625rem;
  }
  body.grp_menu .itemlist dl {
    display: block;
  }
  body.grp_menu .itemlist dl > div {
    width: 100% !important;
  }
  body.grp_menu .itemlist dl dt {
    width: 6rem;
    flex-shrink: 0;
    flex-grow: 0;
  }
  body.grp_menu .bg_warranty {
    height: auto;
    background: none;
  }
  body.grp_menu .bg_warranty img:first-child {
    left: -50px;
    width: 300px;
  }
  body.grp_menu .bg_warranty h3 {
    padding-left: 140px;
    font-size: 1.6rem;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    height: 280px;
  }
  body.grp_menu .bg_warranty h3 img + .red {
    order: 1;
    font-size: 0.9rem;
    line-height: 1.3em;
    margin-top: 1rem;
    text-align: right;
    position: relative;
    background: rgba(255, 255, 255, 0.7);
    display: block;
    padding: 0.5em 0 0.5em 0.5em;
  }
  body.grp_menu .bg_warranty h3 .l {
    margin-top: 0.25em;
  }
  body.grp_menu .bg_warranty .txt {
    padding-left: 0;
  }
  body.grp_menu .bg_warranty + .box_contact {
    margin-bottom: 0;
  }
  body.grp_menu .point_bg {
    background-size: 4px 4px;
    background-image: linear-gradient(-45deg, #ff6 25%, #fff 25%, #fff 50%, #ff6 75%, #fff 75%);
    background-repeat: repeat;
  }
  body.grp_menu .point_bg .box_h2 > div {
    font-size: 1rem;
  }
  body.grp_menu .point_bg ol {
    display: block;
    padding: 0;
    margin: 0 0 3.3125rem;
  }
  body.grp_menu .point_bg ol li {
    margin: 0 0 2rem;
    width: 100% !important;
  }
  body.grp_menu .point_bg ol .eng {
    background-size: cover;
    background-repeat: no-repeat;
  }
  body.grp_menu .box_scroll {
    overflow: auto;
  }
  body.grp_menu .box_scroll:before {
    content: '( 横にスクロールしてご覧ください )';
    display: block;
    margin-bottom: 0.5em;
  }
  body.grp_menu table {
    width: 1375px;
  }
  body.grp_menu tr {
    height: 5rem;
  }
  body.grp_menu th:first-child {
    width: 8rem;
  }
  body.grp_menu td:nth-of-type(2n-1) {
    flex-shrink: 1;
    flex-grow: 1;
  }
  body.grp_menu #faq h3,
  body.grp_lineup #faq h3 {
    padding-left: 82px;
    position: relative;
    text-indent: -31px;
  }
  body.grp_menu #faq .answer .lead,
  body.grp_lineup #faq .answer .lead {
    font-size: 1.3rem;
  }
  body.grp_menu #faq .txt,
  body.grp_lineup #faq .txt {
    font-size: 1rem;
    margin-bottom: 3rem;
  }
  body.grp_menu #faq .cols3 > div,
  body.grp_lineup #faq .cols3 > div {
    width: 100%;
    padding-top: 260px;
    margin-bottom: 3rem;
    font-size: 1rem;
  }
  body.grp_menu #faq .linebox,
  body.grp_lineup #faq .linebox {
    padding: 0 1rem 1rem;
    margin-top: 3rem;
  }
  body.grp_menu #faq .linebox .ttl,
  body.grp_lineup #faq .linebox .ttl {
    min-width: inherit;
    line-height: 1.3em;
    background-size: 100% 100%;
    margin-bottom: 0.5em;
  }
  body.grp_menu #faq .linebox.box2 .img,
  body.grp_lineup #faq .linebox.box2 .img {
    background-repeat: no-repeat;
    background-size: 338%;
    background-position: left top,center center,right bottom;
    height: 806px;
    background-image: url("../../images/menu/zairyo-bg.jpg"), url("../../images/menu/zairyo-bg.jpg"), url("../../images/menu/zairyo-bg.jpg");
  }
  body.grp_menu #faq .ttl_dashed,
  body.grp_lineup #faq .ttl_dashed {
    white-space: nowrap;
  }
  body.grp_menu #faq .ttl_dashed:before,
  body.grp_menu #faq .ttl_dashed:after,
  body.grp_lineup #faq .ttl_dashed:before,
  body.grp_lineup #faq .ttl_dashed:after {
    flex-shrink: 1;
  }
  body.grp_menu #faq .linebox.box3 .ttl_s,
  body.grp_lineup #faq .linebox.box3 .ttl_s {
    width: 100% !important;
  }
  body.grp_menu #faq .linebox.box3 .imgs,
  body.grp_lineup #faq .linebox.box3 .imgs {
    display: block;
  }
  body.grp_menu #faq .linebox.box3 .imgs > div,
  body.grp_lineup #faq .linebox.box3 .imgs > div {
    width: 100%;
    margin-bottom: 2rem;
  }
  body.grp_menu #faq .linebox.box3 .imgs > div:nth-child(2),
  body.grp_lineup #faq .linebox.box3 .imgs > div:nth-child(2) {
    width: 160px;
    height: 60px;
    margin-left: auto;
    margin-right: auto;
    border-left: solid 5px #000;
    background: url("../../images/menu/cost-txt.png") right top no-repeat;
    position: relative;
  }
  body.grp_menu #faq .linebox.box3 .imgs > div:nth-child(2):before,
  body.grp_menu #faq .linebox.box3 .imgs > div:nth-child(2):after,
  body.grp_lineup #faq .linebox.box3 .imgs > div:nth-child(2):before,
  body.grp_lineup #faq .linebox.box3 .imgs > div:nth-child(2):after {
    content: '';
    display: block;
    width: 1rem;
    height: 1rem;
    border-color: #000;
    border-style: solid;
    position: absolute;
    left: -15px;
    transform: rotate(45deg);
  }
  body.grp_menu #faq .linebox.box3 .imgs > div:nth-child(2):before,
  body.grp_lineup #faq .linebox.box3 .imgs > div:nth-child(2):before {
    border-width: 6px 0 0 6px;
  }
  body.grp_menu #faq .linebox.box3 .imgs > div:nth-child(2):after,
  body.grp_lineup #faq .linebox.box3 .imgs > div:nth-child(2):after {
    border-width: 0 6px 6px 0;
    bottom: 0;
  }
  body.grp_menu #faq .linebox.box3 .imgs > div:nth-child(2) img,
  body.grp_lineup #faq .linebox.box3 .imgs > div:nth-child(2) img {
    display: none;
  }

  body.page_menu .anchors {
    display: block;
  }
  body.page_menu .anchors dt {
    width: 100%;
    height: 2em;
  }
  body.page_menu .anchors dt:after {
    border-left-color: transparent;
    border-top-color: #e7141a;
    right: 0;
    bottom: -12px;
  }
  body.page_menu .anchors dd {
    background-size: auto 100%;
    margin-left: 3rem;
  }
  body.page_menu .anchors a {
    display: flex;
    align-items: center;
    padding-bottom: 0.5em;
    justify-content: flex-start;
  }
  body.page_menu .anchors a:after {
    order: -1;
    width: 0.5rem;
    height: 0.5rem;
    margin-left: 0;
    margin-right: 1rem;
  }
  body.page_menu .box_wall {
    background: url("../../images/menu/img-house.png") 5px 2rem/50% no-repeat, url("../../images_sp/common/bg-graywall.jpg") center top;
    padding-top: 200px;
  }
  body.page_menu .box_wall:before {
    content: none;
  }
  body.page_menu .box_wall h2 {
    font-size: 1.5rem;
  }
  body.page_menu .box_wall h2 .s {
    font-size: 1.2rem;
  }
  body.page_menu .box_wall ul {
    padding-left: 0;
    margin: 0 -4px;
    flex-wrap: wrap;
  }
  body.page_menu .box_wall ul:after {
    content: '';
    display: block;
    width: 30%;
  }
  body.page_menu .box_wall li {
    padding-bottom: 150px;
    background-size: 100%;
    font-size: 0.9rem;
    width: 30%;
    margin-left: 4px;
    margin-bottom: 1rem;
    margin-right: 4px;
  }
  body.page_menu .box_wall li:nth-child(4) {
    background-image: url("../../images/reason/komikomi-img4.jpg");
  }
  body.page_menu .box_wall li:nth-child(5) {
    background-image: url("../../images/reason/komikomi-img5.jpg");
  }
  body.page_menu .box_wall li:nth-child(6) {
    background-image: url("../../images/reason/komikomi-img6.jpg");
  }
  body.page_menu .box_wall li:nth-child(7) {
    background-image: url("../../images/reason/komikomi-img7.jpg");
  }
  body.page_menu .box_wall li:nth-child(8) {
    background-image: url("../../images/reason/komikomi-img8.jpg");
  }
  body.page_menu .box_wall .fukidashi {
    right: -0.5rem;
    top: 1rem;
    width: 12.8333333333rem;
    height: 7.7916666667rem;
    background-size: contain;
    padding-top: 1.5416666667rem;
    padding-left: 1.375rem;
  }
  body.page_menu .box_wall .fukidashi .txt1 {
    font-size: 1.0654166667rem;
    line-height: 1.8379583333rem;
    margin-bottom: 0.4166666667rem;
  }
  body.page_menu .box_wall .fukidashi .txt1 + div {
    font-size: 0.6637141667rem;
    padding-left: 6.25rem;
  }
  body.page_menu .box_wall .fukidashi .dot:after {
    width: 0.25rem;
    height: 0.25rem;
  }
  body.page_menu .packlist,
  body.grp_lineup .packlist {
    display: block;
  }
  body.page_menu .packlist h3,
  body.grp_lineup .packlist h3 {
    font-size: 1.4rem;
    padding-left: 10px;
  }
  body.page_menu .packlist h3:after,
  body.grp_lineup .packlist h3:after {
    margin-right: 1rem;
  }
  body.page_menu .packlist h3:before,
  body.grp_lineup .packlist h3:before {
    left: 10px;
  }
  body.page_menu .packlist article,
  body.grp_lineup .packlist article {
    width: 100%;
    padding: 1.5rem;
  }
  body.page_menu .packlist article:hover,
  body.grp_lineup .packlist article:hover {
    opacity: 1;
  }
  body.page_menu .packlist h4,
  body.grp_lineup .packlist h4 {
    font-size: 1.3rem;
  }
  body.page_menu .packlist .ylw,
  body.grp_lineup .packlist .ylw {
    text-align: left;
    line-height: 1.3em;
  }
  body.page_menu .packlist .img,
  body.grp_lineup .packlist .img {
    width: 100%;
    height: 240px;
    margin-bottom: 2rem;
  }
  body.page_menu .packlist .img + div,
  body.grp_lineup .packlist .img + div {
    width: 100%;
  }
  body.page_menu .packlist .memo,
  body.grp_lineup .packlist .memo {
    text-align: left;
    line-height: 1.3em;
  }
  body.page_menu .packlist .btn,
  body.grp_lineup .packlist .btn {
    border: solid 1px #fff;
    align-items: center;
    height: 3.125rem;
    position: static;
    padding-bottom: 0;
  }
  body.page_menu .packlist .btn:before,
  body.grp_lineup .packlist .btn:before {
    content: none;
  }
  body.page_menu .packlist .box_showroombtn,
  body.grp_lineup .packlist .box_showroombtn {
    margin-bottom: 0;
    min-width: inherit;
  }
  body.page_menu .packlist .box_showroombtn a,
  body.grp_lineup .packlist .box_showroombtn a {
    font-size: 1.3rem;
    padding-left: 74px;
    padding-top: 130px;
  }
  body.page_menu .packlist .box_showroombtn a div:first-child,
  body.grp_lineup .packlist .box_showroombtn a div:first-child {
    font-size: 16px;
  }
  body.page_menu .packlist .box_showroombtn .s,
  body.grp_lineup .packlist .box_showroombtn .s {
    display: block;
    margin-top: -0.1em;
  }
  body.page_menu .packlist .box_showroombtn .ind2,
  body.grp_lineup .packlist .box_showroombtn .ind2 {
    display: block;
  }
  body.page_menu .packlist article.wide .left,
  body.grp_lineup .packlist article.wide .left {
    width: 100%;
  }
  body.page_menu .packlist article.wide .right,
  body.grp_lineup .packlist article.wide .right {
    width: 100%;
  }
  body.page_menu .packlist article.wide .box_price,
  body.grp_lineup .packlist article.wide .box_price {
    height: auto;
  }
  body.page_menu .packlist article.wide .message,
  body.grp_lineup .packlist article.wide .message {
    line-height: 1.3em;
  }
  body.page_menu .packlist article.wide .pricelist li,
  body.grp_lineup .packlist article.wide .pricelist li {
    display: block;
  }
  body.page_menu .packlist article.wide .pricelist li div:first-child,
  body.grp_lineup .packlist article.wide .pricelist li div:first-child {
    font-size: 1.2rem;
  }
  body.page_menu .packlist article.wide .pricelist li div:first-child:before,
  body.grp_lineup .packlist article.wide .pricelist li div:first-child:before {
    border-width: 7px;
  }
  body.page_menu .packlist article.wide .pricelist .price,
  body.grp_lineup .packlist article.wide .pricelist .price {
    text-align: right;
    display: block;
  }
  body.page_menu .packlist article.wide.type1 .box_price,
  body.grp_lineup .packlist article.wide.type1 .box_price {
    padding-left: 200px;
    background-size: 180px;
    height: auto;
  }
  body.page_menu .packlist article.wide.type2 .left,
  body.grp_lineup .packlist article.wide.type2 .left {
    padding-left: 8.4rem;
    font-size: 1.2rem;
    line-height: 1.3em;
  }
  body.page_menu .packlist article.wide.type2 .sub,
  body.grp_lineup .packlist article.wide.type2 .sub {
    font-size: 1rem;
  }
  body.page_menu .packlist article.wide .pricelist.type2,
  body.grp_lineup .packlist article.wide .pricelist.type2 {
    display: block;
  }
  body.grp_lineup .packlist article.wide .pricelist.type2 {
    padding: 0;
  }

  body.page_menu .packlist article.wide .pricelist.type2 li,
  body.grp_lineup .packlist article.wide .pricelist.type2 li {
    width: 100%;
    display: flex;
  }
  body.page_menu .box_wall.type2 .fukidashi {
    display: none;
  }
  body.page_menu .box_wall.type2 .bg_wh {
    display: block;
    padding: 25px;
  }
  body.page_menu .box_wall.type2 ul {
    padding: 0;
    margin: 0 -8px;
    display: flex;
    flex-wrap: wrap;
  }
  body.page_menu .box_wall.type2 li {
    padding-bottom: 10.8625rem;
    width: 45%;
    flex-shrink: 1;
    flex-grow: 1;
    margin-left: 8px;
    margin-right: 8px;
  }
  body.page_menu .box_wall.type2 h3 {
    display: block;
    position: relative;
  }
  body.page_menu .box_wall.type2 h3 .s {
    display: block;
    margin-left: 0;
    text-align: right;
    margin-top: 1em;
  }
  body.page_menu .box_wall.type2 h3:after {
    width: 50%;
    position: absolute;
    bottom: -1rem;
    left: 0;
    right: 0;
    margin: auto;
  }

  body.page_showroom .mv {
    background-image: url("../../images_sp/showroom/mv.jpg");
    margin-bottom: 0;
  }
  body.page_showroom .mv h1,
  body.page_showroom .mv .eng {
    color: #e7141a;
  }
  body.page_showroom .box_lead {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-top: 0;
    background: url("../../images_sp/showroom/sp-event-img.jpg") left top/100% no-repeat;
    box-sizing: border-box;
  }
  body.page_showroom .box_lead > img:first-child {
    display: none;
  }
  body.page_showroom .box_lead .merit h2 {
    font-size: 1.2rem;
    position: relative;
  }
  body.page_showroom .box_lead .merit h2 .span1 {
    margin-right: 0;
    top: -0.8em;
    left: 0;
    position: absolute;
    color: #000;
    display: inline-block;
    padding-bottom: 0.3em;
    background: url("../../images/common/bg-paint-ylw.png") left bottom/100% 100% no-repeat;
  }
  body.page_showroom .box_lead .merit h2 .span1:before, body.page_showroom .box_lead .merit h2 .span1:after {
    content: none;
  }
  body.page_showroom .box_lead .merit li,
  .boxShowroom0201 ol > li {
    width: 100%;
    height: auto;
    margin-bottom: 1rem;
  }
  body.page_showroom .differance h2 .dot:after {
    top: -0.1em;
  }
  body.page_showroom .differance h3 {
    font-size: 1.3rem;
    line-height: 1.3em;
  }
  body.page_showroom .differance h3:after {
    left: 0;
    padding-left: 0;
  }
  body.page_showroom .differance .img {
    border-top: solid 4px #fff;
    border-bottom: solid 4px #fff;
    height: 198px;
    background-repeat: repeat-x;
    background-position: 0 0;
    background-size: auto 100%;
    -webkit-animation: bgroop 20s linear infinite;
    animation: bgroop 20s linear infinite;
  }
  body.page_showroom .access .img {
    width: 100%;
    height: 266px;
    margin-right: 0;
    margin-bottom: 2rem;
  }
  body.page_showroom .access h3 {
    margin-left: 0;
    background-position: left top;
    line-height: 1.3em;
  }
  body.page_showroom .access dl > div {
    display: block;
  }
  body.page_showroom .access dt {
    width: 100%;
  }
	.box_reserveinfo .red{
		font-size: 1.3rem;
		margin-bottom: 1.3rem;
	}
	.box_reserveinfo .right{
		position: static;
		width: 100%;
	}
	.box_reserveinfo .btn{
		width: auto;
		justify-content: center;
		background-image: none;
		padding-left: 0.5em;
		padding-right: 0.5em;
	}
	.box_reserveinfo .btn:after{
		margin-left: 0.5rem;
	}
	.access .sr_list.yoko3>div{
		width: 100%;
		margin: 0 auto 1.4rem;
	}
	.access .sr_list.yoko3 .img{
		height: 280px;
	}
	.access .sr_list.yoko3 .tel,
	.access .sr_list.yoko3 .fax{
		width: 50%;
		box-sizing: border-box;
	}
  /* 旧ショールームフォームスタイル - レガシー（新フォームは .formField クラスを使用）
  body.page_showroom input[type=date], body.page_showroom select {
    width: 100%;
    margin-bottom: 1rem;
  }
  body.page_showroom input[type=date], body.page_showroom input[type="txt"] {
    margin-right: 0;
  }
  */

  body.page_company .mv {
    background-image: url("../../images_sp/company/mv.jpg");
  }
  body.page_company .sec_greeting {
    overflow: visible;
    margin-top: -40px;
    padding-bottom: 50px;
    /*
    background: url("../../images_sp/company/greeting-bg.png") center bottom/100% no-repeat;*/
    margin-bottom: 3rem;
    height: auto;
  }
/*
  body.page_company .sec_greeting:before {
    content: none;
  }
  body.page_company .sec_greeting:after {
    content: none;
  }
*/
  body.page_company .sec_greeting .box_inner {
    height: auto;
  }
  body.page_company .sec_greeting h3 {
    font-size: 1.5rem;
    line-height: 1.4em;
  }
  body.page_company .sec_greeting .txt {
    font-size: 1rem;
    margin-bottom: 3rem;
  }
  body.page_company .sec_greeting .bg:after {
    content: none;
  }
  body.page_company .sec_greeting .sp_shift {
    margin-left: -0.5em;
  }
  body.page_company .sec_greeting .sign {
    position: static;
    color: #000;
    text-align: left;
  }
  body.page_company .sec_greeting .sign:after {
    content: '毛内 將元';
    font-size: 1.3em;
    line-height: 1.3em;
  }
  body.page_company .sec_greeting .sign img {
    display: none;
  }
  body.page_company .sec_data dl > div {
    display: block;
  }
  body.page_company .sec_data dt {
    width: 100%;
    padding-left: 25px;
    margin-bottom: 1rem;
  }
  body.page_company .sec_data dd {
    padding: 0 25px;
  }
  body.page_company .sec_access .bans {
    flex-direction: column;
  }
  body.page_company .sec_access .bans li {
    width: 100%;
    margin-bottom: 1rem;
  }
  body.page_company .sec_access .bans li:first-child a {
    padding-left: 100px;
  }
  body.page_company .sec_access .bans li:nth-child(2) {
    order: -1;
  }
  body.page_company .sec_access .bans li:nth-child(2) a {
    padding-left: 100px;
  }
  body.page_company .workslider_bg {
    background-image: url("../../images_sp/common/bg-graywall.jpg") center top/100% no-repeat;
  }

  body.error .mv {
    background-image: url("../../images_sp/404/mv.jpg");
  }
  body.error .lead {
    text-align: left;
  }
  #popupform .left {
    width: 100%;
    align-items: center;
    flex-direction: row;
    padding-left: 30px;
    height: 120px;
  }
  #popupform .left div:first-child {
    font-size: 0.7988325rem;
    margin: auto 46px auto -24px;
    padding-left: 0;
    padding-top: 0;
  }
  #popupform .left div:first-child:before, #popupform .left div:first-child:after {
    width: 2px;
    height: 36px;
    left: auto;
  }
  #popupform .left div:first-child:before {
    transform: rotate(-50deg);
    bottom: 56px;
    transform-origin: right bottom;
    right: -12px;
  }
  #popupform .left div:first-child:after {
    transform: rotate(235deg);
    bottom: -26px;
    right: 0;
  }
  #popupform .left h3 {
    font-size: 1.3492325rem;
    line-height: 1.4074297795em;
  }
  #popupform .pc_flex img:last-child {
	  display: none;
  }
  #popupform form {
    padding-bottom: 37px;
  }
  #popupform form dl {
    padding: 36px 25px 0;
  }
  #popupform form dl > div {
    padding: 0;
    margin-bottom: 31px !important;
  }
	#popupform form dl > div:nth-child(n+2){
		flex-wrap: nowrap;
	}
  #popupform form dt {
    width: 100%;
    padding-left: 0;
    line-height: 1em;
    margin-bottom: 23px;
    font-size: 1.000935rem;
  }
	#popupform form dl > div:nth-child(n+2) dt{
		width: 28%;
		padding-top: 0.5rem;
	}
	#popupform form dl > div:nth-child(n+2) dd{
		width: 72%;
	}
	#popupform form input[type=text] {
    width: 100%;
    height: 43px;
/*		font-size: 1rem;*/
		font-size: 100%;
  }
  #popupform form textarea {
    width: 100%;
    height: 75px;
/*	  font-size: 1rem;*/
	  font-size: 100%;
	  line-height: 1.4em;
  }
  #popupform form .selectlist {
    margin-bottom: -16px;
  }
  #popupform form .selectlist li {
    margin-bottom: 16px;
  }
  #popupform form .box_btn {
    padding: 0 25px 0;
  }
  #popupform form button {
    width: 100%;
    height: 53px;
  }
  #popupform form button:before {
    content: '';
    display: inline-block;
    margin-right: 15px;
    width: 36px;
    height: 21px;
    background: url("../../images/index/ico-plane-wh.png") no-repeat;
  }

}
@-webkit-keyframes bgroop {
	from {
      background-position: 0  0;
    }
    to {
      background-position: -1092px 0;
    }
  }
  @keyframes bgroop {
    from {
      background-position: 0 0;
    }
    to {
      background-position: -1092px 0;
    }
  }
/* ========================================
   ページネーション（Pagination）
   ======================================== */

/* コンテナ */
.pagination-container {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 40px 0;
}

/* ページネーションナビゲーション */
.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0 0 60px;
	padding: 0;
}

/* 通常のページ番号ボタン */
.pagination-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #F1F1F1;
	color: #191A19;
	font-size: 16px;
	font-weight: 400;
	text-decoration: none;
	transition: background-color 0.2s ease;
	box-sizing: border-box;
}

.pagination-button:hover {
	background-color: #E0E0E0;
}

/* 現在ページ（赤い丸） */
.pagination-current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #E7141A;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	cursor: default;
	box-sizing: border-box;
}

/* ナビゲーションボタン（<<, <, >, >>） */
.pagination-nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: transparent;
	color: #191A19;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.2s ease;
	box-sizing: border-box;
}

.pagination-nav:hover:not(.disabled) {
	background-color: #F5F5F5;
}

/* 無効化ボタン */
.pagination-nav.disabled {
	background-color: transparent;
	color: #CCCCCC;
	cursor: not-allowed;
	pointer-events: none;
}

/* 省略記号（...） */
.pagination-dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #F1F1F1;
	color: #191A19;
	font-size: 16px;
	pointer-events: none;
	box-sizing: border-box;
}

/* ========================================
   ショールーム詳細ページ（boxShopInfo）
   ======================================== */
.boxShowroomS02 .boxShopInfo {
	display: flex;
}
.boxShowroomS02 .boxShopInfo .left {
	width: 50%;
}
.boxShowroomS02 .boxShopInfo .right {
	width: 47%;
	margin-left: auto;
	border: 2px solid #817F7F;
	border-radius: 0.675rem;
	padding: 30px;
}
.boxShowroomS02 .boxShopInfo .contact {
	background-color: #F7F7F7;
	text-align: center;
	color: #E71F19;
	font-size: 2.25rem;
	font-weight: 700;
	margin-top: 25px;
	padding: 13px 0;
	margin-bottom: 15px;
}
.boxShowroomS02 .boxShopInfo .contact span {
	display: inline-block;
	background-image: url("../../images/showroom/detail/icn-tel.png"), url("../../images/common/img-heade-call.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left center, right center;
	background-size: 40px, 42px;
	padding: 5px 55px 5px 51px;
}
.boxShowroomS02 .boxShopInfo .contact small {
	display: block;
	font-size: 0.39em;
	font-weight: 400;
	margin-top: 0.1em;
}
.boxShowroomS02 .boxShopInfo .right .shop_name {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 1em;
}
.boxShowroomS02 .boxShopInfo .right .shop_name span {
	margin-right: 1em;
}
.boxShowroomS02 .boxShopInfo .right dl {
    display: flex;
    margin-bottom: 0.6em;
    line-height: 1.6;
    font-size: 1.125rem;
}
.boxShowroomS02 .boxShopInfo .right dt {
    width: 6em;
    font-weight: bold;
}
.boxShowroomS02 .boxShopInfo .right .area {
	padding-top: 1.75rem;
	margin-top: 1.75rem;
	border-top: 1px solid #C6C0BE;
}
.boxShowroomS02 .boxShopInfo .right .area .ttl {
	font-size: 1.375rem;
	font-weight: 700;
	color: #D8281D;
	margin-bottom: 0.7em;
}
.boxShowroomS02 .boxShopInfo .right .area .text {
	font-size: 1.125rem;
	line-height: 1.6;
}
.boxShowroomS02 .boxShopInfo .right .area .text span {
	font-weight: bold;
	display: block;
}

/* 施工事例セクション */
.boxShowroomS06 .btnBase01 {
	margin: auto;
}
.boxShowroomS06 .boxWrap {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 4.75rem;
}
.boxShowroomS06 .box {
	width: 31.5%;
	overflow: hidden;
	border-radius: 0.625rem;
	box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
	margin: 0 0 0 2.75%;
}
.boxShowroomS06 .box:nth-of-type(3n+1) {
	margin-left: 0;
}
.boxShowroomS06 .box:nth-child(n + 4) {
	margin-top: 3rem;
}
.boxShowroomS06 .box .img {
	position: relative;
	overflow: hidden;
	height: 230px;
}
.boxShowroomS06 .box .img img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
}
.boxShowroomS06 .box .cont {
	padding: 1.875rem 1.25rem;
}
.boxShowroomS06 .box .cont .p01 {
	font-weight: 700;
	font-size: 0.875rem;
	margin-bottom: 1em;
}
.boxShowroomS06 .box .cont .p01 span {
	margin-right: 1em;
}
.boxShowroomS06 .box .cont .p02 {
	font-weight: 700;
	font-size: 1.125rem;
	margin-bottom: 1.2em;
}
.boxShowroomS06 .box .cont .cat {
	display: flex;
	flex-wrap: wrap;
}
.boxShowroomS06 .box .cont .cat span {
	font-size: 0.875rem;
	font-weight: 700;
	color: #E71F19;
	border-radius: 10em;
	border: 1px solid #E71F19;
	padding: 0.5em 1.1em;
	margin: 0 5px 10px 0;
}

/* スマホ版 */
@media screen and (max-width: 480px) {
	.boxShowroomS02 .boxShopInfo {
		display: block;
	}
	.boxShowroomS02 .boxShopInfo .left {
		width: 100%;
		margin-bottom: 2rem;
	}
	.boxShowroomS02 .boxShopInfo .right {
		width: 100%;
	}
	.boxShowroomS02 .boxShopInfo .right .shop_name {
		line-height: 1.5;
		display: flex;
	}
	.boxShowroomS02 .boxShopInfo .right .shop_name span {
		width: 5em;
	}
	.boxShowroomS06 .boxWrap {
		display: block;
	}
	.boxShowroomS06 .box .img {
		height: 51vw;
	}
}

/* ======================================
   お客様の声一覧ページ - カードUI (PC版)
   Figmaデザイン準拠
====================================== */
.grp_voice .voice-archive-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  max-width: 920px;
  width: 100%;
  margin-inline: auto;
  padding-block: 40px 60px;
  padding-inline: 24px;
  box-sizing: border-box;
}

.grp_voice .voice-card {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.grp_voice .voice-card__link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.grp_voice .voice-card__image {
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.grp_voice .voice-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.grp_voice .voice-card:hover .voice-card__image img {
  transform: scale(1.05);
}

.grp_voice .voice-card__content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 9px 15px 12px;
  text-align: left;
}

.grp_voice .voice-card__date {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  color: #ccc;
  text-align: left;
}

.grp_voice .voice-card__title {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.72px;
  color: #616161;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-align: left;
}


.grp_voice .voice-card__excerpt {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.48px;
  color: #616161;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-align: left;
}

/* お客様の声一覧 - タブレット (838px以下: 2カラム) */
@media (max-width: 838px) {
  .grp_voice .voice-archive-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* お客様の声一覧 - スマホ (562px以下: 1カラム) */
@media (max-width: 562px) {
  .grp_voice .voice-archive-list {
    grid-template-columns: 1fr;
  }
}

/* タイトルエリア */
.grp_voice .box_h2 {
  margin-block-end: 2rem;
}

.grp_voice .box_h2 h2 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-block: 0.5rem 0;
}

/* 日付・ショールーム情報 */
.grp_voice .boxList01 {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-block-end: 0.5rem;
}

.grp_voice .boxList01 .date {
  font-weight: 700;
}

.grp_voice .boxList01 .boxShop {
  font-size: 0.875rem;
  color: #666;
}

/* カテゴリラベル */
.grp_voice .boxList02 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block-end: 1rem;
}

/* 詳細ページ用 */
.grp_voice .boxList02 .catlabel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 700;
  border-radius: 2px;
}

.grp_voice .boxList02 .catlabel.bd {
  border: 1px solid #333;
  background: #fff;
}

.grp_voice .boxList02 .catlabel.bg {
  background: #e7141a;
  color: #fff;
}

/* 評判の声 詳細ページ タイトルエリア - clamp()でレスポンシブ対応 */
.voice-detail-title {
  padding-inline: 24px;
  margin-block-end: 2rem;
}

.voice-detail-title__inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-block: 16px;
  border-block-end: 1px solid #c8102e;
  max-width: 700px;
  margin-inline: auto;
}

.voice-detail-title h2 {
  font-size: clamp(24px, calc(0.518vw + 22.06px), 32px);
  font-weight: 700;
  line-height: 1.4;
  color: #191a19;
  margin: 0;
  max-width: 700px;
  text-align: left;
}

.voice-detail-title .date {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  color: #191a19;
  letter-spacing: 0.48px;
}

/* 施工データセクション */
.grp_voice .bg_wall {
  text-align: left;
  padding-block: 2rem;
  background: url("../../images/common/bg-graywall.jpg") center top;
  margin-block-end: 3rem;
}

.grp_voice .bg_wall .pc_flex {
  justify-content: space-between;
  gap: 2rem;
}

.grp_voice .bg_wall .pc_flex > div:first-child {
  flex: 1;
  max-width: 50%;
}

.grp_voice .bg_wall .pc_flex > .img {
  flex: 1;
  max-width: 50%;
  min-height: 300px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.grp_voice .bg_wall h3.exc {
  font-size: 1.25rem;
  margin-block: 0 1rem;
  position: relative;
  padding-inline-start: 0.75rem;
}

.grp_voice .bg_wall h3.exc::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  width: 3px;
  height: 100%;
  background: #e7141a;
}

.grp_voice .bg_wall h3.exc::after {
  content: attr(data-eng);
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.grp_voice .bg_wall .ttl01 {
  font-size: 1rem;
  margin-block: 0 1rem;
}

.grp_voice .bg_wall .ttl01 .txt01 {
  display: block;
  font-weight: 700;
}

.grp_voice .bg_wall .ttl01 .txt02 {
  display: block;
  font-size: 0.875rem;
  color: #666;
}

.grp_voice .bg_wall dl {
  margin: 0;
  border-block-start: 1px solid #ccc;
}

.grp_voice .bg_wall dl > div {
  display: flex;
  border-block-end: 1px solid #ccc;
}

.grp_voice .bg_wall dl dt {
  flex-shrink: 0;
  width: 8rem;
  padding: 0.75rem;
  background: #f5f5f5;
  font-weight: 700;
  font-size: 0.875rem;
}

.grp_voice .bg_wall dl dd {
  flex: 1;
  padding: 0.75rem;
  margin: 0;
  font-size: 0.875rem;
}

/* 評判の声セクション */
.grp_voice .box_voice {
  margin-block-end: 3rem;
}

.grp_voice .box_voice h3.exc {
  font-size: 1.25rem;
  margin-block: 0 1.5rem;
  position: relative;
  padding-inline-start: 0.75rem;
}

.grp_voice .box_voice h3.exc::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  width: 3px;
  height: 100%;
  background: #e7141a;
}

.grp_voice .box_voice h3.exc::after {
  content: attr(data-eng);
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.grp_voice .box_voice .pc_flex {
  gap: 2rem;
  align-items: flex-start;
}

/* アンケート画像 */
.grp_voice .box_voice .pc_flex > .img {
  flex-shrink: 0;
  width: 300px;
  position: relative;
}

.grp_voice .box_voice .pc_flex > .img img {
  width: 100%;
  height: auto;
  display: block;
}

.grp_voice .box_voice .pc_flex > .img .ico_glass {
  position: absolute;
  inset-inline-end: 0.5rem;
  inset-block-end: 0.5rem;
  width: 2rem;
  height: 2rem;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
}

/* アンケートデータ */
.grp_voice .boxWorksData01RWrap {
  flex: 1;
}

.grp_voice .box_voice dl {
  margin: 0;
}

.grp_voice .box_voice dl dt {
  font-weight: 700;
  font-size: 1rem;
  margin-block-end: 0.5rem;
  padding-inline-start: 0.5rem;
  border-inline-start: 3px solid #e7141a;
}

.grp_voice .box_voice dl dd {
  margin: 0 0 1.5rem;
  line-height: 1.8;
  font-size: 0.9375rem;
}

/* ショールーム担当者 */
.grp_voice .boxVoiceSData01R {
  margin-block-start: 2rem;
  padding-block-start: 2rem;
  border-block-start: 1px solid #ddd;
}

.grp_voice .boxVoiceSShowroomPics {
  margin-block-end: 1.5rem;
}

.grp_voice .boxVoiceSShowroomPics .ttl02 {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-block-end: 1rem;
}

.grp_voice .boxVoiceSShowroomPics .ttl02 span {
  display: flex;
  flex-direction: column;
}

.grp_voice .boxVoiceSShowroomPics .ttl02 .txt01 {
  font-size: 1rem;
  font-weight: 700;
  color: #e7141a;
}

.grp_voice .boxVoiceSShowroomPics .ttl02 .txt02 {
  font-size: 0.875rem;
  color: #666;
}

.grp_voice .boxVoiceSShowroomPics .boxImg {
  max-width: 400px;
}

.grp_voice .boxVoiceSShowroomPics .boxImg img {
  width: 100%;
  height: auto;
}

/* 担当者コメント */
.grp_voice .dl01 {
  background: #f9f9f9;
  padding: 1.5rem;
  border-radius: 4px;
}

.grp_voice .dl01 dt {
  font-weight: 700;
  font-size: 1rem;
  margin-block-end: 0.75rem;
  color: #e7141a;
}

.grp_voice .dl01 dd {
  margin: 0;
  line-height: 1.8;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
  .grp_voice .box_h2 h2 {
    font-size: 1.25rem;
  }

  .grp_voice .boxList01 {
    flex-wrap: wrap;
  }

  .grp_voice .bg_wall .pc_flex {
    flex-direction: column;
  }

  .grp_voice .bg_wall .pc_flex > div:first-child {
    max-width: 100%;
  }

  .grp_voice .bg_wall .pc_flex > .img {
    max-width: 100%;
    min-height: 200px;
    order: -1;
  }

  .grp_voice .bg_wall dl dt {
    width: 6rem;
  }

  .grp_voice .box_voice .pc_flex {
    flex-direction: column;
  }

  .grp_voice .box_voice .pc_flex > .img {
    width: 100%;
    max-width: 300px;
    margin-inline: auto;
  }

  .grp_voice .boxVoiceSShowroomPics .boxImg {
    max-width: 100%;
  }
}

/* ========================================
   お客様の声 詳細ページ - Figmaデザイン新セクション
   ======================================== */

/* voice-feedback - clamp()でレスポンシブ対応 */
.voice-feedback {
  max-width: 700px;
  margin-inline: auto;
  padding-inline: 24px;
  box-sizing: border-box;
}

.voice-feedback__image {
  margin-block-end: 32px;
}

.voice-feedback__image img {
  width: 100%;
  height: auto;
  display: block;
}

.voice-feedback__sections {
  display: flex;
  flex-direction: column;
}

.voice-feedback__section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.voice-feedback__section + .voice-feedback__section {
  margin-block-start: 22px;
}

.voice-feedback__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(17px, calc(0.0647vw + 16.76px), 18px);
  font-weight: 700;
  line-height: 1.4;
  color: #191a19;
  margin: 0;
  padding-block: 16px;
  padding-inline: 4px;
  border-block-end: 1px solid #ccc;
}

.voice-feedback__body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, calc(0.1295vw + 13.51px), 16px);
  font-weight: 400;
  line-height: 2;
  color: #191a19;
  margin: 0;
  padding-inline: 4px;
}

/* ======================================
   担当店舗・担当者よりセクション
   ====================================== */
.voice-staff-section {
  padding-block-start: 60px;
  max-width: 748px; /* 700px + 24px * 2 */
  margin-inline: auto;
  padding-inline: 24px;
  box-sizing: border-box;
}

.voice-staff-section__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 700px;
  margin-inline: auto;
}

/* 左カラム: アンケート画像 */
.voice-staff-section__survey {
  width: 100%;
}

.voice-staff-section__survey-img {
  width: 100%;
  height: auto;
  display: block;
}

/* 右カラム: 担当店舗情報 */
.voice-staff-section__info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* 見出し「担当店舗」- clamp()でレスポンシブ対応 */
.voice-staff-section__shop-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(17px, calc(0.194vw + 16.27px), 20px);
  font-weight: 600;
  line-height: 1.4;
  color: #191a19;
  margin: 0;
  padding-inline: 4px;
}

/* スタッフ画像 */
.voice-staff-section__staff-img {
  width: 100%;
  display: block;
}

/* 店舗名テキスト */
.voice-staff-section__shop-name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  color: #191a19;
  margin: 0;
  padding-inline: 4px;
}

/* 担当者よりブロック */
.voice-staff-section__comment {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-block-start: 30px;
}

/* 見出し「担当者より」 */
.voice-staff-section__comment-title {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-inline: 4px;
}

.voice-staff-section__comment-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* clamp()でレスポンシブ対応 */
.voice-staff-section__comment-heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(17px, calc(0.194vw + 16.27px), 20px);
  font-weight: 600;
  line-height: 1.4;
  color: #191a19;
  margin: 0;
}

/* 担当者コメント本文 */
.voice-staff-section__comment-body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  color: #191a19;
  margin: 0;
  padding-inline: 4px;
}

/* PC版: 2カラムレイアウト */
@media (min-width: 768px) {
  .voice-staff-section__inner {
    flex-direction: row;
    gap: 24px;
  }

  .voice-staff-section__survey {
    flex: 1;
  }

  .voice-staff-section__info {
    flex: 1;
    padding-block-end: 36px;
  }
}

/* ======================================
   新フォーマット: お客様の声詳細
   ====================================== */
.voice-new {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 700px;
  margin-inline: auto;
  padding-inline: 24px;
  box-sizing: border-box;
}

.voice-new__section {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* H5見出し: 施工中の対応について / 完成後のご感想 */
body.grp_voice.single .voice-new__heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  color: #191a19;
  margin: 0;
  padding-block: 16px;
  padding-inline: 4px;
  border-block-end: 1px solid #ccc;
}

/* 画像 */
.voice-new__image {
  width: 100%;
}

.voice-new__image img {
  width: 100%;
  height: auto;
  display: block;
}

/* テキスト */
.voice-new__text {
  padding-inline: 4px;
}

.voice-new__text p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  color: #191a19;
  margin: 0;
}

/* PC版: フォントサイズ調整 */
@media (min-width: 768px) {
  .voice-new__text p {
    font-size: 18px;
  }
}

/* お客様の声: 施工データセクション */
.grp_voice .property-data-content {
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: 16px;
}

/* ========================================
   スタッフブログ一覧ページ - カードUI
   Figmaデザイン準拠
   clamp: 375px〜1920px
   ======================================== */

/* カードリスト - 3カラムグリッド */
.news-card-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* gap: 16px (375px) → 22px (1920px) */
  gap: clamp(16px, calc(14.54px + 0.39vw), 22px);
  max-width: 920px;
  margin-inline: auto;
  padding-inline: 16px;
}

/* カード本体 */
.news-card {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  box-sizing: border-box;
}

/* カードリンク */
.news-card__link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

/* サムネイル部分 */
.news-card__thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f1f1f1;
  /* height: 115px (375px) → 212px (1920px) */
  height: clamp(115px, calc(91.45px + 6.28vw), 212px);
  padding: 12px 18px;
  box-sizing: border-box;
  overflow: hidden;
}

/* サムネイル画像 */
.news-card__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}

/* 画像なしの場合 */
.news-card__no-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #fff;
  aspect-ratio: 327 / 239;
}

/* ロゴ画像 */
.news-card__logo {
  max-width: 80px;
  height: auto;
}

/* テキストコンテンツ部分 */
.news-card__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 0;
  border-top: 1px solid #c8102e;
  box-sizing: border-box;
}

/* タイトル */
.news-card__title {
  margin: 0;
  padding: 0 4px;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: #191a19;
  height: 44px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

/* 日付 */
.news-card__date {
  padding: 0 4px;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.48px;
  color: #191a19;
}

/* タグコンテナ */
.news-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0 4px;
}

/* タグ（pill型） */
.news-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  background-color: #f1f1f1;
  border-radius: 9999px;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.4px;
  color: #616161;
}

/* ホバー効果 */
.news-card__link:hover .news-card__image {
  transform: scale(1.05);
  transition: transform 0.3s ease;
}

.news-card__link:hover .news-card__title {
  color: #c8102e;
  transition: color 0.2s ease;
}

/* タブレット・スマホ: 2カラム */
@media (max-width: 838px) {
  .news-card-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* スマホ: タイトル3行表示 */
@media (max-width: 562px) {
  .news-card__title {
    height: 66px;
    -webkit-line-clamp: 3;
  }
}

/* ========================================
   News詳細ページ - 記事ナビゲーション
   Figmaデザイン準拠
======================================== */
.news-single-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
  margin-block: 60px 40px;
  padding: 12px 24px;
}

/* 矢印（シンプルな赤色テキスト） */
.news-single-nav__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  color: #E7141A;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.news-single-nav__arrow:hover:not(.news-single-nav__arrow--disabled) {
  opacity: 0.7;
}

/* 無効化状態（グレー） */
.news-single-nav__arrow--disabled {
  color: #CCCCCC;
  cursor: not-allowed;
  pointer-events: none;
}

/* 記事一覧へリンク（中央・シンプルな黒テキスト） */
.news-single-nav__list-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 8px;
  color: #191a19;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.news-single-nav__list-link:hover {
  opacity: 0.7;
}

/* スマホ版 */
@media screen and (max-width: 767px) {
  .news-single-nav {
    gap: 16px;
    margin-block: 40px 24px;
  }

  .news-single-nav__arrow {
    width: 40px;
    font-size: 12px;
  }

  .news-single-nav__list-link {
    font-size: 14px;
  }
}

/* ========================================
   共通コンポーネント: タイトルラベル
   ======================================== */
.property-data-title {
  position: relative;
  width: 100%;
  max-width: 498px;
  height: 40px;
  overflow: hidden;
}

.property-data-title-bg {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 100%;
  display: block;
  clip-path: inset(0);
}

.property-data-title-text {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, calc(0.129vw + 15.52px), 18px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 2.16px;
  color: #fff;
  white-space: nowrap;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .property-data-title {
    max-width: 262px;
    height: 36px;
  }

  .property-data-title-text {
    inset-inline-start: 16px;
    transform: translateY(-50%);
    font-size: 16px;
    letter-spacing: 1.92px;
  }
}

