@charset "UTF-8";
/* ========================================
  @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px), print {
#reform-taishin .seo_bread_list {
  margin-bottom: -67px;
  color: #FFFFFF;
  position: relative;
  z-index: 2;
}
#reform-taishin .seo_bread_list span {
  color: #FFFFFF;
}

/* fv
-------------------------------------*/
.fv {
  max-width: 1920px;
  margin-inline: auto;
  width: 100%;
  position: relative;
}
.fv .ttl-box {
  background: #FFFFFF;
  width: min(95%, 1200px);
  margin-inline: auto;
  position: relative;
  margin-top: -8.35rem;
  padding: 0 0 4.5rem;
  margin-bottom: -13.2rem;
  z-index: 2;
}
.fv .ttl-box h2 {
  font-size: 50px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
  background-color: #FFFFFF;
  color: #141414;
  text-align: center;
  padding: 2.55rem 0;
  border-top: 15px solid #141414;
  position: relative;
  width: min(95%, 575px);
  margin-inline: auto;
  top: -3.8rem;
  margin-bottom: -5.7rem;
}
.fv .ttl-box::before {
  content: "";
  position: absolute;
  top: -10.3rem;
  left: 50%;
  transform: translateX(-50%);
  width: 241px;
  height: 241px;
  background: url(../images/reform-taishin/taishin-icon.svg) no-repeat;
  background-size: contain;
}
.fv .price-frame {
  display: flex;
  align-items: baseline;
  gap: 51px;
  justify-content: center;
  margin: 0 60px 15px 0;
}
.fv .price-frame .include {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  border: 1px solid #1C1C1C;
  padding: 0.45rem 0.4rem;
  width: 103px;
  position: relative;
  top: -2px;
}
.fv .price {
  display: inline-flex;
  gap: 9px;
  font-size: 96px;
  line-height: 1.197916;
  letter-spacing: 0em;
  font-weight: 700;
  color: #D7000F;
  position: relative;
  z-index: 2;
  padding: 0.25rem 0 0;
}
.fv .price::after {
  content: "";
  position: absolute;
  bottom: 8px;
  right: -5px;
  width: 103%;
  height: 15px;
  background: #FFDF4D;
  z-index: -1;
}
.fv .price .yen-mark {
  font-size: 43px;
  font-weight: 700;
  line-height: 2.62790;
  margin: 23px 0 0 -21px;
  color: #1C1C1C;
}
.fv .price .yen {
  font-size: 43px;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #1C1C1C;
  margin: 3.2rem 0 0;
}
.fv .txt {
  font-size: 24px;
  line-height: 1.5833333333;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
}

/* worries
-------------------------------------*/
.worries {
  background: #F4F4F4;
  position: relative;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.worries::after {
  content: "";
  position: absolute;
  bottom: -3.55rem;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 200px;
  background: url(../images/page-common/worries-arrow.svg) no-repeat;
  background-size: contain;
  z-index:2;
}
.worries .inner {
  width: min(95%, 1280px);
  margin-inline: auto;
  padding: 18.0rem 0 12.5rem;
  text-align: center;
}
.worries h2 {
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 0.1em;
  color: #1c1c1c;
  margin: 0 0 1.2rem 1rem;
  display: inline-flex;
  text-align: center;
  gap: 0.75rem;
  position: relative;
}
.worries h2::after {
  content: "";
  position: absolute;
  top: -9px;
  right: -56px;
  width: 47px;
  height: 52px;
  background: url(../images/page-common/worries-ttl-deco.svg) no-repeat;
  background-size: contain;
}
.worries h2 span {
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: inline-block;
  position: relative;
  color: #FFFFFF;
  background: #1C1C1C;
  border-radius: 12.5rem;
  padding: 0.9rem 1.75rem;
  position: relative;
  top: -0.6rem;
}

.worries h3 {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #1c1c1c;
  border-bottom: 1px solid #1C1C1C;
  display: inline-block;
  padding: 0 0 0.105rem;
  margin-bottom: 3.25rem;
}
.worries .worries-box {
  width: min(95%, 1040px);
  background: #FFFFFF;
  border: 10px solid #EFEFEF;
  padding: 2.75rem 0 1.95rem;
  position: relative;
  margin-inline: auto;
}
.worries .worries-box::before {
  content: "";
  position: absolute;
  top: -3.2rem;
  right: -8.2rem;
  width: 307px;
  height: 253px;
  background: url(../images/reform-taishin/worries-photo01.png) no-repeat;
  background-size: contain;
}
.worries .worries-box::after {
  content: "";
  position: absolute;
  bottom: -1.75rem;
  left: -8.2rem;
  width: 276px;
  height: 212px;
  background: url(../images/page-common/worries-deco.png) no-repeat;
  background-size: contain;
}
.worries .worries-box .list {
  width: min(95%, 900px);
  margin-inline: auto;
  display: grid;
  gap: 1.5rem;
  margin-bottom: 0.6rem;
}
.worries .worries-box .list li {
  color: #141414;
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: left;
  padding: 0 0 0.85rem 7.85rem;
  border-bottom: 1px dashed #8F8F8F;
  position: relative;
}
.worries .worries-box .list li::before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 5.6rem;
  width: 26px;
  height: 20px;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box .list li span {
  color: #2B6FAC;
}
.worries .worries-box .txt {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
.worries .worries-box .deco {
  position: absolute;
  right: -5.6rem;
  top: 13.5rem;
}

/* leave
-------------------------------------*/
.leave {
  background: #FCCF00;
  position: relative;
  padding: 0 0 19.2rem;
  margin-top: -0.2rem;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.leave::before {
  content: "";
  position: absolute;
  top: -8.6rem;
  left: 0;
  width: 100%;
  height: 140px;
  background: url(../images/page-common/leave-bg.svg) no-repeat;
  background-size: cover;
}
.leave .inner {
  width: min(95%, 1600px);
  margin-inline: auto;
  text-align: center;
  padding: 7.75rem 0 0;
  position: relative;
}
.leave h2 {
  text-align: center;
  position: relative;
  padding: 0 1rem 0 0;
  margin-bottom: 4.5rem;
  z-index: 2;
}
.leave .txt {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.6666;
  text-align: center;
  margin-bottom: 6.85rem;
}
.leave .txt:nth-of-type(1) {
  margin-bottom: 2.1rem;
}
.leave .txt span {
  font-weight: 700;
  font-size: 36px;
  letter-spacing: 0.1em;
  line-height: 1.1111;
  text-align: center;
  position: relative;
  z-index: 1;
}
.leave .txt span::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 16px;
  background: #FFFFFF;
  z-index: -1;
}
.leave .photo {
  text-align: center;
  margin-bottom: 6rem;
}
.leave .lead-box {
  background: #FFFFFF;
  width: min(95%, 920px);
  margin-inline: auto;
  position: relative;
  padding: 3.05rem 0 2.75rem;
}
.leave .lead-box::after {
  content: "";
  position: absolute;
  bottom: -2.7rem;
  left: 50%;
  transform: translateX(-50%);
  width: 54px;
  height: 45px;
  background: url(../images/page-common/lead-box-arrow.svg) no-repeat;
  background-size: contain;
}
.leave .lead {
  font-weight: bold;
  font-size: 34px;
  letter-spacing: 0.1em;
  line-height: 1.882352;
  text-align: center;
  color: #141414;
}
.leave .lead:nth-of-type(1) {
  margin-bottom: 1.65rem;
}
.leave .lead span {
  font-weight: bold;
  font-size: 42px;
  letter-spacing: 0.1em;
  line-height: 1.4285714;
  text-align: center;
  color: #d7000f;
}


/* point
-------------------------------------*/
.point {
  background: url(../images/page-common/merit-bg.png) repeat;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.point .inner {
  top: -10.5rem;
  position: relative;
  display: grid;
  gap: 5.36rem;
  margin-bottom: 0.2rem;
}
.point .sec {
  width: min(95%, 1200px);
  margin-inline: auto;
  border: 10px solid #1C1C1C;
  background: #FFFFFF;
}
.point .sec h2{
  background: #E2E2E2;
  padding: 3rem 0;
  text-align: center;
  font-size: 50px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.point .sec .content {
  padding: 3.45rem 4.4rem 3.7rem;
  display: grid;
  grid-template-columns: 51.933% 44.2307%;
  gap: 2.5rem;
}
.point .point02 .content {
  padding: 3.45rem 4.4rem 2.35rem;
}
.point .sec .txt-box .list {
  background: #EFEFEF;
  padding: 1.675rem 3.7rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 3.65rem;
  align-items: center;
  margin: 1.4rem 0 1.4rem;
}
.point .sec .txt-box .list span {margin: 0 0 0 -1.85rem;font-size: 16px;line-height: 1.875;letter-spacing: 0.1em;font-weight: 500;}
.point .sec .txt-box .list li {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
}
.point .sec .txt-box .list li::before {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: -1.9rem;
  width: 20px;
  height: 20px;
  background: url(../images/page-common/check-icon03.svg) no-repeat;
  background-size: contain;
}
.point .sec .txt-box .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 1.15rem;
}
.point .sec .txt-box .txt.ls {
  letter-spacing: 0.07em;
}
.point .sec .photo{
  margin: 0.25rem 0 0;
}


/* attention
-------------------------------------*/
.attention {
  background: url(../images/reform-taishin/attention-bg.jpg)no-repeat top center #FFFFFF;
  background-size: 100%;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.attention .inner {
  width: min(95%, 1100px);
  margin-inline: auto;
  padding: 8.5rem 0 0;
  text-align: center;
}
.attention .ttl-box {
  margin: 0 0 3.5rem;
}
.attention .subt {
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.6666;
  text-align: center;
  color: #fff;
  margin: 0 0 1.2rem;
}
.attention h2 {
  font-weight: bold;
  font-size: 33px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #1c1c1c;
  background: #FFFFFF;
  border-radius: 12.5rem;
  display: inline-block;
  padding: 0.5rem 1rem;
  margin: 0 0 1.15rem;
}
.attention h2 span {
  font-weight: bold;
  font-size: 25px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #1c1c1c;
}
.attention .content {
  background: #fccf00;
  padding: 3.65rem 4.8125rem 2.5rem;
  display: grid;
  grid-template-columns: 47.8858% 46.5116%;
  gap: 3.3125rem;
}
.attention .content h3 {
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1.818181;
  text-align: left;
  margin: 0 0 2rem;
}
.attention .content .txt {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.875;
  text-align: left;
  margin: 0 0 1.1rem;
}

/* merit
-------------------------------------*/
.merit {
  border-bottom: 30px solid #1C1C1C;
}
.merit .inner {
  width: min(95%, 1600px);
  margin-inline: auto;
  position: relative;
  padding: 13.35rem 0 5.5rem;
  margin-bottom: 10rem;
}
.merit .inner::after {
  background: #D7000F;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 574px;
  z-index: 1;
  pointer-events: none;
}
.merit h2 {
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  text-align: center;
  margin-bottom: 4.9375rem;
  position: relative;
  z-index: 3;
}
.merit h2 span {
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.merit .enttl {
  position: absolute;
  top: 8rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.merit .list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem;
  position: relative;
  z-index: 2;
  width: min(95%, 1400px);
  margin-inline: auto;
}
.merit .txt-box {
  background: #FFFFFF;
  margin-top: -1.95rem;
  position: relative;
  z-index: 3;
  width: min(95%, 380px);
  margin-inline: auto;
}
.merit .txt-box .num {
  background: #1C1C1C;
  border: 1px solid #FFFFFF;
  font-size: 24px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  padding: 0.55rem 0;
  margin-bottom: 2.9rem;
}
.merit .list02 .txt-box .num,
.merit .list03 .txt-box .num {margin-bottom: 1.65rem;}
.merit .list02 .txt-box h3,
.merit .list03 .txt-box h3 {
  margin-bottom: 1.5rem;
}
.merit .txt-box .num span {
  color: #FDF202;
}
.merit .txt-box h3 {
  font-size: 22px;
  line-height: 1.8181818182;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 2.74rem;
}
.merit .txt-box .txt {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 2.5rem 2.4rem;
}
.merit .photo {
  text-align: center;
}

/* construction
-------------------------------------*/
.construction {
  background: url(../images/page-common/construction-bg.png) repeat;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.construction .inner {
  width: min(95%, 1200px);
  margin-inline: auto;
  padding: 6.875rem 0 8.375rem;
  text-align: center;
}
.construction h2 {
  display: inline-grid;
  gap: 0.725rem;
  position: relative;
  margin-bottom: 7.5rem;
  text-align: center;
}
.construction h2::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: -136px;
  width: 110px;
  height: 135px;
  background: url(../images/page-common/construction-deco.png) no-repeat;
  background-size: contain;
}
.construction h2 span {
  font-size: 42px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.construction .list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.5rem 3.75rem;
}
.construction .list li .inner-box {
  background: #FFFFFF;
  border: 5px solid #1C1C1C;
  padding: 4.2625rem 2.5rem 3.95rem;
  position: relative;
  margin-bottom: 1.05rem;
}
.construction .list li .num {
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
  color: #FFFFFF;
  background: #1C1C1C;
  border-radius: 50%;
  display: grid;
  place-items: center;
  width: 4.375rem;
  height: 4.375rem;
  position: absolute;
  top: -1.65rem;
  left: 50%;
  transform: translateX(-50%);
}
.construction .list li h3 {
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  margin-bottom: 1.3rem;
}
.construction .list li h3 span {
  font-size: 20px;
  font-weight: 400;
  line-height: 2.85;
  letter-spacing: 0.1em;
  display: block;
}
.construction .list li h4 {
  background: #1C1C1C;
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  padding: 0.75rem 0;
  width: 100%;
  display: block;
}
.construction .list li h4 span {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
  top: -0.25rem;
}
.construction .list li .photo {
  margin-bottom: 1.6rem;
}
.construction .list li .txt {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.07em;
  font-weight: 500;
  margin-bottom: 1.45rem;
  text-align: left;
}
.construction .list li .inBox {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.875rem;
}
.construction .list li .inBox h4 {
  margin-bottom: 0.45rem;
}
.construction .list li .inBox .txt {
  letter-spacing: 0.1em;
}
.construction .list li .box01 {
  position: relative;
}
.construction .list li .box01::after {
  content: "";
  position: absolute;
  top: 0;
  right: -1rem;
  width: 2px;
  height: 86%;
  border-right: 1px dashed #1C1C1C;
}
.construction .list li .desc {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: left;
}
/* list01 */
.construction .list .list01 .inner-box {
  padding: 4.2625rem 2.5rem 0.65rem;
}
.construction .list .list01 .photo {
  margin-bottom: 0.5875rem;
}
/* list03 */
.construction .list .list03 .inner-box {
  padding: 4.2625rem 2.5rem 0.75rem;
}
.construction .list .list03 h3 {margin-bottom: 0rem;}
/* list04 */
.construction .list .list04 .inner-box {
  padding: 5.3625rem 2.5rem 2.55rem;
}
.construction .list .list04 .inBox {
  grid-template-columns: 1fr;
  gap: 0;
}
.construction .list .list04 h3 {margin-bottom: 2.5rem;}
/* list05 */
.construction .list .list05 {
  grid-column: 1 / -1; 
}
.construction .list .list05 .inner-box {
  padding: 3.7625rem 2.5rem 0.75rem;
}
.construction .list .list05 .item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 4.375rem;
}
.construction .list .list05 h3 {
  line-height: 1.4375;
  margin-bottom: 0.9rem;
}
.construction .list .list05 .item01,
.construction .list .list05 .item02 {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
.construction .list .list05 .item01 {
  position: relative;
}
.construction .list .list05 .item01::after {
  content: "";
  position: absolute;
  top: 1.1rem;
  right: -2.2rem;
  width: 1px;
  height: 93%;
  border-right: 1px solid #1C1C1C;
}
.construction .list .list05 .item01 h3 {
  padding: 1.5rem 0;
}
.construction .list .list05 .photo {
  margin-bottom: 1rem;
}
.construction .list .list05 .txt {
  letter-spacing: 0.1em;
}
.construction .list .list05 .bottom-box {
  width: min(95%, 480px);
  margin-inline: auto;
  position: relative;
  padding: 7.35rem 0 0;
}
.construction .list .list05 .bottom-box::before {
  position: absolute;
  content: "";
  background: url(../images/page-common/plus-icon.svg)no-repeat;
  background-size: contain;
  width: 60px;
  height: 60px;
  top: 1.1rem;
  left: 50%;
  transform: translateX(-50%);
}
.construction .list .list05 .bottom-box h4 {
  margin-bottom: 0.45rem;
}

/* works
-------------------------------------*/
.works .inner{
  width: min(95%, 1190px);
  margin-inline: auto;
  padding: 8rem 0 0;
}
.works .enttl {
  font-weight: normal;
  font-size: 36px;
  line-height: 1;
  text-align: center;
  position: relative;
  margin-bottom: 2.5rem;
}
.works .enttl::after {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 95px;
  height: 2px;
  background: #1C1C1C;
}
.works h2 {
  font-weight: bold;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 2.1875;
  text-align: center;
  color: #141414;
  margin-bottom: 4.4rem;
}



/* menu
-------------------------------------*/
.menu {
  background: #EFEFEF;
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
}
.menu .inner {
  width: min(95%, 1600px);
  margin-inline: auto;
  padding: 7.35rem 0 12.5rem;
}
.menu h2 {
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 3.5rem;
}
.menu .menu-box {
  display: grid;
  gap: 2.5rem;
}
.menu .menu-box .upper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
}
.menu .menu-box .upper::before {
  content: "";
  position: absolute;
  top: -11rem;
  left: 22.5rem;
  width: 147px;
  height: 176px;
  background: url(../images/page-common/menu-deco.png) no-repeat;
  background-size: contain;
}
.menu .menu-item {
  background: #FFFFFF;
}
.menu .menu-item.mizumawari .item {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  padding: 3.125rem 0;
  justify-content: center;
  width: min(95%, 1100px);
  margin-inline: auto;
}
.menu .menu-item.gaisou .item{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  padding: 3.125rem 2.5rem;
}
.menu .menu-item.other .item {
  padding: 3.125rem 2.5rem;
  text-align: center;
}
.menu .menu-box h3 {
  font-weight: bold;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: 1.69rem 0;
}
.menu .menu-box .mizumawari h3 {
  background: #0488E5;
}
.menu .menu-box .gaisou h3 {
  background: #00A63C;
}
.menu .menu-box .other h3 {
  background: #9C6AA5;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
  .fv .photo img {
    width: 100%;
    height: auto;
  }
  .fv .ttl-box {
    width: 62.533vw;
    margin-top: -6.962vw;
    padding: 0 0 3.752vw;
    margin-bottom: -12.006vw;
  }
  .fv .ttl-box h2 {
    font-size: 2.606vw;
    padding: 2.126vw 0;
    border-top: 15px solid #141414;
    width: 29.964vw;
    top: -3.168vw;
    margin-bottom: -4.752vw;
  }
  .fv .ttl-box::before {
    top: -8.588vw;
    left: 50%;
    transform: translateX(-50%);
    width: 12.559vw;
    height: 12.559vw;
    background: url(../images/reform-taishin/taishin-icon.svg) no-repeat;
    background-size: contain;
  }
  .fv .price-frame {
    gap: 2.658vw;
    margin: 0 3.127vw 0.052vw 0;
  }
  .fv .price-frame .include {
    font-size: clamp(0.625rem, 0.375rem + 0.52vw, 1rem);
    padding: 0.375vw 0.334vw;
    width: fit-content;
    top: -0.104vw;
  }
  .fv .price {
    gap: 0.469vw;
    font-size: 5.003vw;
    padding: 0.208vw 0 0; 
  }
  .fv .price::after {
    bottom: 1.563vw;
    right: -0.261vw;
    height: 0.782vw;
  }
  .fv .price .yen-mark {
    font-size: 2.241vw;
    margin: 1.199vw 0 0 -1.094vw;
  }
  .fv .price .yen {
    font-size: 2.241vw;
    margin: 2.668vw 0 0; 
  }
  .fv .txt {
    font-size: 1.251vw;
  }
  
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
/* worries
-------------------------------------*/
.worries::after {
  bottom: -3.944vw;
  width: 8.333vw;
  height: 13.889vw;
  background: url(../images/page-common/worries-arrow.svg) no-repeat;
  background-size: contain;
}
.worries .inner {
  width: 88.889vw;
  padding: 20vw 0 13.889vw;
}
.worries h2 {
  font-size: 2.222vw;
  margin: 0 0 1.333vw 1.111vw;
  gap: 0.833vw;
}
.worries h2::after {
  top: -0.625vw;
  right: -3.889vw;
  width: 3.264vw;
  height: 3.611vw;
  background: url(../images/page-common/worries-ttl-deco.svg) no-repeat;
  background-size: contain;
}
.worries h2 span {
  font-size: 2.778vw;
  border-radius: 13.889vw;
  padding: 1vw 1.944vw;
  top: -0.667vw;
}
.worries h3 {
  font-size: 1.667vw;
  padding: 0 0 0.117vw;
  margin-bottom: 3.611vw;
}
.worries .worries-box {
  width: 72.222vw;
  padding: 3.056vw 0 2.167vw;
}
.worries .worries-box::before {
  top: -3.556vw;
  right: -9.111vw;
  width: 21.319vw;
  height: 17.569vw;
  background: url(../images/reform-taishin/worries-photo01.png) no-repeat;
  background-size: contain;
}
.worries .worries-box::after {
  bottom: -1.944vw;
  left: -9.111vw;
  width: 19.167vw;
  height: 14.722vw;
  background: url(../images/page-common/worries-deco.png) no-repeat;
  background-size: contain;
}
.worries .worries-box .list {
  width: 62.5vw;
  gap: 1.667vw;
  margin-bottom: 0.667vw;
}
.worries .worries-box .list li {
  font-size: 1.389vw;
  padding: 0 0 0.944vw 8.722vw;
}
.worries .worries-box .list li::before {
  top: 0.778vw;
  left: 6.222vw;
  width: 1.806vw;
  height: 1.389vw;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box .txt {
  font-size: 1.389vw;
}
.worries .worries-box .deco {
  right: -6.222vw;
  top: 15vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
  .leave {
    padding: 0 0 18.072vw;
    margin-top: -0.2vw;
  }
  .leave::before {
    top: -7.204vw;
    left: 0;
    width: 100%;
    height: 7.295vw;
    background: url(../images/page-common/leave-bg.svg) no-repeat;
    background-size: cover;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1680px)
======================================== */
@media screen and (min-width:768px) and (max-width:1680px) {
  .leave .inner {
    width: 95.238vw;
    padding: 7.381vw 0 0;
  }
  .leave h2 {
    padding: 0 0.952vw 0 0;
    margin-bottom: 4.286vw;
  }
  .leave h2 img {
    width: 86.19vw;
  }
  .leave .txt {
    font-size: 1.429vw;
    margin-bottom: 6.524vw;
  }
  .leave .txt:nth-of-type(1) {
    margin-bottom: 2vw;
  }
  .leave .txt span {
    font-size: 2.143vw;
  }
  .leave .txt span::after {
    bottom: -0.238vw;
    height: 0.952vw;
  }
  .leave .photo {
    margin-bottom: 5.714vw;
  }
  .leave .lead-box {
    width: 54.762vw;
    padding: 2.905vw 0 2.619vw;
  }
  .leave .lead-box::after {
    bottom: -2.571vw;
    width: 3.214vw;
    height: 2.679vw;
    background: url(../images/page-common/lead-box-arrow.svg) no-repeat;
    background-size: contain;
  }
  .leave .lead {
    font-size: 2.024vw;
  }
  .leave .lead:nth-of-type(1) {
    margin-bottom: 1.571vw;
  }
  .leave .lead span {
    font-size: 2.5vw;
  }
  .leave .photo img{
    width: 100%;
    height: auto;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
/* point
-------------------------------------*/
.point .inner {
  top: -13.125vw;
  gap: 6.7vw;
  margin-bottom: 0.25vw;
}
.point .sec {
  width: 93.75vw;
}
.point .sec h2{
  padding: 3.75vw 0;
  font-size: 3.906vw;
}
.point .sec .content {
  padding: 4.313vw 5.5vw 4.625vw;
  gap: 3.125vw;
}
.point .point02 .content {
  padding: 4.313vw 5.5vw 2.938vw;
}
.point .sec .txt-box .list {
  padding: 2.094vw 4.625vw;
  gap: 0.625vw 4.563vw;
  margin: 1.75vw 0 1.75vw;
}
.point .sec .txt-box .list span {margin: 0 0 0 -2.312vw;font-size: 1.25vw;line-height: 1.875;letter-spacing: 0.1em;font-weight: 500;}
.point .sec .txt-box .list li {
  font-size: clamp(0.625rem, 0.063rem + 1.17vw, 1rem);
}
.point .sec .txt-box .list li::before {
  top: 0.313vw;
  left: -2.375vw;
  width: 1.563vw;
  height: 1.563vw;
  background: url(../images/page-common/check-icon03.svg) no-repeat;
  background-size: contain;
}
.point .sec .txt-box .txt {
  font-size: clamp(0.75rem, 0.375rem + 0.78vw, 1rem);
  margin-bottom: 1.438vw;
}
.point .sec .photo{
  margin: 0.313vw 0 0;
}
.point .sec .photo img {
  width: 100%;
  height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1200px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1200px) {
/* attention
-------------------------------------*/
.attention .inner {
  width: 91.667vw;
  padding: 11.333vw 0 0;
}
.attention .ttl-box {
  margin: 0 0 4.667vw;
}
.attention .subt {
  font-size: 2vw;
  margin: 0 0 1.6vw;
}
.attention h2 {
  font-size: 2.75vw;
  border-radius: 16.667vw;
  padding: 0.667vw 1.333vw;
  margin: 0 0 1.533vw;
}
.attention h2 span {
  font-size: 2.083vw;
}
.attention .content {
  padding: 4.867vw 6.417vw 3.333vw;
  gap: 4.417vw;
}
.attention .content h3 {
  font-size: 1.833vw;
  margin: 0 0 2.667vw;
}
.attention .content .txt {
  font-size: 1.333vw;
  margin: 0 0 1.467vw;
}
.attention .content img {
  width: 100%;
  height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* merit
-------------------------------------*/
.merit .inner {
  width: 97.561vw;
  padding: 13.024vw 0 5.366vw;
  margin-bottom: 9.756vw;
}
.merit .inner::after {
  height: 35vw;
}
.merit h2 {
  font-size: 2.439vw;
  margin-bottom: 4.817vw;
}
.merit h2 span {
  font-size: 1.951vw;
}
.merit .enttl {
  top: 7.805vw;
}
.merit .enttl img {
  width: 16.951vw;
}
.merit .list {
  gap: 2.439vw;
  width: 85.366vw;
}
.merit .list li {
  display: flex;
  flex-direction: column; 
}
.merit .txt-box {
  margin-top: -1.902vw;
  width: 23.171vw;
  flex: 1; 
  display: flex;
  flex-direction: column;
  justify-content: flex-start; 
}
.merit .txt-box .num {
  font-size: 1.463vw;
  padding: 0.537vw 0;
  margin-bottom: 2.829vw;
}
.merit .list02 .txt-box .num,
.merit .list03 .txt-box .num {margin-bottom: 1.61vw;}
.merit .list02 .txt-box h3,
.merit .list03 .txt-box h3 {
  margin-bottom: 1.463vw;
}
.merit .txt-box h3 {
  font-size: 1.341vw;
  margin-bottom: 2.673vw;
}
.merit .txt-box .txt {
  font-size: clamp(0.625rem, 0.295rem + 0.69vw, 1rem);
  padding: 0 2.439vw 2.341vw;
}
.merit .photo img {
  width: 100%;
  height: auto;
}
}

@media screen and (min-width:768px) and (max-width:1030px) {
  .construction .list li:not(:last-child) .inner-box {height: 58vw;}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
.construction .inner {
  width: 93.75vw;
  padding: 8.594vw 0 10.469vw;
}
.construction h2 {
  gap: 0.906vw;
  margin-bottom: 9.375vw;
}
.construction h2 img {
  width: 36.563vw;
}
.construction h2::after {
  bottom: -0.312vw;
  left: -10.625vw;
  width: 8.594vw;
  height: 10.547vw;
  background: url(../images/page-common/construction-deco.png) no-repeat;
  background-size: contain;
}
.construction h2 span {
  font-size: 3.281vw;
}
.construction .list {
  gap: 4.375vw 4.688vw;
}
.construction .list .photo img {
  width: 100%;
  height: auto;
}
.construction .list li .inner-box {
  padding: 5.328vw 3.125vw 4.938vw;
  margin-bottom: 1.313vw;
}
.construction .list li .num {
  font-size: 2.344vw;
  width: 5.469vw;
  height: 5.469vw;
  top: -2.062vw;
}
.construction .list li h3 {
  font-size: 2.5vw;
  margin-bottom: 1.625vw;
}
.construction .list li h3 span {
  font-size: 1.563vw;
}
.construction .list li h4 {
  font-size: 1.719vw;
  padding: 0.938vw 0;
}
.construction .list li h4 span {
  font-size: 1.094vw;
  top: -0.312vw;
}
.construction .list li .photo {
  margin-bottom: 2vw;
}
.construction .list li .txt {
  font-size: clamp(0.75rem, 0.375rem + 0.78vw, 1rem);
  margin-bottom: 1.812vw;
}
.construction .list li .inBox {
  gap: 2.344vw;
}
.construction .list li .inBox h4 {
  margin-bottom: 0.563vw;
}
.construction .list li .box01::after {
  top: 0;
  right: -1.25vw;
  width: 0.156vw;
}
.construction .list li .desc {
  font-size: clamp(0.625rem, 0.25rem + 0.78vw, 0.875rem);
}
.construction .list .list01 .inner-box {
  padding: 5.328vw 3.125vw 0.813vw;
}
.construction .list .list01 .photo {
  margin-bottom: 0.734vw;
}
.construction .list .list03 .inner-box {
  padding: 5.328vw 3.125vw 0.938vw;
}
.construction .list .list03 h3 {margin-bottom: 0px;}
.construction .list .list04 .inner-box {
  padding: 6.703vw 3.125vw 3.188vw;
}
.construction .list .list04 h3 {margin-bottom: 3.125vw;}
.construction .list .list05 .inner-box {
  padding: 4.703vw 3.125vw 0.938vw;
}
.construction .list .list05 .item {
  gap: 0 5.469vw;
}
.construction .list .list05 h3 {
  margin-bottom: 1.125vw;
}
.construction .list .list05 .item01::after {
  top: 1.375vw;
  right: -2.75vw;
  width: 0.078vw;
}
.construction .list .list05 .item01 h3 {
  padding: 1.875vw 0;
}
.construction .list .list05 .photo {
  margin-bottom: 1.25vw;
}
.construction .list .list05 .txt {
  letter-spacing: 0.1em;
}
.construction .list .list05 .bottom-box {
  width: 37.5vw;
  padding: 9.188vw 0 0;
}
.construction .list .list05 .bottom-box::before {
  width: 4.688vw;
  height: 4.688vw;
}
.construction .list .list05 .bottom-box h4 {
  margin-bottom: 0.563vw;
}  
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1680px)
======================================== */
@media screen and (min-width:768px) and (max-width:1680px) {
  .menu h2 {
    font-size: 2.381vw;
    margin-bottom: 3.333vw;
  }
  .menu .menu-box h3 {
    font-size: 1.905vw;
    padding: 1.61vw 0;
  }
  .menu .menu-box .upper::before {
    top: -10.476vw;
    left: 21.429vw;
    width: 8.75vw;
    height: 10.476vw;
  }
  .menu .menu-item img {
    width: 19.238vw;
    height: auto;
    max-width: 340px;
  }
  .menu .menu-item.mizumawari .item {
    gap: 2.381vw;
    padding: 2.976vw 0;
    width: 65.476vw;
  }
  .menu .menu-item.gaisou .item{
    gap: 1.19vw;
    padding: 2.976vw 2.381vw;
    text-align: center;
  }
  .menu .menu-item.other .item {
    padding: 2.976vw 2.381vw;
  }
}


/* ========================================
@media screen and (max-width: 767px) 
======================================== */
@media screen and (max-width: 767px) {
.main-title {
  margin-bottom: 0;
}
  /* fv
-------------------------------------*/
.fv {
  max-width: 100vw;
  margin-inline: auto;
  width: 100%;
  position: relative;
  background: #F4F4F4;
}
.fv .ttl-box {
  background: #FFFFFF;
  width: 91.79vw;
  margin-inline: auto;
  position: relative;
  margin-top: -7vw;
  padding: 0 0 6vw;
  margin-bottom: -7vw;
  z-index: 2;
}
.fv .ttl-box h2 {
  font-size:7.729vw;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
  background-color: #FFFFFF;
  color: #141414;
  text-align: center;
  padding: 9.2vw 0 2.2vw;
  border-top: 3vw solid #141414;
  position: relative;
  top: -3vw;
  margin-bottom: -3vw;
}
.fv .ttl-box::before {
  content: "";
  position: absolute;
  top: -22vw;
  left: 50%;
  transform: translateX(-50%);
  width: 58.215vw;
  height: 58.215vw;
  background: url(../images/reform-taishin/taishin-icon_sp.svg) no-repeat;
  background-size: contain;
}
.fv .price-frame {
  display: flex;
  align-items: baseline;
  gap: 10vw;
  margin: 0 auto 3.5vw;
  width: 86.5vw;
  position: relative;
  background: #FFFFFF;
}
.fv .price-frame .include {
  font-size:3.865vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  border: 0.2vw solid #1C1C1C;
  padding: 1.5vw 1.4vw;
  width: 25vw;
  position: relative;
  bottom: 1vw;
}
.fv .price {
  display: inline-flex;
  gap: 1.7vw;
  font-size: 15.459vw;
  line-height: 1.197916;
  letter-spacing: 0em;
  font-weight: 700;
  color: #D7000F;
  position: relative;
  z-index: 2;
  padding: 0;
}
.fv .price::after {
  content: "";
  position: absolute;
  bottom: 2vw;
  right: 0;
  width: 102%;
  height: 2.45vw;
  background: #FFDF4D;
  z-index: -1;
}
.fv .price .yen-mark {
  font-size:6.763vw;
  font-weight: 700;
  line-height: 2.62790;
  margin: 4vw 0 0 -7vw;
  color: #1C1C1C;
}
.fv .price .yen {
  font-size:6.763vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #1C1C1C;
  margin: 8vw 0 0;
}
.fv .txt {
  font-size:4.348vw;
  line-height: 1.7777;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  position: relative;
  background: #FFFFFF;
  width: 87vw;
  margin-inline: auto;
}

/* worries
-------------------------------------*/
.worries {
  background: #F4F4F4;
  position: relative;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.worries::after {
  content: "";
  position: absolute;
  bottom: -8vw;
  left: 50%;
  transform: translateX(-50%);
  width: 17.395vw;
  height: 28.989vw;
  background: url(../images/page-common/worries-arrow.svg) no-repeat;
  background-size: contain;
  z-index:2;
}
.worries .inner {
  width: 94.205vw;
  margin-inline: auto;
  padding: 22.2vw 0 28vw;
  text-align: center;
}
.worries h2 {
  font-weight: 700;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  color: #1c1c1c;
  margin: 0 0 1.1vw -5vw;
  text-align: center;
  position: relative;
}
.worries h2 span {
  font-size: 5.797vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  display: inline-block;
  color: #FFFFFF;
  background: #1C1C1C;
  border-radius: 5vw;
  padding: 2.1vw 2.9vw;
  position: relative;
  margin: 0 1vw 2vw 6vw;
  top: -0.5vw;
}
.worries h2 span::after {
  content: "";
  position: absolute;
  bottom: -8.5vw;
  right: -1.7vw;
  width: 4.985vw;
  height: 5.53vw;
  background: url(../images/page-common/worries-ttl-deco.svg) no-repeat;
  background-size: contain;
}
.worries h3 {
  font-weight: 500;
  font-size: 3.865vw;
  letter-spacing: 0.1em;
  color: #1c1c1c;
  margin-bottom: 44.7vw;
  text-align: center;
  line-height: 2.45;
  padding: 0 0 0 1.1vw;
}
.worries h3 span {
  border-bottom: 0.2vw solid #1C1C1C;
  padding: 0 0 1.2vw;
}
.worries .worries-box {
  background: #FFFFFF;
  border: 1.45vw solid #EFEFEF;
  padding: 5.5vw 0 2.8vw;
  position: relative;
  margin-inline: auto;
}
.worries .worries-box::before {
  content: "";
  position: absolute;
  top: -39.2vw;
  left: 50%;
  width: 66.185vw;
  height: 43vw;
  background: url(../images/reform-taishin/worries-photo_sp.png) no-repeat;
  background-size: contain;
  transform: translateX(-50%);
}
.worries .worries-box::after {
  content: "";
  position: absolute;
  bottom: -14.6vw;
  left: -4vw;
  width: 36.94vw;
  height: 28.42vw;
  background: url(../images/page-common/worries-deco.png) no-repeat;
  background-size: contain;
}
.worries .worries-box .list {
  width: 79.712vw;
  margin-inline: auto;
  display: grid;
  gap: 4vw;
  margin-bottom: 1vw;
}
.worries .worries-box .list li {
  color: #141414;
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 0 3vw 5.2vw;
  border-bottom: 0.2vw dashed #8F8F8F;
  position: relative;
  text-align: left;
}
.worries .worries-box .list li::before {
  content: "";
  position: absolute;
  top: 2.1vw;
  left: 0vw;
  width: 4.35vw;
  height: 3.385vw;
  background: url(../images/page-common/check-icon.svg) no-repeat;
  background-size: contain;
}
.worries .worries-box .list li span {
  color: #2B6FAC;
}
.worries .worries-box .txt {
  font-size:3.865vw;
  font-weight: 500;
  line-height: 2.5;
  letter-spacing: 0.1em;
  text-align: right;
  margin: 0 5.4vw 0 0;
}
.worries .worries-box .deco {
  position: absolute;
  right: -5vw;
  top: 13vw;
}


/* leave
-------------------------------------*/
.leave {
  background: #FCCF00;
  position: relative;
  padding: 0 0 34vw;
  margin-top: -0.5vw;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.leave::before {
  content: "";
  position: absolute;
  top: -14vw;
  left: 0;
  width: 100%;
  height: 14.5vw;
  background: url(../images/page-common/leave-bg_sp.svg) no-repeat;
  background-size: cover;
}
.leave .inner {
  margin-inline: auto;
  text-align: center;
  padding: 15.8vw 0 0;
  position: relative;
}
.leave h2 {
  text-align: center;
  display: inline-block;
  position: relative;
  margin-bottom: 10.6vw;
  z-index: 2;
}
.leave h2 img {
  width: 88.65vw;
}
.leave .txt {
  font-weight: 500;
  font-size:4.348vw;
  letter-spacing: 0.1em;
  line-height: 1.777777;
  text-align: center;
  margin-bottom: 8.5vw;
}
.leave .txt:nth-of-type(1) {margin-bottom: 3.5vw;}
.leave .txt span {
  font-weight: 700;
  font-size:7.246vw;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
  position: relative;
  z-index: 1;
  margin: 1vw 0 0;
  display: inline-block;
}
.leave .txt span::after {
  content: "";
  position: absolute;
  bottom: -0.5vw;
  left: -1vw;
  width: 103%;
  height: 3vw;
  background: #FFFFFF;
  z-index: -1;
}
.leave .txt span:nth-of-type(2) {margin: 1vw 0 2vw;}
.leave .photo {
  text-align: center;
  margin-bottom: 12vw;
}
.leave .lead-box {
  background: #FFFFFF;
  width: 91.79vw;
  margin-inline: auto;
  position: relative;
  padding: 5.4vw 0 4.2vw;
}
.leave .lead-box::after {
  content: "";
  position: absolute;
  bottom: -4.5vw;
  left: 50%;
  transform: translateX(-50%);
  width: 5.32vw;
  height: 4.4vw;
  background: url(../images/page-common/lead-box-arrow.svg) no-repeat;
  background-size: contain;
}
.leave .lead {
  font-weight: 500;
  font-size:3.865vw;
  letter-spacing: 0.1em;
  line-height: 1.75;
  text-align: center;
  color: #141414;
}
.leave .lead:nth-of-type(1) {
  margin-bottom: 3.2vw;
}
.leave .lead span {
  font-weight: bold;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  line-height: 1.15;
  text-align: center;
  color: #d7000f;
}
.leave .lead .small {
  font-size:4.348vw;
}

/* point
-------------------------------------*/
.point {
  background: url(../images/page-common/merit-bg_sp.png) repeat;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.point .inner {
  top: -24.5vw;
  position: relative;
  display: grid;
  gap: 9.8vw;
  margin-bottom: -5.5vw;
}
.point .sec {
  width: 94.205vw;
  margin-inline: auto;
  border: 1vw solid #1C1C1C;
  background: #FFFFFF;
}
.point .sec h2 {
  background: #E2E2E2;
  padding: 7.2vw 0 8vw;
  text-align: center;
  font-size:5.797vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.point .sec .content {
  padding: 4.8vw 3.86vw 3.1vw;
  display: grid;
  gap: 2vw;
}
.point .sec .txt-box {
  order: 2;
}
.point .sec .txt-box .list {
  background: #EFEFEF;
  padding: 4.5vw 5vw 4.2vw;
  display: grid;
  gap: 2.3vw;
  margin: 2.2vw 0 3.5vw;
}
.point .sec .txt-box .list li {
  font-size:3.865vw;
  line-height: 1.625;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
  padding: 0 0 0 6vw;
}
.point .sec .txt-box .list li::before {
  content: "";
  position: absolute;
  top: 1vw;
  left: -1.5vw;
  width: 4.834vw;
  height: 4.834vw;
  background: url(../images/page-common/check-icon03.svg) no-repeat;
  background-size: contain;
}
.point .sec .txt-box .txt {
  font-size:3.382vw;
  line-height: 1.85714;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 2vw;
}
.point .sec .photo {
  order: 1;
  margin-bottom: 1vw;
}
/* point02 */
.point .point02 h2 {
  padding: 7.2vw 0 6.8vw;
}


/* attention
-------------------------------------*/
.attention {
  background: url(../images/reform-taishin/attention-bg_sp.jpg)no-repeat top center #FFFFFF;
  background-size: 100%;
}
.attention .inner {
  width: 91.79vw;
  margin-inline: auto;
  padding: 13.5vw 0 0;
  text-align: center;
}
.attention .ttl-box {
  margin: 0 2.4vw 13vw;
}
.attention .subt {
  font-weight: bold;
  font-size:4.348vw;
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: center;
  color: #fff;
  margin: 0 0 4vw;
}
.attention h2 {
  font-weight: bold;
  font-size:5.797vw;
  letter-spacing: 0.1em;
  text-align: center;
  color: #1c1c1c;
  background: #FFFFFF;
  border-radius: 12vw;
  display: inline-block;
  padding: 4vw 8vw;
  margin: 0 0 4vw;
}
.attention h2 span {
  font-weight: bold;
  font-size:4.348vw;
  letter-spacing: 0.1em;
  text-align: center;
  color: #1c1c1c;
  display: block;
}
.attention .content {
  background: #fccf00;
  padding: 6.9vw 4.83vw 7vw;
  display: grid;
  gap: 3vw;
}
.attention .content .txt-box {
  display: contents;
}
.attention .content h3 {
  font-weight: bold;
  font-size:5.314vw;
  letter-spacing: 0.1em;
  line-height: 1.72727;
  text-align: center;
  margin: 0 0 1vw;
  order: 1;
}
.attention .content .txt {
  font-weight: 500;
  font-size:3.382vw;
  letter-spacing: 0.1em;
  line-height: 1.8571428;
  text-align: left;
  margin: 0 0 -1vw;
  order: 3;
}
.attention .content .img {
  order: 2;
  margin-bottom: 1vw;
}


/* merit
-------------------------------------*/
.merit {
  border-bottom: 5vw solid #1C1C1C;
  position: relative;
}
.merit .inner::after {
  background: #D7000F;
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 394.5vw;
  z-index: 1;
  pointer-events: none;
  transform: translateX(-50%);
}
.merit .inner {
  width: 91.79vw;
  margin-inline: auto;
  position: relative;
  padding: 36.8vw 0 14vw;
  margin-bottom: 15vw;
}
.merit h2 {
  font-size:7.729vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  text-align: center;
  margin-bottom: 11.5vw;
  position: relative;
  z-index: 3;
}
.merit h2 span {
  font-size:5.797vw;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.merit .enttl {
  position: absolute;
  top: 17vw;
  left: 49%;
  transform: translateX(-50%);
  z-index: 2;
  width: 56.8vw;
}
.merit .enttl img {}
.merit .list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9.5vw;
  position: relative;
  z-index: 2;
}
.merit .txt-box {
  background: #FFFFFF;
  margin-top: -9.5vw;
  position: relative;
  z-index: 3;
  width: 82.126vw;
  margin-inline: auto;
  padding: 0 0 6.4vw;
}
.merit .txt-box .num {
  background: #1C1C1C;
  border: 0.2vw solid #FFFFFF;
  font-size:4.831vw;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  padding: 1vw 0;
  margin-bottom: 5.8vw;
}
.merit .txt-box .num span {
  color: #FDF202;
}
.merit .txt-box h3 {
  font-size:5.314vw;
  line-height: 1.545454;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 3.65vw;
}
.merit .txt-box .txt {
  font-size:3.382vw;
  line-height: 1.87571428;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 6vw;
}
.merit .photo {
  text-align: center;
}

/* construction
-------------------------------------*/
.construction {
  background: url(../images/page-common/construction-bg_sp.png) repeat center center;
  background-size: contain;
}
.construction .inner {
  width: 91.79vw;
  margin-inline: auto;
  padding: 13.8vw 0 13vw;
  text-align: center;
}
.construction h2 {
  display: inline-grid;
  gap: 2vw;
  position: relative;
  margin-bottom: 15.5vw;
  text-align: center;
}
.construction h2::after {
  content: "";
  position: absolute;
  bottom: -0.5vw;
  left: -13vw;
  width: 12.1vw;
  height: 14.16vw;
  background: url(../images/page-common/construction-deco.png) no-repeat;
  background-size: contain;
}
.construction h2 span {
  font-size:4.831vw;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.construction .list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12vw;
}
.construction .list li .inner-box {
  background: #FFFFFF;
  border: 1vw solid #1C1C1C;
  padding: 9vw 3.86vw 2vw;
  position: relative;
  margin-bottom: 1vw;
}
.construction .list li .num {
  font-size:6.28vw;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
  color: #FFFFFF;
  background: #1C1C1C;
  border-radius: 50%;
  display: grid;
  place-items: center;
  width: 12.08vw;
  height: 12.08vw;
  position: absolute;
  top: -7vw;
  left: 50%;
  transform: translateX(-50%);
}
.construction .list li h3 {
  font-size:5.797vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #141414;
  margin-bottom: 6vw;
  position: relative;
}
.construction .list li h3 span {
  font-size:3.865vw;
  font-weight: 400;
  line-height: 2.85;
  letter-spacing: 0.05em;
  display: block;
  position: absolute;
  width: 85.1vw;
  left: -1.5vw;
}
.construction .list li h4 {
  background: #1C1C1C;
  font-size:4.348vw;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  padding: 2.66vw 0;
  width: 100%;
  display: block;
}
.construction .list li h4 span {
  font-size:3.865vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
  top: -0.5vw;
}
.construction .list li .photo {
  margin-bottom: 5vw;
}
.construction .list li .txt {
  font-size:3.382vw;
  line-height: 1.85714;
  letter-spacing: 0.07em;
  font-weight: 500;
  margin-bottom: 3.9vw;
  text-align: left;
}
.construction .list li .inBox {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0vw;
}
.construction .list li .inBox h4 {
  margin-bottom: 3vw;
}
.construction .list li .inBox .txt {
  letter-spacing: 0.1em;
}
.construction .list li .box01 {
  position: relative;
}
.construction .list li .desc {
  font-size:3.382vw;
  line-height: 1.85714;
  letter-spacing: 0.1em;
  font-weight: 400;
  text-align: left;
}
/* list01 */
.construction .list .list01 .inner-box {margin-bottom: 3vw;}
.construction .list .list01 .photo {margin-bottom: 3vw;}
/* list03 */
.construction .list .list03 .inner-box {margin-bottom: 3vw;}
.construction .list .list03 h3 {
    margin-bottom: 13vw;
}
/* list05 */
.construction .list .list05 .inner-box {padding: 7.5vw 3.86vw 2vw;}
.construction .list .list05 .item {
 display: grid;
 gap: 2.5vw;
}
.construction .list .list05 h3 {line-height: 1.5;margin-bottom: 4.2vw;}
.construction .list .list05 .item01,
.construction .list .list05 .item02 {border-top: 0.2vw solid #1C1C1C;padding: 5.25vw 0 0;}
.construction .list .list05 .photo {margin-bottom: 3vw;}
.construction .list .list05 .txt {letter-spacing: 0.1em;}
.construction .list .list05 .bottom-box {padding: 14.8vw 0 0;position: relative;}
.construction .list .list05 .bottom-box::before {
  position: absolute;
  content: "";
  background: url(../images/page-common/plus-icon_sp.svg)no-repeat;
  background-size: contain;
  width: 9.665vw;
  height: 9.665vw;
  top: 0.5vw;
  left: 50%;
  transform: translateX(-50%);
}
.construction .list .list05 .bottom-box h4 {
  margin-bottom: 3vw;
}



/* works
-------------------------------------*/
.works .inner{
  width: 91.79vw;
  margin-inline: auto;
  padding: 15.6vw 0 0;
}
.works .enttl {
  font-weight: 400;
  font-size:4.348vw;
  line-height: 1;
  text-align: center;
  position: relative;
  margin-bottom: 7.2vw;
}
.works .enttl::after {
  content: "";
  position: absolute;
  bottom: -3vw;
  left: 50%;
  transform: translateX(-50%);
  width: 8.5vw;
  height: 0.2vw;
  background: #1C1C1C;
}
.works h2 {
  font-weight: bold;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  color: #141414;
  margin-bottom: 9vw;
}


/* menu
-------------------------------------*/
.menu {
  background: #EFEFEF;
  max-width: 100vw;
  width: 100%;
  margin-inline: auto;
}
.menu .inner {
  width: 91.79vw;
  margin-inline: auto;
  padding: 9.2vw 0 24.2vw;
}
.menu h2 {
  font-weight: bold;
  font-size:4.831vw;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 6.5vw;
}
.menu .menu-box {
  display: grid;
  gap: 7.5vw;
}
.menu .menu-box .upper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7.5vw;
}
.menu .menu-item {
  background: #FFFFFF;
}
.menu .menu-item li {
  text-align: center;
}
.menu .menu-item.mizumawari .item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4.8vw;
  padding: 7.2vw 4.8vw;
}
.menu .menu-item.gaisou .item,
.menu .menu-item.other .item{
  display: grid;
  grid-template-columns: 1fr;
  gap: 4.8vw;
  padding: 7.2vw 4.8vw;
}
.menu .menu-box h3 {
  font-weight: bold;
  font-size:4.348vw;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: 5.8vw 0;
}
.menu .menu-box .mizumawari h3 {
  background: #0488E5;
}
.menu .menu-box .gaisou h3 {
  background: #00A63C;
}
.menu .menu-box .other h3 {
  background: #9C6AA5;
}


}