@charset "UTF-8";

@font-face {
  font-family: "RodinPro-B";
  src: url("/fonts/fot-rodinpro/FOT-RodinPro-B.woff2") format("woff2"),
       url("/fonts/fot-rodinpro/FOT-RodinPro-B.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "RodinPro-DB";
  src: url("/fonts/fot-rodinpro/FOT-RodinPro-DB.woff2") format("woff2"),
       url("/fonts/fot-rodinpro/FOT-RodinPro-DB.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "RodinPro-EB";
  src: url("/fonts/fot-rodinpro/FOT-RodinPro-EB.woff2") format("woff2"),
       url("/fonts/fot-rodinpro/FOT-RodinPro-EB.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.font-rodin-b {
  font-family: "RodinPro-B", sans-serif;
}

.font-rodin-eb {
  font-family: "RodinPro-EB", sans-serif;
}

.font-rodin-db {
  font-family: "RodinPro-DB", sans-serif;
}
.container-budget {
  background: url(/img/reform/contents/budget/bg_budget.png) repeat 0 0;
  color: #000;
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
  .image-responsive {
    max-width: 100%;
    margin: 0 auto;
    display: block;
    height: auto;
  }
  .container-budget {
    padding-bottom: 54px;
    background-size: 15px auto;
  }
}
@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .sp-only {
    display: none !important;
  }
  .container-budget {
    padding-bottom: 114px;
  }
  .glb-pageWrapper {
    min-width: 1200px;
  }
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .inner-budget-top {
    padding: 38px 8px 33px 7px;
    background: url(/img/reform/contents/budget/bg_budget_top_sp.jpg) no-repeat center 0/cover;
  }
  .inner-budget-top .budget-top-title {
    position: relative;
    right: 3px;
    max-width: 360px;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .inner-budget-top {
    background: url(/img/reform/contents/budget/bg_budget_top.jpg) no-repeat center 0/cover;
    padding: 100px 0 50px;
  }
  .wrapper-top-content {
    min-width: 1046px;
    position: relative;
    display: flex;
    justify-content: center;
  }
  .budget-top-title {
    width: 648px;
    position: relative;
    left: 33px;
    z-index: 1;
  }
  .image-budget-top {
    width: 485px;
    position: relative;
    right: 54px;
    top: 1px;
  }
}

.section-budget-estimate {
  background-color: #fff;
}
.section-budget-estimate .budget-estimate-title {
  position: relative;
}
.budget-list-estimate {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.budget-list-estimate img {
  display: block;
  height: auto;
  width: 100%;
}
.budget-list-estimate li a{
  text-decoration: none;
  color: #000;
  display: block;
  position: relative;
}
.budget-list-estimate li a::after {
  content: "";
  background: url(/img/reform/contents/budget/img_estimate_click.png) no-repeat center bottom;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 50%;
}
.list-estimate-title {
  margin-bottom: 1px;
  color: #000;
}
.image-estimate-service {
  border-radius: 50%;
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  .section-budget-estimate {
    box-shadow: 0 4px 4px rgba(0,0,0,.12);
  }
  .section-budget-estimate .budget-estimate-title {
    max-width: 302px;
    height: auto;
    margin: 0 auto;
    bottom: 17px;
  }
  .budget-list-estimate {
    max-width: 286px;
    margin: 4px auto 0;
    padding-bottom: 13px;
    justify-content: center;
  }
  .budget-list-estimate li{
    text-align: center;
    width: 28%;
    margin-bottom: 10px;
  }
  .budget-list-estimate li:nth-child(2){
    margin: 0 21px 5px;
  }
  .budget-list-estimate li:nth-child(4){
    margin-right: 21px;
  }
  .list-estimate-title {
    font-size: 1.2rem;
    letter-spacing: .1em;
  }
  .budget-list-estimate li a {
    padding-bottom: 23px;
  }
  .budget-list-estimate li a::after {
    width: 34px;
    height: 18px;
    margin-left: -17px;
    background-image: url(/img/reform/contents/budget/img_estimate_click_sp.png);
    background-size: 100% auto;
  }
}
@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .section-budget-estimate {
    padding: 10px 0 12px;
    box-shadow: 0 5px 9px rgba(0,0,0,.14);
  }
  .section-budget-estimate .budget-estimate-title {
    text-align: center;
    width: 524px;
    margin: -37px auto 17px;
  }
  .budget-list-estimate {
    width: 855px;
    margin: 0 auto;
  }
  .budget-list-estimate li{
    text-align: center;
    width: 136px;
    margin: 0 17.5px 10px;
  }
  .list-estimate-title {
    letter-spacing: .2em;
    font-size: 1.6rem;
  }
  .budget-list-estimate li a {
    padding-bottom: 38px;
  }
  .budget-list-estimate li a::after {
    width: 49px;
    height: 29px;
    margin-left: -24px;
  }
}

.wrapper-budget-begin {
  background-color: #fff;
}
.floating-begin {
  position: fixed;
  z-index: 100010;
}
.floating-begin a {
  display: block;
}
.budget-begin-title {
  position: relative;
  text-align: center;
  letter-spacing: 0.007em;
  color: #000;
}
.budget-begin-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: url(/img/reform/contents/budget/img_begin_title.png) no-repeat center center/auto 100%;
}
.budget-begin-title small {
  font-size: .8em;
}
.step-point-title {
  position: relative;
  text-align: center;
  color: #fff;
  background-color: #005bac;
  letter-spacing: .05em;
}
.step-point-title::before {
  content: "";
  background: no-repeat center center/100% auto;
  position: absolute;
}
.step-point-title .is-cost-margin {
  margin: 0 -.2em 0 -.5em;
}
.wrapper-step-content .step-image img {
  width: 100%;
  height: auto;
}
.step-content-text {
  color: #000;
}
.wrapper-banner-big {
  display: block;
}
.common-mark {
  background: linear-gradient(180deg,rgba(255,255,255,0) 68%, #ffff32 55%);
  color: #005bac;
}

@media screen and (min-width: 0px) and (max-width: 768px) {
  .glb-footer {
    padding-bottom: 120px;
  }
  .floating-begin {
    width: 100%;
    left: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .26s ease, visibility .26s ease;
  }
  .floating-begin a {
    background: #ff8232;
    text-align: center;
  }
  .floating-begin img {
    margin: -18px auto 0;
    height: auto;
    position: relative;
    left: 3px;
  }
  .floating-begin.is-show {
    opacity: 1;
    visibility: visible;
  }
  .section-budget-begin {
    padding: 56px 30.5px 140px;
  }
  .wrapper-budget-begin {
    max-width: 314px;
    margin: 0 auto;
    padding: 38px 18px 31px;
    border: 3px solid #005bac;
    border-radius: 28px;
  }
  .wrapper-budget-begin .wrapper-banner-big {
    padding: 0 1px;
  }
  .budget-begin-title {
    margin: 0 -5px 37px;
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.45;
    padding-top: 52px;
  }
  .budget-begin-title::before {
    height: 34px;
    margin-left: 5px;
  }
  .step-title:not(:first-child) {
    margin-bottom: 38px;
  }
  .step-point-title {
    margin-bottom: 27px;
    padding: 6px 28px 6px 42px;
    font-size: 1.6rem;
    line-height: 1.1875;
    border-radius: 25px;
    font-weight: normal;
  }
  .step-point-title:before {
    width: 53px;
    height: 50px;
    left: -1px;
    top: -16px;
  }
  .is-cost-market::before {
    background-image: url(/img/reform/contents/budget/icn_begin_step001_sp.png);
  }
  .is-point-construction::before {
    background-image: url(/img/reform/contents/budget/icn_begin_step002_sp.png);
  }
  .wrapper-begin-step {
    margin-bottom: 23px;
  }
  .wrapper-begin-step li:not(:last-child) {
    margin-bottom: 40px
  }
  .wrapper-step-content {
    padding: 0 5px;
  }
  .step-image {
    margin-bottom: 19px;
    text-align: center;
  }
  .step-content-text {
    font-size: 1.4rem;
    letter-spacing: 0.09em;
    line-height: calc(23/14);
  }
  .image-banner-big {
    box-shadow: 2px 3px 2px rgba(0,0,0,.28);
  }
}

@media screen and (min-width:0px) and (max-width:374px) {
  .glb-footer {
    padding-bottom: 100px;
  }
  .budget-begin-title {
    font-size: 1.7rem;
  }
  .step-point-title {
    font-size: 1.2rem;
    padding-left: 35px;
    padding-right: 7px;
  }
  .step-point-title:before {
    left: -14px;
  }
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .floating-begin {
    width: 140px;
    right: -170px;
    top: 160px;
    transition: right .3s
  }
  .floating-begin.is-show {
    right: 10px;
  }
  .section-budget-begin {
    padding: 127px 0 308px;
  }
  .section-budget-begin .wrapper-budget-begin {
    width: 858px;
    margin: 0 auto;
  }
  .wrapper-budget-begin {
    padding: 71px 60px 57px;
    border: 7px solid #005bac;
    border-radius: 55px;
  }
  .budget-begin-title {
    margin-bottom: 48px;
    font-size: 3.9rem;
    line-height: 1.8462;
    padding-top: 86px;
  }
  .budget-begin-title::before {
    height: 68px;
    margin-left: 12px;
  }
  .wrapper-begin-step {
    margin-bottom: 62px;
  }
  .wrapper-begin-step li:not(:last-child) {
    margin-bottom: 80px
  }
  .step-point-title {
    margin-bottom: 48px;
    padding: 14px 34px 15px 55px;
    border-radius: 50px;
    font-size: 2.7rem;
    line-height: 1.5;
  }
  .is-safari .step-point-title {
    letter-spacing: 0;
    padding-left: 62px;
    padding-right: 25px;
  }
  .step-point-title:before {
    width: 88px;
    height: 83px;
    left: -22px;
    top: -33px;
  }
  .is-cost-market::before {
    background-image: url(/img/reform/contents/budget/icn_begin_step001.png);
  }
  .is-point-construction::before {
    background-image: url(/img/reform/contents/budget/icn_begin_step002.png);
    left: -10px;
    top: -27px;
  }
  .wrapper-step-content {
    padding: 0 4px 0 19px;
    display: flex;
    flex-wrap: wrap;
  }
  .step-content-text {
    width: 346px;
    margin-right: 32px;
    font-size: 2rem;
    letter-spacing: .015em;
    line-height: calc(40/20);
    order: 1;
  }
  .step-image {
    width: 322px;
    padding-top: 4px;
    order: 2;
  }
  .wrapper-budget-begin .wrapper-banner-big {
    margin: 0 -13px;
  }
  .image-banner-big {
    box-shadow: 4px 5px 5px rgba(0,0,0,.3);
  }
}

.budget-introduction-title {
  position: relative;
  text-align: center;
  color: #000;
}
.budget-introduction-title {
  letter-spacing: .25em;
}
.budget-introduction-title::before {
  content: "";
  position: absolute;
  background: no-repeat center center;
}
.introduction-content-top {
  text-align: center;
}
.content-top-text {
  position: relative;
}
.text-box {
  border: 1px solid;
  background-color: #fff;
  color: #005bac;
}
.introduction-content-second {
  position: relative;
}
.introduction-content-second::before {
  content: "";
  position: absolute;
  background: no-repeat center center/100% auto;
  left: 0;
  top: 0;
}
.content-second {
  text-align: center;
}
.content-second-day {
  color: #005bac;
}
.content-second-day .is-text {
  display: inline-block;
  font-weight: bold;
  background: no-repeat center center;
}
.wrapper-introduction-step {
  counter-reset: list-number;
}
.wrapper-introduction-step li{
  border: 3px solid #005bac;
  background-color: #a6c6e2;
  counter-increment: list-number;
}
.wrapper-introduction-step li:before {
  content: '';
  position: absolute;
  text-align: center;
  color: #fff;
  background-color: #005bac;
  line-height: 1;
  content: counter(list-number);
  font-family: "RodinPro-B", sans-serif
}
.introduction-step-title {
  text-align: center;
  color: #000;
}
.wrapper-introduction-step li span {
  letter-spacing: .01em;
}
.wrapper-introduction-cost {
  background: url(/img/reform/contents/budget/bg_introduction_cost001.png) no-repeat 0 0/100% 100%;
}
.cost-title {
  position: relative;
  text-align: center;
  background-color: #005bac;
  letter-spacing: .1em;
  color: #fff;
}
.cost-title::before {
  content: "";
  background: url(/img/reform/contents/budget/icn_introduction_cost001.png) no-repeat center center;
  position: absolute;
}
.cost-text {
  text-align: center;
  letter-spacing: .035em;
}
.list-banner-small li a {
  display: block;
}
.image-banner-small img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 0px) and (max-width: 768px) {
  .budget-introduction-title {
    font-size: 1.3rem;
    margin-bottom: 7px;
  }
  .budget-introduction-title::before {
    background-image: url(/img/reform/contents/budget/img_introduction_title001_sp.png);
    background-size: auto 100%;
    width: 100%;
    height: 30px;
    top: -32px;
    left: 0;
  }
  .wrapper-introduction-content {
    max-width: 318px;
    margin: 0 auto;
  }
  .image-content-top {
    margin-bottom: 20px;
  }
  .content-top-text {
    font-size: 1.625rem;
    line-height: 1.6;
    letter-spacing: .05em;
    margin: 0 -10px 21px;
  }
  .text-box {
    padding: 1px 5px;
    margin: 0 4px;
  }
  .introduction-content-second {
    margin-bottom: 22px;
  }
  .introduction-content-second::before {
    background-image: url(/img/reform/contents/budget/icn_introduction_content001_sp.png);
    width: 73px;
    height: 68px;
    margin: -12px 0 0 6px;
  }
  .content-second {
    font-size: 2.665rem;
    letter-spacing: .1em;
    line-height: 1;
    padding-top: 10px;
    max-width: 190px;
    margin: 0 auto 4px;
  }
  .content-second span {
    font-size: 1.69rem;
    letter-spacing: 0.09em;
    margin-top: 5px;
    display: block;
  }
  .content-second-day {
    font-size: 5.2rem;
    line-height: 1;
    text-align: center;
  }
  .content-second-day span {
    font-size: 7rem;
    position: relative;
    top: 3px;
    left: -4px;
    margin: 0 2px 0 7px;
  }
  .content-second-day .is-text {
    margin-left: 10px;
    position: relative;
    left: -4px;
    top: -13px;
    width: 44px;
    height: 14px;
    background-image: url(/img/reform/contents/budget/icn_text_sp.png);
  }
  .wrapper-introduction-step {
    border-top: 2px solid #005bac;
    margin: 0 auto 57px;
  }
  .wrapper-introduction-step li {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 50px;
    border-width: 2px;
    border-top: none;
  }
  .wrapper-introduction-step li:last-child:before {
    border-bottom: none;
  }
  .wrapper-introduction-step li:before {
    width: 50px;
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 0;
    top: 0;
    bottom: -2px;
    border-bottom: 2px solid rgba(255,255,255,.5);
  }
  .wrapper-introduction-step .introduction-step-image {
    width: 110px;
  }
  .wrapper-introduction-step .introduction-step-image img {
    width: 100%;
    height: auto;
    display: block;
  }
  .introduction-step-title {
    padding: 6px 2px;
    font-size: 1.5rem;
    text-align: center;
    flex: 1;
    line-height: 1.143;
  }
  .wrapper-introduction-step li span {
    font-size: 1.12rem;
    letter-spacing: -.12em;
    line-height: 1.2;
  }
  .wrapper-introduction-cost {
    margin-bottom: 39px;
    padding: 40px 25px 31px;
    background-image: url(/img/reform/contents/budget/bg_introduction_cost001_sp.png);
  }
  .wrapper-introduction-cost img {
    width: 100%;
    height: auto;
    display: block;
  }
  .cost-title {
    padding: 2px 50px;
    margin: 0 -7px 21px;
    font-size: 1.8rem;
    border-radius: 25px;
    font-family: "RodinPro-DB", sans-serif;
    line-height: 1.5;
  }
  .cost-title::before {
    left: -12px;
    top: -34px;
    width: 72px;
    height: 66px;
    background-size: 100% auto;
  }
  .cost-text {
    margin-bottom: 13px;
    font-size: 1.5rem;
    line-height: 1.2;
  }
  .cost-text span {
    font-size: 1.2rem;
    display: block;
  }
  .wrapper-cost-table {
    margin: 0 -8px 0 3px;
  }
  .wrapper-cost-information {
    margin-bottom: 27px;
  }
  .list-banner-small {
    max-width: 270px;
    margin: 0 auto;
  }
  .list-banner-small li:not(:last-child) {
    margin-bottom: 20px;
  }
  .image-banner-small img {
    box-shadow: 2px 3px 2px rgba(0,0,0,.28);
  }
}

@media screen and (min-width: 0px) and (max-width: 374px) {
  .cost-text {
    font-size: 1.3rem;
  }
  .introduction-content-second::before {
    margin-left: 0px;
    width: 60px;
  }
  .content-top-text {
    font-size: 1.3rem;
  }
  .content-second {
    font-size: 2rem;
  }
  .content-second span {
    font-size: 1.4rem;
  }
  .content-second-day {
    font-size: 4rem;
  }
  .content-second-day span {
    font-size: 6rem;
  }
  .content-second-day .is-text {
    width: 34px;
    background-size: 100% auto;
  }
  .wrapper-introduction-step .introduction-step-image {
    width: 90px;
  }
  .introduction-step-title {
    font-size: 1.3rem;
  }
  .cost-title {
    font-size: 1.5rem;
    padding-right: 30px;
    padding-left: 40px;
  }
  .cost-title::before {
    width: 60px;
  }
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .budget-introduction-title {
    margin-bottom: 32px;
    font-size: 2rem;
  }
  .budget-introduction-title::before {
    background-image: url(/img/reform/contents/budget/img_introduction_title001.png);
    width: 285px;
    height: 58px;
    top: -63px;
    left: 50%;
    margin-left: -143px;
  }
  .wrapper-introduction-content {
    width: 903px;
    margin: 0 auto;
  }
  .content-top-text {
    font-size: 2.5rem;
    line-height: calc(40/25);
    letter-spacing: .075em;
    top: -15px;
  }
  .text-box {
    padding: 1px 5px 2px;
    margin: 0 7px;
  }
  .text-box.is-text-margin {
    margin-left: 3px;
  }
  .introduction-content-second {
    margin: -35px 0 17px;
    padding-left: 154px;
    display: flex;
    flex-wrap: wrap;
  }
  .introduction-content-second::before {
    background-image: url(/img/reform/contents/budget/icn_introduction_content001.png);
    width: 144px;
    height: 132px;
  }
  .content-second {
    padding-top: 54px;
    font-size: 4.1rem;
    letter-spacing: .075em;
    line-height: 0.9;
  }
  .content-second span {
    font-size: 2.6rem;
  }
  .content-second-day {
    padding-top: 15px;
    margin-left: 22px;
    font-size: 8rem;
  }
  .content-second-day .common-mark {
    padding-left: 8px;
  }
  .content-second-day span {
    margin: 0 8px 0 6px;
    font-size: 11.1rem;
    line-height: 1;
    position: relative;
    top: 5px;
  }
  .content-second-day .is-text {
    margin-left: 7px;
    position: relative;
    top: -19px;
    width: 68px;
    height: 28px;
    background-image: url(/img/reform/contents/budget/icn_text.png);
  }
  .wrapper-introduction-step {
    display: flex;
    margin-bottom: 108px;
  }
  .wrapper-introduction-step li {
    width: 150px;
    position: relative;
  }
  .wrapper-introduction-step li:before {
    min-width: 30px;
    height: 29px;
    border-bottom-right-radius: 8px;
    font-size: 2.5rem;
    left: -1px;
    top: -1px;
  }
  .introduction-step-title {
    padding: 8px 4px;
    font-size: 1.7rem;
    line-height: calc(20/18);
  }
  .introduction-step-title.is-title-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 52px;
  }
  .wrapper-introduction-step li span {
    font-size: 1.53rem;
    letter-spacing: -.05em;
  }
  .wrapper-introduction-step li:not(:last-child){
    border-right: none;
  }
  .wrapper-introduction-cost {
    width: 810px;
    margin: 0 auto 65px;
    padding: 45px 47px 57px;
  }
  .wrapper-cost-title {
    padding-top: 45px;
    margin-bottom: 42px;
  }
  .cost-title {
    padding: 12px 50px 13px;
    margin: 0 -7px 39px;
    font-size: 3rem;
    border-radius: 50px;
    line-height: calc(26/30);
  }
  .cost-title::before {
    left: -87px;
    top: -64px;
    width: 144px;
    height: 132px;
  }
  .cost-text {
    margin-bottom: 27px;
    font-size: 2.6rem;
    line-height: 1.3;
    letter-spacing: .05em;
  }
  .cost-text span {
    font-size: 2.08rem;
  }
  .wrapper-cost-information {
    margin: 0 15px 41px;
  }
  .list-banner-small {
    display: flex;
    justify-content: space-between;
    width: 900px;
  }
  .list-banner-small li {
    margin-top: 15px;
  }
  .image-banner-small img {
    box-shadow: 4px 5px 5px rgba(0,0,0,.3);
  }
}

.section-introduction-two .budget-introduction-title::before {
  background-image: url(/img/reform/contents/budget/img_introduction_title002.png);
}
.section-introduction-two .text-box,
.section-introduction-two .common-mark {
  color: #1a9cab;
}
.section-introduction-two .wrapper-introduction-step li {
  border-color: #1a9cab;
  background: #afdce2;
}
.section-introduction-two .wrapper-step-number,
.section-introduction-two .cost-title,
.section-introduction-two .wrapper-introduction-step li:before  {
  background: #1a9cab;
}

@media screen and (min-width: 0px) and (max-width: 768px) {
  .section-introduction-two .budget-introduction-title {
    margin-top: 16px;
  }
  .section-introduction-two .content-top-text {
    margin-top: 13px;
  }
  .section-introduction-two .content-second {
    letter-spacing: .12em;
  }
  .section-introduction-two .wrapper-introduction-cost {
    padding-top: 43px;
    padding-bottom: 46px;
    background-image: url(/img/reform/contents/budget/bg_introduction_cost002_sp.png);
  }
  .section-introduction-two .wrapper-introduction-step {
    border-top-color: #1a9cab;
  }
  .section-introduction-two .cost-title {
    margin-bottom: 17px;
  }
  .section-introduction-two .cost-title::before {
    top: -37px;
  }
  .section-introduction-two .cost-text {
    margin-bottom: 18px;
  }
  .section-introduction-two .content-second-day .is-text {
    background-image: url(/img/reform/contents/budget/icn_text001_sp.png);
  }
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .section-introduction-two .budget-introduction-title {
    margin-top: 16px;
  }
  .section-introduction-two .content-top-text {
    top: -32px;
  }
  .section-introduction-two .introduction-content-second {
    margin: -51px 0 14px;
  }
  .section-introduction-two .content-second {
    padding-top: 74px;
    letter-spacing: .12em;
  }
  .section-introduction-two .wrapper-introduction-cost {
    margin-bottom: 54px;
    background-image: url(/img/reform/contents/budget/bg_introduction_cost002.png);
  }
  .section-introduction-two .content-second-day .is-text {
    background-image: url(/img/reform/contents/budget/icn_text001.png);
  }
}

.section-service-type {
  background: no-repeat center 0/cover;
}
.service-type-list li {
  position: relative;
}
.service-type-list li:not(:last-child)::before {
  content: "";
  position: absolute;
  background: repeat-x 0 bottom;
}
.list-left {
  text-align: center;
}
.item-title-common {
  position: relative;
}
.item-title-common::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: no-repeat center center/auto 100%;
}
.box-budget-note,
.list-text-note {
  position: relative;
}
.box-budget-note:before,
.box-budget-note:after {
  content: '';
  position: absolute;
  width: 100%;
  background: no-repeat 0 0/100% auto;
  pointer-events: none;
}
.list-text-note::after,
.list-text-note::before  {
  content: "";
  position: absolute;
}
.list-text-note > li {
  text-indent: -1em;
  padding-left: 1em;
 }
 .wrapper-banner-service {
   display: block;
 }
 .wrapper-banner-service img {
   display: block;
   width: 100%;
   height: auto;
 }

@media screen and (min-width: 0px) and (max-width: 768px) {
  .wrapper-service-type .inner-service-type {
    max-width: 303px;
    margin: 0 auto;
  }
  .service-type-list li:not(:last-child) {
    margin-bottom: 43px;
    padding-bottom: 44px;
  }
  .service-type-list li:not(:last-child)::before {
    left: 0;
    right: -4px;
    height: 4px;
    background-image: url(/img/reform/contents/budget/bg_dot_sp.png);
    bottom: 0;
  }
  .item-title-common {
    margin-bottom: 5px;
    padding-top: 34px;
    font-size: 1.3rem;
    letter-spacing: .25em;
  }
  .item-title-common::before {
    height: 32px;
  }
  .item-title-common.is-title-washstand:before {
    background-image: url(/img/reform/contents/budget/img_service_title001_sp.png);
  }
  .item-title-common.is-title-toilet:before {
    background-image: url(/img/reform/contents/budget/img_service_title002_sp.png);
  }
  .item-title-common.is-title-waster:before {
    background-image: url(/img/reform/contents/budget/img_service_title003_sp.png);
  }
  .list-subtitle {
    margin-bottom: 12px;
    line-height: 1.3;
    font-size: 1.4rem;
    letter-spacing: .1em;
  }
  .inner-subtitle{
    font-size: 1.75rem;
    letter-spacing: .1em;
  }
  .service-type-list .list-right {
    max-width: 270px;
    margin: 0 auto 31px;
  }
  .service-type-list .list-right img,
  .service-type-list .service-photo img {
    display: block;
    width: 100%;
    height: auto;
  }
  .service-type-list .list-right img {
    border-radius: 15px;
  }
  .service-type-list .service-photo {
    max-width: 272px;
    margin: 0 auto;
  }
  .wrapper-banner-service,
  .service-type-list .wrapper-banner-big {
    max-width: 270px;
    margin: 41px auto 0;
  }
  .box-budget-note {
    max-width: 296px;
    margin: 59px auto 30px;
    min-height: 137px;
    letter-spacing: .05em;
    background: url(/img/reform/contents/budget/bg_budget_note_middle_sp.png) repeat-y 0 0/100% auto;
  }
  .box-budget-note:before,
  .box-budget-note:after {
    height: 16px;
  }
  .box-budget-note:before {
    background-image: url(/img/reform/contents/budget/bg_budget_note_top_sp.png);
    top: -15px;
  }
  .box-budget-note:after {
    background-image: url(/img/reform/contents/budget/bg_budget_note_bottom_sp.png);
    bottom: -15px;
  }
  .list-text-note {
    padding: 23px 12px 116px;
  }
  .list-text-note * {
    font-size: 1.2rem;
    line-height: 1.25;
  }
  .list-text-note::before {
    background-image: url(/img/reform/contents/budget/icn_budget_note001_sp.png);
    background-size: 100% auto;
    left: 50%;
    margin-left: -21px;
    top: -30px;
    width: 42px;
    height: 43px;
  }
  .list-text-note::after {
    background-image: url(/img/reform/contents/budget/icn_budget_note002_sp.png);
    background-size: 100% auto;
    left: 50%;
    bottom: 0;
    width: 70px;
    height: 108px;
    margin-left: -43px;
  }
  .list-text-note > li:not(:last-child) {
    margin-bottom: 16px;
  }
  .container-second {
    padding: 0 15px;
  }
}

@media screen and (min-width: 0px) and (max-width: 374px) {
  .box-budget-note {
    margin-left: 39px;
    margin-right: 39px;
  }
  .box-budget-note:before {
    top: -10px;
  }
  .box-budget-note:after {
    bottom: -12px;
  }
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .wrapper-service-type .inner-service-type {
    width: 906px;
    margin: 0 auto;
  }
  .service-type-list {
    width: 824px;
    margin: 0 auto;
  }
  .service-type-list li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 2rem;
    letter-spacing: .2em;
  }
  .service-type-list li:not(:last-child) {
    margin-bottom: 100px;
    padding-bottom: 103px;
  }
  .service-type-list li:nth-child(even) {
    flex-direction: row-reverse;
  }
  .service-type-list li:not(:last-child)::before {
    left: -40px;
    right: -40px;
    bottom: 0;
    background-image: url(/img/reform/contents/budget/bg_dot.png);
    height: 6px;
  }
  .list-left {
    width: 364px;
    padding-top: 10px;
  }
  .item-title-common {
    margin: 0 -30px 34px;
    padding-top: 65px;
  }
  .item-title-common::before {
    height: 58px;
  }
  .item-title-common.is-title-washstand:before {
    background-image: url(/img/reform/contents/budget/img_service_title001.png);
  }
  .item-title-common.is-title-toilet {
    margin-bottom: 16px;
  }
  .item-title-common.is-title-toilet:before {
    background-image: url(/img/reform/contents/budget/img_service_title002.png);
  }
  .item-title-common.is-title-waster:before {
    background-image: url(/img/reform/contents/budget/img_service_title003.png);
  }
  .list-subtitle {
    margin-bottom: 16px;
    line-height: 1.3;
    letter-spacing: .1em;
  }
  .inner-subtitle{
    font-size: 2.5rem;
  }
  .list-right {
    width: 400px;
  }
  .service-type-list .wrapper-banner-big {
    display: block;
    margin: 89px 37px 0;
  }
  .wrapper-banner-service {
    width: 430px;
    margin: 45px auto 0;
    display: block;
  }
  .box-budget-note {
    width: 986px;
    margin: 103px auto 0;
    min-height: 80px;
    letter-spacing: -.05em;
    background: url(/img/reform/contents/budget/bg_budget_note_middle.png) repeat-y 0 0;
  }
  .box-budget-note:before,
  .box-budget-note:after {
    height: 21px;
    width: 100%;
  }
  .box-budget-note:before {
    background-image: url(/img/reform/contents/budget/bg_budget_note_top.png);
    top: -20px;
  }
  .box-budget-note:after {
    background-image: url(/img/reform/contents/budget/bg_budget_note_bottom.png);
    bottom: -20px;
  }
  .list-text-note {
    padding: 12px 100px 15px 44px;
  }
  .list-text-note * {
    font-size: 1.5rem;
    line-height: calc(18/15);
  }
  .list-text-note::before {
    background-image: url(/img/reform/contents/budget/icn_budget_note001.png);
    left: -11px;
    top: -46px;
    width: 60px;
    height: 60px;
  }
  .list-text-note::after {
    background-image: url(/img/reform/contents/budget/icn_budget_note002.png);
    right: 26px;
    bottom: -32px;
    width: 83px;
    height: 130px;
    z-index: 2;
  }
  .list-text-note > li:not(:last-child) {
    margin-bottom: 14px;
  }
  .service-item-third .list-left {
    padding-top: 17px;
  }
  .service-item-third .item-title-common {
    padding-top: 58px;
  }
  .service-item-third .list-subtitle {
    margin-bottom: 11px;
  }
  .container-second {
    max-width: 980px;
    margin: 0 auto;
  }
}

.background-pattern {
  position: relative;
}
.background-pattern:after {
  content: '';
  position: absolute;
  background: repeat center 0;
  border-radius: 48%;
  background-color: #deeaf4;
}
.background-pattern:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  background: repeat center 0;
}
.section-budget-introduction .wrapper-introduction-content,
.section-introduction-two .wrapper-introduction-content,
.section-service-type .inner-service-type {
  position: relative;
  z-index: 2;
}
.section-introduction-two {
  z-index: 3;
}
.section-budget-introduction:before {
  background-color: #deeaf4;
}
.section-introduction-two:before,
.section-introduction-two:after {
  background-color: #e1f2f4;
}
.section-service-type {
  position: relative;
  z-index: 4;
}
.section-service-type:before,
.section-service-type:after {
  background-color: #fef1e9;
}

.section-service-type .wrapper-service-type:after {
  content: '';
  position: absolute;
  background: #fef1e9 repeat center 0;
  border-radius: 48%;
}
.section-service-type .wrapper-service-type {
  padding-bottom: 1px;
}

@media screen and (min-width: 0px) and (max-width: 768px) {
  .background-pattern:after,
  .section-service-type .wrapper-service-type:after {
    left: -220px;
    right: -220px;
    box-shadow: 0 0 8px rgba(0,0,0,.18);
    height: 200px;
  }
  .background-pattern:after {
    background-image: url(/img/reform/contents/budget/bg_pattern001_sp.png);
    top: -80px;
  }
  .background-pattern:before {
    left: -220px;
    right: -220px;
    background-image: url(/img/reform/contents/budget/bg_pattern001_sp.png);
  }
  .section-budget-introduction {
    padding: 15px 28.5px 136px;
  }
  .section-introduction-two {
    padding: 16px 28.5px 138px;
  }
  .section-introduction-two .wrapper-introduction-content {
    margin-top: -19px;
  }
  .section-service-type {
    padding: 28px 36px;
    margin-bottom: 155px;
  }
  .section-service-type:before,
  .section-service-type:after {
    background-image: url(/img/reform/contents/budget/bg_pattern002_sp.png)
  }
  .section-service-type .wrapper-service-type:after {
    background-image: url(/img/reform/contents/budget/bg_pattern002_sp.png);
    bottom: -80px;
  }
  .section-service-type .inner-service-type {
    margin-top: -50px;
    margin-bottom: -41px;
  }
}

@media print, screen and (min-width: 769px) and (max-width: 9999px) {
  .background-pattern:after {
    left: -225px;
    top: -150px;
    right: -225px;
    background-image: url(/img/reform/contents/budget/bg_pattern001.png);
    box-shadow: 0 0 20px rgba(0,0,0,.18);
    height: 500px;
  }
  .background-pattern:before {
    left: -225px;
    right: -225px;
    background-image: url(/img/reform/contents/budget/bg_pattern001.png);
  }
  .section-budget-introduction {
    padding-top: 11px;
    padding-bottom: 254px;
  }
  .section-introduction-two {
    padding: 16px 0 250px;
  }
  .section-service-type {
    padding: 28px 0;
    margin-bottom: 286px;
  }
  .section-service-type:before,
  .section-service-type:after {
    background-image: url(/img/reform/contents/budget/bg_pattern002.png)
  }
  .section-service-type .wrapper-service-type:after {
    left: -225px;
    bottom: -150px;
    right: -225px;
    background-image: url(/img/reform/contents/budget/bg_pattern002.png);
    box-shadow: 0 0 20px rgba(0,0,0,.18);
    height: 500px;
  }
  .section-service-type .inner-service-type {
    margin-bottom: -94px;
  }
}