@charset "UTF-8";
/********** 共通（構造・配色） ************/
#menu04 main {
  width: 100%;
  overflow: hidden;
}
#menu04 main img {
  display: block;
  max-width: none;
}
#menu04 main h2, #menu04 main h3, #menu04 main h4 {
  margin: 0;
  line-height: 1;
}
/* MV */
#menu04 .m4-mv {
  position: relative;
}
#menu04 .m4-mv .seo_bread_list {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  color: #fff;
}
#menu04 .m4-mv .seo_bread_list a {
  color: #fff;
}
#menu04 .m4-mv-photo {
  display: flex;
}
#menu04 .m4-mv-photo picture {
  width: 50%;
}
#menu04 .m4-mv-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#menu04 .m4-mv-catch {
  position: absolute;
  z-index: 2;
}
#menu04 .m4-mv-catch img {
  width: 100%;
}
#menu04 .m4-mv-ribbon {
  position: absolute;
  z-index: 2;
}
#menu04 .m4-ribbon-l, #menu04 .m4-ribbon-r {
  position: absolute;
  z-index: 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
#menu04 .m4-ribbon-l {
  background-image: url(../images/menu04/ribbon-l.png);
}
#menu04 .m4-ribbon-r {
  background-image: url(../images/menu04/ribbon-r.png);
}
#menu04 .m4-ribbon-text {
  position: relative;
  z-index: 1;
  height: 100%;
  box-sizing: border-box;
  background-color: #FFE701;
  color: #333333;
  font-weight: bold;
  letter-spacing: 0;
}
/* 特長 */
#menu04 .m4-points {
  display: flex;
  position: relative;
  z-index: 1;
}
#menu04 .m4-points li {
  position: relative;
  background-color: #fff;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
}
#menu04 .m4-points li img {
  position: absolute;
}
/* お悩み */
#menu04 .m4-worry {
  position: relative;
  background-color: #EAEFF1;
}
#menu04 .m4-worry-bubble {
  position: relative;
  margin: 0 auto;
  background-color: #0063A8;
  text-align: center;
}
#menu04 .m4-worry-bubble::after {
  content: "";
  position: absolute;
  top: 100%;
  border-style: solid;
  border-color: #0063A8 transparent transparent;
}
#menu04 .m4-worry-bubble h2 img {
  position: absolute;
}
#menu04 .m4-worry-bubble p {
  position: absolute;
  left: 0;
  width: 100%;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0;
}
#menu04 .m4-worry-col {
  position: relative;
}
#menu04 .m4-worry-photos img {
  object-fit: cover;
}
#menu04 .m4-worry-list {
  position: relative;
  z-index: 1;
}
#menu04 .m4-worry-list li {
  position: relative;
  background-color: #fff;
  box-sizing: border-box;
}
#menu04 .m4-worry-list li h4 img {
  position: absolute;
}
#menu04 .m4-worry-list li p {
  font-weight: 500;
  color: #333333;
  letter-spacing: 0.05em;
}
/* 解決 */
#menu04 .m4-sol {
  background-color: #EAEFF1;
}
#menu04 .m4-sol-box {
  position: relative;
  background-color: #E8944C;
}
#menu04 .m4-sol-ttl img {
  position: absolute;
}
#menu04 .m4-sol-lead {
  position: absolute;
  left: 0;
  width: 100%;
  color: #fff;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
}
#menu04 .m4-sol-list li {
  position: absolute;
  background-color: #fff;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.16);
}
#menu04 .m4-sol-list li h3 img {
  position: absolute;
}
#menu04 .m4-sol-list li p {
  position: absolute;
  font-weight: 500;
  color: #333333;
  letter-spacing: 0.05em;
}
/* 選ばれる理由 */
#menu04 .m4-reason {
  position: relative;
  background-image: url(../images/menu04/reason-bg.png);
  background-repeat: repeat;
}
#menu04 .m4-reason-head h2 img {
  position: absolute;
}
#menu04 .m4-reason-head p {
  position: absolute;
  left: 0;
  width: 100%;
  color: #333333;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0;
}
#menu04 .m4-reason-pt h3 img {
  position: absolute;
  z-index: 3;
}
#menu04 .m4-reason-pt figure {
  position: absolute;
  z-index: 1;
  margin: 0;
}
#menu04 .m4-reason-pt figure::before {
  content: "";
  position: absolute;
  z-index: -1;
  background-color: #EAEFF1;
}
#menu04 .m4-reason-pt figure img {
  width: 100%;
}
#menu04 .m4-reason-txt {
  position: absolute;
  z-index: 2;
  background-color: #fff;
  box-sizing: border-box;
}
#menu04 .m4-reason-txt p {
  font-weight: 500;
  color: #333333;
  letter-spacing: 0.05em;
}
#menu04 .m4-cta-ttl img {
  position: absolute;
}
#menu04 .m4-cta-btn {
  display: block;
  position: absolute;
  background-color: #0063A8;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s;
}
#menu04 .m4-cta-btn:hover {
  opacity: 0.8;
}
#menu04 .m4-cta-btn::after {
  content: "";
  position: absolute;
  left: 50%;
  border-style: solid;
  border-color: #fff transparent transparent;
}
#menu04 .m4-cta-lead {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
}
#menu04 .m4-cta-label img {
  position: absolute;
}
/* 施工事例 */
#menu04 .m4-works {
  position: relative;
  z-index: 0;
  background-color: #EAEFF1;
}
#menu04 .m4-works-ttl img {
  position: absolute;
}
#menu04 .m4-works-list li {
  position: absolute;
}
#menu04 .m4-works-list li::before {
  content: "";
  position: absolute;
  z-index: -1;
  background-color: #D0DDE2;
}
#menu04 .m4-works-list li img {
  width: 100%;
}
#menu04 .m4-works-btn a {
  display: block;
  position: absolute;
  box-sizing: border-box;
  background-color: #FFE700;
  color: #333333;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
  text-decoration: none;
  transition: opacity 0.3s;
}
#menu04 .m4-works-btn a:hover {
  opacity: 0.8;
}
#menu04 .m4-works-btn a::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  background-color: #333333;
}
#menu04 .m4-works-btn a::after {
  content: "";
  position: absolute;
  border-style: solid;
  border-color: transparent transparent transparent #FFE700;
}
/* 対応エリア */
#menu04 .m4-area {
  position: relative;
}
#menu04 .m4-area h2 img {
  position: absolute;
}
#menu04 .m4-area-lead {
  position: absolute;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  color: #333333;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
}
#menu04 .m4-area-table {
  position: absolute;
  margin: 0;
  background-color: #fff;
}
#menu04 .m4-area-table div {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  color: #333333;
  letter-spacing: 0;
}
#menu04 .m4-area-table div + div {
  border-top: 1px solid #707070;
}
#menu04 .m4-area-table dt {
  font-weight: bold;
}
#menu04 .m4-area-table dd {
  margin: 0;
  font-weight: 500;
}
#menu04 .m4-area-map {
  position: absolute;
  margin: 0;
}
#menu04 .m4-area-map img {
  width: 100%;
}
/* 電話・フォーム（フォーム部分は /contact と同じ見た目） */
#menu04 .m4-contact {
  position: relative;
  background-image: url(../images/menu04/reason-bg.png);
  background-repeat: repeat;
}
#menu04 .m4-tel img {
  position: absolute;
}
#menu04 .form-block > .form-Box {
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
}
#menu04 .form-block > .form-Box > .form-Box-inner {
  margin-left: auto;
  margin-right: auto;
}
#menu04 .form-block > .form-Box .form-table {
  border: none;
  border-collapse: separate;
}
#menu04 .form-block > .form-Box .form-table th, #menu04 .form-block > .form-Box .form-table td {
  border: none;
}
#menu04 .form-block > .form-Box .form-table th {
  position: relative;
  font-weight: bold;
  line-height: 1;
}
#menu04 .form-block > .form-Box .form-table th small {
  display: inline-block;
}
#menu04 .form-block > .form-Box .form-table tr:last-child td {
  border-bottom: none;
}
#menu04 .form-block > .form-Box .form-table .required::after {
  content: "必須";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  line-height: 1;
  background-color: #FF2100;
  letter-spacing: 0.05em;
}

/********** PC ************/
@media screen and (min-width: 768px), print {
  /* MV */
  #menu04 .m4-mv {
    height: 550px;
  }
  #menu04 .m4-mv-photo {
    height: 550px;
  }
  #menu04 .m4-mv-catch {
    top: 173.5px;
    left: 50%;
    width: 851px;
    margin-left: -426px;
  }
  #menu04 .m4-mv-ribbon {
    top: 424.5px;
    left: 50%;
    width: 936px;
    height: 203px;
    margin-left: -468px;
  }
  #menu04 .m4-ribbon-l {
    top: 71px;
    left: -132px;
    width: 216.5px;
    height: 175.5px;
  }
  #menu04 .m4-ribbon-r {
    top: 71px;
    right: -132px;
    width: 216.5px;
    height: 175px;
  }
  #menu04 .m4-ribbon-text {
    padding-top: 39px;
    font-size: 22px;
    line-height: 38px;
    text-align: center;
  }
  /* 特長 */
  #menu04 .m4-points {
    width: 1017px;
    margin: 222px 0 0 calc(50% - 518px);
  }
  #menu04 .m4-points li {
    width: 319px;
    height: 140px;
    margin-right: 30px;
  }
  #menu04 .m4-points li:last-child {
    margin-right: 0;
  }
  #menu04 .m4-points li img {
    top: -20.5px;
    left: 21px;
  }
  #menu04 .m4-points li:nth-child(1) img {
    width: 247px;
  }
  #menu04 .m4-points li:nth-child(2) img {
    width: 244px;
  }
  #menu04 .m4-points li:nth-child(3) img {
    width: 252.5px;
  }
  /* お悩み */
  #menu04 .m4-worry {
    margin-top: 101px;
    padding-bottom: 102px;
    background: linear-gradient(#fff 75px, #EAEFF1 75px);
  }
  #menu04 .m4-worry-bubble {
    width: 930px;
    height: 234px;
    border-radius: 117px;
  }
  #menu04 .m4-worry-bubble::after {
    left: 427.5px;
    border-width: 36px 30px 0;
  }
  #menu04 .m4-worry-bubble h2 img {
    top: 73px;
    left: 163.5px;
    width: 600.5px;
  }
  #menu04 .m4-worry-bubble p {
    top: 130.5px;
    font-size: 18px;
    line-height: 38px;
  }
  #menu04 .m4-worry-cols {
    display: flex;
    width: 1282px;
    margin: 71.5px 0 0 calc(50% - 640px);
  }
  #menu04 .m4-worry-col {
    height: 648.5px;
  }
  #menu04 .m4-worry-entrance {
    width: 615px;
    margin-right: 50px;
  }
  #menu04 .m4-worry-window {
    width: 617px;
  }
  #menu04 .m4-worry-col h3 img {
    position: absolute;
    top: 0;
  }
  #menu04 .m4-worry-entrance h3 img {
    left: 124px;
    width: 397.5px;
  }
  #menu04 .m4-worry-window h3 img {
    top: 0.5px;
    left: 133px;
    width: 362.5px;
  }
  #menu04 .m4-worry-photos {
    position: absolute;
    top: 81.5px;
    left: 0;
  }
  #menu04 .m4-worry-photos img {
    width: 346px;
    height: 242px;
  }
  #menu04 .m4-worry-list {
    position: absolute;
    top: 98.5px;
    left: 235px;
  }
  #menu04 .m4-worry-window .m4-worry-list {
    left: 237px;
  }
  #menu04 .m4-worry-list li {
    width: 380px;
    height: 170px;
    margin-bottom: 20px;
    padding: 79px 0 0 66px;
  }
  #menu04 .m4-worry-list li h4 img {
    top: 44px;
    left: 67px;
  }
  #menu04 .m4-worry-window .m4-worry-list li h4 img {
    left: 69px;
  }
  #menu04 .m4-worry-list li p {
    width: 249px;
    font-size: 16px;
    line-height: 32px;
  }
  #menu04 .m4-worry-entrance li:nth-child(1) h4 img {
    width: 206.5px;
  }
  #menu04 .m4-worry-entrance li:nth-child(2) h4 img {
    width: 181.5px;
  }
  #menu04 .m4-worry-entrance li:nth-child(3) h4 img {
    width: 181px;
  }
  #menu04 .m4-worry-window li:nth-child(1) h4 img {
    width: 207px;
  }
  #menu04 .m4-worry-window li:nth-child(2) h4 img {
    width: 157px;
  }
  #menu04 .m4-worry-window li:nth-child(3) h4 img {
    width: 183px;
  }
  /* 解決 */
  #menu04 .m4-sol {
    padding-bottom: 119px;
  }
  #menu04 .m4-sol-box {
    width: 1200px;
    height: 1108px;
    margin: 0 auto;
  }
  #menu04 .m4-sol-ttl img {
    top: 10.5px;
    left: 141.5px;
    width: 972.5px;
  }
  #menu04 .m4-sol-lead {
    top: 158.5px;
    font-size: 18px;
    line-height: 38px;
  }
  #menu04 .m4-sol-list li h3 img {
    top: -13.5px;
    left: 34px;
  }
  #menu04 .m4-sol-list li p {
    top: 106px;
    left: 84.5px;
    font-size: 16px;
    line-height: 32px;
  }
  #menu04 .m4-sol-item01 {
    top: 244px;
    left: 150px;
    width: 900px;
    height: 252px;
  }
  #menu04 .m4-sol-item01 h3 img {
    width: 190px;
  }
  #menu04 .m4-sol-item01 p {
    width: 731px;
  }
  #menu04 .m4-sol-item02, #menu04 .m4-sol-item03 {
    top: 532px;
    width: 430px;
    height: 450px;
  }
  #menu04 .m4-sol-item02 {
    left: 150px;
  }
  #menu04 .m4-sol-item03 {
    left: 620px;
  }
  #menu04 .m4-sol-item02 p, #menu04 .m4-sol-item03 p {
    width: 261px;
  }
  #menu04 .m4-sol-item02 h3 img {
    width: 154.5px;
  }
  #menu04 .m4-sol-item03 h3 img {
    width: 258px;
  }
  /* 選ばれる理由 */
  #menu04 .m4-reason {
    height: 3089px;
    background-size: 10px 10px;
  }
  #menu04 .m4-reason-head h2 img {
    top: 75px;
    left: 50%;
    width: 631px;
    margin-left: -288px;
  }
  #menu04 .m4-reason-head p {
    top: 223.5px;
    font-size: 18px;
    line-height: 38px;
  }
  #menu04 .m4-reason-pt h3 img {
    left: 50%;
    margin-left: -546px;
  }
  #menu04 .m4-reason-pt figure {
    left: 50%;
    width: 560px;
    margin-left: 37px;
  }
  #menu04 .m4-reason-pt figure::before {
    top: 21px;
    left: 21px;
    width: 100%;
    height: 100%;
  }
  #menu04 .m4-reason-txt {
    left: 50%;
    width: 660px;
    margin-left: -550px;
    padding: 59px 0 0 59px;
    box-shadow: 30px 30px 15px rgba(0, 0, 0, 0.15);
  }
  #menu04 .m4-reason-txt p {
    width: 540px;
    font-size: 16px;
    line-height: 32px;
  }
  #menu04 .m4-reason-pt01 h3 img {
    top: 300px;
    width: 501.5px;
  }
  #menu04 .m4-reason-pt01 figure {
    top: 311px;
  }
  #menu04 .m4-reason-pt01 .m4-reason-txt {
    top: 559px;
    min-height: 240px;
  }
  #menu04 .m4-reason-pt02 h3 img {
    top: 879px;
    width: 459.5px;
  }
  #menu04 .m4-reason-pt02 figure {
    top: 890px;
  }
  #menu04 .m4-reason-pt02 .m4-reason-txt {
    top: 1138px;
    min-height: 430px;
  }
  #menu04 .m4-reason-pt03 h3 img {
    top: 1671px;
    width: 440px;
  }
  #menu04 .m4-reason-pt03 figure {
    top: 1682px;
  }
  #menu04 .m4-reason-pt03 .m4-reason-txt {
    top: 1930px;
    min-height: 240px;
  }
  #menu04 .m4-reason-pt04 h3 img {
    top: 2250px;
    width: 544.5px;
  }
  #menu04 .m4-reason-pt04 figure {
    top: 2261px;
  }
  #menu04 .m4-reason-pt04 .m4-reason-txt {
    top: 2509px;
    min-height: 180px;
  }
  #menu04 .m4-cta-ttl img {
    top: 2777px;
    left: 50%;
    width: 502px;
    margin-left: -251px;
  }
  #menu04 .m4-cta-btn {
    top: 2828px;
    left: 50%;
    width: 660px;
    height: 170px;
    margin-left: -330px;
  }
  #menu04 .m4-cta-lead {
    top: 38px;
    font-size: 16px;
    line-height: 32px;
  }
  #menu04 .m4-cta-label img {
    top: 74.5px;
    left: 164px;
    width: 328px;
  }
  #menu04 .m4-cta-btn::after {
    top: 126px;
    margin-left: -8.5px;
    border-width: 16px 8.5px 0;
  }
  /* 施工事例 */
  #menu04 .m4-works {
    height: 1286px;
  }
  #menu04 .m4-works-ttl img {
    top: 84px;
    left: 50%;
    width: 235.5px;
    margin-left: -119.5px;
  }
  #menu04 .m4-works-list li {
    left: 50%;
    width: 550px;
    height: 322px;
  }
  #menu04 .m4-works-list li::before {
    top: 17px;
    left: 12px;
    width: 557px;
    height: 325px;
  }
  #menu04 .m4-works-list li:nth-child(1), #menu04 .m4-works-list li:nth-child(3) {
    margin-left: -600px;
  }
  #menu04 .m4-works-list li:nth-child(2), #menu04 .m4-works-list li:nth-child(4) {
    margin-left: 21px;
  }
  #menu04 .m4-works-list li:nth-child(1), #menu04 .m4-works-list li:nth-child(2) {
    top: 237px;
  }
  #menu04 .m4-works-list li:nth-child(3), #menu04 .m4-works-list li:nth-child(4) {
    top: 655px;
  }
  #menu04 .m4-works-btn a {
    top: 1085px;
    left: 50%;
    width: 660px;
    height: 100px;
    margin-left: -330px;
    padding: 35px 54px 0 0;
    font-size: 28px;
    line-height: 38px;
  }
  #menu04 .m4-works-btn a::before {
    top: 34px;
    left: 575px;
    width: 37px;
    height: 37px;
  }
  #menu04 .m4-works-btn a::after {
    top: 43px;
    left: 588px;
    border-width: 9px 0 9px 16px;
  }
  /* 対応エリア */
  #menu04 .m4-area {
    height: 622px;
  }
  #menu04 .m4-area h2 img {
    top: 100px;
    left: 50%;
    width: 245px;
    margin-left: -124px;
  }
  #menu04 .m4-area-lead {
    top: 165.5px;
    font-size: 18px;
    line-height: 38px;
  }
  #menu04 .m4-area-table {
    top: 247px;
    left: 50%;
    width: 440px;
    height: 337px;
    margin-left: -485px;
  }
  #menu04 .m4-area-table div {
    padding-left: 30px;
    font-size: 18px;
    line-height: 38px;
  }
  #menu04 .m4-area-table div:nth-child(1) {
    height: 116px;
  }
  #menu04 .m4-area-table div:nth-child(2) {
    height: 110px;
  }
  #menu04 .m4-area-table div:nth-child(3) {
    height: 111px;
  }
  #menu04 .m4-area-table dt {
    width: 156px;
  }
  #menu04 .m4-area-map {
    top: 242px;
    left: 50%;
    width: 420px;
    margin-left: 64px;
  }
  /* 電話・フォーム */
  #menu04 .m4-contact {
    padding: 368px 0 137px;
    background-size: 10px 10px;
  }
  /* 確認画面：電話番号を隠した分の余白を詰め、フォームを上に表示する */
  #menu04.pfwform-system-confirm .m4-contact {
    padding-top: 56px;
  }
  #menu04 .m4-tel-ttl img {
    top: 75.5px;
    left: 50%;
    width: 501px;
    margin-left: -250.5px;
  }
  #menu04 .m4-tel-num img {
    top: 212px;
    left: 50%;
    width: 637.5px;
    margin-left: -320.5px;
  }
  #menu04 .form-block > .form-Box {
    max-width: 1320px;
    padding: 87px 0 109px;
  }
  #menu04 .form-Box .form-block-title {
    margin-bottom: 23px;
  }
  #menu04 .form-block > .form-Box > .form-Box-inner {
    max-width: 908px;
  }
  #menu04 .form-block > .form-Box .form-table th {
    border: 4px solid white;
    border-right-width: 8px;
    font-size: 18px;
  }
  #menu04 .form-block > .form-Box .form-table th small {
    margin-top: 15px;
    font-size: 0.875rem;
  }
  #menu04 .form-block > .form-Box .form-table td {
    border-bottom: 1px solid #333333;
  }
  #menu04 .form-block > .form-Box .form-table .required::after {
    width: 42px;
    height: 21px;
    margin-left: 10px;
    transform: translateY(-2px);
    font-size: 12px;
    border-radius: 3px;
  }
}

/********** SP ************/
@media screen and (max-width: 767px) {
  /* MV */
  #menu04 .m4-mv {
    height: 91.546vw;
  }
  #menu04 .m4-mv-photo {
    height: 91.546vw;
  }
  #menu04 .m4-mv-catch {
    top: 33.333vw;
    left: 7.729vw;
    width: 85.024vw;
  }
  #menu04 .m4-mv-ribbon {
    top: 64.976vw;
    left: 7.971vw;
    width: 83.575vw;
    height: 55.556vw;
  }
  #menu04 .m4-ribbon-l {
    top: 17.029vw;
    left: -6.522vw;
    width: 17.512vw;
    height: 42.15vw;
  }
  #menu04 .m4-ribbon-r {
    top: 17.15vw;
    right: -6.763vw;
    width: 17.512vw;
    height: 41.908vw;
  }
  #menu04 .m4-ribbon-text {
    padding: 7.246vw 4.831vw 0 7.005vw;
    font-size: 4.106vw;
    line-height: 7.246vw;
  }
  /* 特長 */
  #menu04 .m4-points {
    flex-wrap: wrap;
    justify-content: center;
    width: 91.787vw;
    margin: 42.995vw auto 0;
  }
  #menu04 .m4-points li {
    width: 43.478vw;
    height: 31.401vw;
  }
  #menu04 .m4-points li:nth-child(1) {
    margin-right: 4.831vw;
  }
  #menu04 .m4-points li:nth-child(3) {
    margin-top: 5.797vw;
  }
  #menu04 .m4-points li img {
    top: -3.382vw;
    left: 3.382vw;
  }
  #menu04 .m4-points li:nth-child(1) img {
    width: 28.502vw;
  }
  #menu04 .m4-points li:nth-child(2) img {
    width: 36.232vw;
  }
  #menu04 .m4-points li:nth-child(3) img {
    width: 36.473vw;
  }
  /* お悩み */
  #menu04 .m4-worry {
    margin-top: 4.831vw;
    padding-bottom: 9.42vw;
    background: linear-gradient(#fff 3.14vw, #EAEFF1 3.14vw);
  }
  #menu04 .m4-worry-bubble {
    width: 91.787vw;
    height: 38.406vw;
    border-radius: 19.203vw;
  }
  #menu04 .m4-worry-bubble::after {
    left: 42.512vw;
    border-width: 3.623vw 3.382vw 0;
  }
  #menu04 .m4-worry-bubble h2 img {
    top: 9.3vw;
    left: 7.971vw;
    width: 75.725vw;
  }
  #menu04 .m4-worry-bubble p {
    top: 19.324vw;
    font-size: 3.623vw;
    line-height: 6.28vw;
  }
  #menu04 .m4-worry-col {
    display: flex;
    flex-direction: column;
    padding-top: 9.903vw;
  }
  #menu04 .m4-worry-col h3 {
    order: 1;
  }
  #menu04 .m4-worry-list {
    order: 2;
    width: 86.957vw;
    margin: 5.556vw 0 0 6.522vw;
  }
  #menu04 .m4-worry-photos {
    order: 3;
    display: flex;
    margin-top: -8.213vw;
  }
  #menu04 .m4-worry-entrance h3 img {
    margin-left: 18.599vw;
    width: 65.942vw;
  }
  #menu04 .m4-worry-window h3 img {
    margin-left: 21.498vw;
    width: 60.145vw;
  }
  #menu04 .m4-worry-photos img {
    width: 50vw;
    height: 39.372vw;
  }
  #menu04 .m4-worry-list li {
    height: 33.816vw;
    margin-bottom: 2.415vw;
    padding: 15.99vw 0 0 14.348vw;
  }
  #menu04 .m4-worry-list li:last-child {
    margin-bottom: 0;
  }
  #menu04 .m4-worry-list li h4 img {
    top: 6.884vw;
    left: 14.614vw;
  }
  #menu04 .m4-worry-list li p {
    width: 58.24vw;
    font-size: 3.623vw;
    line-height: 7.246vw;
  }
  #menu04 .m4-worry-entrance li:nth-child(1) h4 img {
    width: 47.947vw;
  }
  #menu04 .m4-worry-entrance li:nth-child(2) h4 img {
    width: 42.029vw;
  }
  #menu04 .m4-worry-entrance li:nth-child(3) h4 img {
    width: 42.029vw;
  }
  #menu04 .m4-worry-window li:nth-child(1) h4 img {
    width: 48.068vw;
  }
  #menu04 .m4-worry-window li:nth-child(2) h4 img {
    width: 36.473vw;
  }
  #menu04 .m4-worry-window li:nth-child(3) h4 img {
    width: 42.391vw;
  }
  /* 解決 */
  #menu04 .m4-sol {
    background-color: #E8944C;
  }
  #menu04 .m4-sol-box {
    height: 314.01vw;
  }
  #menu04 .m4-sol-ttl img {
    top: 8.816vw;
    left: 14.01vw;
    width: 85.749vw;
  }
  #menu04 .m4-sol-list li {
    left: 4.106vw;
    width: 91.787vw;
  }
  #menu04 .m4-sol-list li h3 img {
    top: -3.261vw;
  }
  #menu04 .m4-sol-list li p {
    top: 26.57vw;
    left: 6.763vw;
    width: 78.261vw;
    font-size: 3.623vw;
    line-height: 7.246vw;
  }
  #menu04 .m4-sol-item01 {
    top: 41.304vw;
    height: 84.541vw;
  }
  #menu04 .m4-sol-item02 {
    top: 134.058vw;
    height: 77.295vw;
  }
  #menu04 .m4-sol-item03 {
    top: 219.565vw;
    height: 84.541vw;
  }
  #menu04 .m4-sol-item01 h3 img {
    left: 7.367vw;
    width: 28.261vw;
  }
  #menu04 .m4-sol-item02 h3 img {
    left: 6.884vw;
    width: 21.377vw;
  }
  #menu04 .m4-sol-item03 h3 img {
    left: 7.246vw;
    width: 42.512vw;
  }
  /* 選ばれる理由 */
  #menu04 .m4-reason {
    height: 886.957vw;
    background-size: 3.492vw 3.492vw;
  }
  #menu04 .m4-reason-head h2 img {
    top: 5.556vw;
    left: 21.135vw;
    width: 72.464vw;
  }
  #menu04 .m4-reason-pt h3 img {
    left: 5.556vw;
    width: 84.058vw;
  }
  #menu04 .m4-reason-pt figure {
    left: 0;
    width: 100vw;
  }
  #menu04 .m4-reason-pt figure::before {
    display: none;
  }
  #menu04 .m4-reason-txt {
    left: 5.797vw;
    width: 88.406vw;
    padding: 9.42vw 0 0 9.662vw;
    box-shadow: 3.623vw 3.623vw 1.812vw rgba(0, 0, 0, 0.15);
  }
  #menu04 .m4-reason-pt::before {
    content: "";
    position: absolute;
    z-index: 1;
    left: 19.565vw;
    width: 80.435vw;
    background-color: #EAEFF1;
  }
  #menu04 .m4-reason-pt01::before {
    top: 148.068vw;
    height: 65.217vw;
  }
  #menu04 .m4-reason-pt02::before {
    top: 329.469vw;
    height: 125.604vw;
  }
  #menu04 .m4-reason-pt03::before {
    top: 571.498vw;
    height: 65.217vw;
  }
  #menu04 .m4-reason-pt04::before {
    top: 752.899vw;
    height: 45.894vw;
  }
  #menu04 .m4-reason-txt p {
    position: relative;
    width: 69.082vw;
    font-size: 3.623vw;
    line-height: 7.246vw;
  }
  #menu04 .m4-reason-pt01 h3 img {
    top: 39.251vw;
  }
  #menu04 .m4-reason-pt01 figure {
    top: 84.3vw;
  }
  #menu04 .m4-reason-pt01 .m4-reason-txt {
    top: 148.068vw;
    min-height: 57.971vw;
  }
  #menu04 .m4-reason-pt02 h3 img {
    top: 220.773vw;
  }
  #menu04 .m4-reason-pt02 figure {
    top: 265.7vw;
  }
  #menu04 .m4-reason-pt02 .m4-reason-txt {
    top: 329.469vw;
    min-height: 118.357vw;
  }
  #menu04 .m4-reason-pt03 h3 img {
    top: 462.56vw;
  }
  #menu04 .m4-reason-pt03 figure {
    top: 507.729vw;
  }
  #menu04 .m4-reason-pt03 .m4-reason-txt {
    top: 571.498vw;
    min-height: 57.971vw;
  }
  #menu04 .m4-reason-pt04 h3 img {
    top: 644.082vw;
    width: 90.459vw;
  }
  #menu04 .m4-reason-pt04 figure {
    top: 689.13vw;
  }
  #menu04 .m4-reason-pt04 .m4-reason-txt {
    top: 752.899vw;
    min-height: 38.647vw;
  }
  #menu04 .m4-cta-ttl img {
    top: 809.3vw;
    left: 16.546vw;
    width: 67.391vw;
  }
  #menu04 .m4-cta-btn {
    top: 827.778vw;
    left: 4.106vw;
    width: 91.787vw;
    height: 44.928vw;
  }
  #menu04 .m4-cta-lead {
    top: 6.039vw;
    font-size: 3.865vw;
    line-height: 7.246vw;
  }
  #menu04 .m4-cta-label img {
    top: 22.464vw;
    left: 10.145vw;
    width: 70.652vw;
  }
  #menu04 .m4-cta-btn::after {
    top: 33.575vw;
    margin-left: -1.932vw;
    border-width: 3.382vw 1.932vw 0;
  }
  /* 施工事例 */
  #menu04 .m4-works {
    height: 309.179vw;
  }
  #menu04 .m4-works-ttl img {
    top: 6.884vw;
    left: 30.797vw;
    width: 37.923vw;
  }
  #menu04 .m4-works-list li {
    left: 4.106vw;
    width: 91.787vw;
    height: 53.623vw;
  }
  #menu04 .m4-works-list li::before {
    top: 2.657vw;
    left: 1.932vw;
    width: 93.961vw;
    height: 54.348vw;
  }
  #menu04 .m4-works-list li:nth-child(1) {
    top: 30.918vw;
  }
  #menu04 .m4-works-list li:nth-child(2) {
    top: 91.787vw;
  }
  #menu04 .m4-works-list li:nth-child(3) {
    top: 152.899vw;
  }
  #menu04 .m4-works-list li:nth-child(4) {
    top: 215.7vw;
  }
  #menu04 .m4-works-btn a {
    top: 280.435vw;
    left: 4.106vw;
    width: 93.237vw;
    height: 18.357vw;
    padding: 4.795vw 12.56vw 0 0;
    font-size: 4.831vw;
    line-height: 9.179vw;
  }
  #menu04 .m4-works-btn a::before {
    top: 5.556vw;
    left: 82.609vw;
    width: 6.763vw;
    height: 6.763vw;
  }
  #menu04 .m4-works-btn a::after {
    top: 7.246vw;
    left: 85.024vw;
    border-width: 1.57vw 0 1.57vw 2.899vw;
  }
  /* 対応エリア */
  #menu04 .m4-area {
    height: 182.367vw;
  }
  #menu04 .m4-area h2 img {
    top: 8.937vw;
    left: 26.087vw;
    width: 47.222vw;
  }
  #menu04 .m4-area-lead {
    top: 21.981vw;
    padding-left: 2.899vw;
    font-size: 3.865vw;
    line-height: 6.763vw;
  }
  #menu04 .m4-area-table {
    top: 38.164vw;
    left: 4.106vw;
    width: 91.787vw;
    height: 65.217vw;
  }
  #menu04 .m4-area-table div {
    padding-left: 7.246vw;
    font-size: 3.865vw;
    line-height: 9.179vw;
  }
  #menu04 .m4-area-table div:nth-child(1) {
    height: 21.256vw;
  }
  #menu04 .m4-area-table div:nth-child(2) {
    height: 21.739vw;
  }
  #menu04 .m4-area-table div:nth-child(3) {
    height: 22.222vw;
  }
  #menu04 .m4-area-table dt {
    width: 32.367vw;
  }
  #menu04 .m4-area-map {
    top: 105.556vw;
    left: 15.217vw;
    width: 72.464vw;
  }
  /* よくある質問 */
  #menu04 .m4-faq.top-faq-sec {
    padding: 0 0 5vw;
  }
  /* 電話・フォーム */
  #menu04 .form-Box .form-block-title {
    margin-bottom: 11.111vw;
  }
  #menu04 .m4-contact {
    padding: 61.111vw 0 11.594vw;
    background-size: 3.492vw 3.492vw;
  }
  /* 確認画面：電話番号を隠した分の余白を詰め、フォームを上に表示する */
  #menu04.pfwform-system-confirm .m4-contact {
    padding-top: 4.831vw;
  }
  #menu04 .m4-tel-ttl img {
    top: 7.246vw;
    left: 3.623vw;
    width: 92.754vw;
  }
  #menu04 .m4-tel-num img {
    top: 33.213vw;
    left: 4.106vw;
    width: 91.063vw;
  }
  #menu04 .form-block > .form-Box {
    width: 91.787vw;
    padding: 11.594vw 0;
  }
  #menu04 .form-block > .form-Box > .form-Box-inner {
    max-width: 86.957vw;
  }
  #menu04 .form-block > .form-Box .form-table th {
    font-size: 3.865vw;
  }
  #menu04 .form-block > .form-Box .form-table th small {
    margin-top: 3.623vw;
    font-size: 0.875em;
  }
  #menu04 .form-block > .form-Box .form-table td {
    border-bottom: 0.242vw solid #333333;
  }
  #menu04 .form-block > .form-Box .form-table tr {
    display: block;
    margin-top: 4.831vw;
  }
  #menu04 .form-block > .form-Box .form-table tr:first-child {
    margin-top: 0;
  }
  #menu04 .form-block > .form-Box .form-table .required::after {
    width: 10.145vw;
    height: 5.072vw;
    margin-left: 2.415vw;
    transform: translateY(-0.483vw);
    font-size: 2.899vw;
    border-radius: 0.725vw;
  }
  #menu04 .form-block > .form-Box .form-table .form-check-label {
    display: inline-block;
    margin-right: 1em;
    margin-left: 0;
  }
  #menu04 .form-block > .form-Box .form-table .form-check-label + .form-check-label {
    margin-left: 0;
  }
}
