@charset "UTF-8";

.garamond {
   font-family: 'EB Garamond', serif;
}
@media all and (min-width: 681px) {
   .delay1_pc {
      transition-delay: 0.3s;
   }
   .delay2_pc {
      transition-delay: 0.6s;
   }
   .delay3_pc {
      transition-delay: 0.9s;
   }
   .delay4_pc {
      transition-delay: 1.2s;
   }
}

/* メインコンテンツ
***************************************************************/
.scAbout {
   padding-bottom: 10rem;
}
.subTitle .txt1 {
   margin-top: 9rem;
   line-height: 1.8;
}
.topBox02 .textItem p {
   font-size: 1.8rem;
   letter-spacing: 0.1em;
   line-height: 48px;
   text-align: center;
}
.topBox02 .imgItem {
   margin-top: 5.8rem;
}
.topBox02 .imgItem img {
   width: 100%;
}
.needs {
   width: 1200px;
   padding: 6rem 0 6.6rem;
   margin: 10rem auto 0;
   background: #304969;
}
.needs-title {
   font-size: 2.8rem;
   font-weight: 500;
   color: #fff;
   text-align: center;
}
.needs-title span {
   display: inline-block;
   padding: 0 3rem;
   border-left: 1px solid #fff;
   border-right: 1px solid #fff;
}
.needs-list {
   display: flex;
   justify-content: center;
   gap: 5rem;
   margin-top: 36px;
}
.needs-list-c li {
   font-size: 1.8rem;
   letter-spacing: 0;
   font-weight: 500;
   color: #fff;
   padding-left: 29px;
   position: relative;
}
.needs-list-c li + li {
   margin-top: 15px;
}
.needs-list-c li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 5px;
   width: 20px;
   height: 20px;
   background: url(../../img/lineup/icon_check.svg)no-repeat center / cover;
}
@media all and (min-width: 681px) {

}
@media all and (max-width: 680px) {
   .wrap {
      padding: 0;
   }
   .scAbout {
      padding-bottom: 5rem;
   }
   .subTitle {
      margin-bottom: 0;
   }
   .subTitle .txt1 {
      margin-top: 3rem;
      padding: 0;
      font-size: 2.2rem;
      line-height: 1.5;
   }
   .topBox02 {
      display: flex;
      flex-direction: column;
   }
   .topBox02 .textItem {
      order: 2;
      background: #fff;
      width: calc(100% - 40px);
      margin: -18px auto 0;
      padding-top: 23px;
      position: relative;
      z-index: 1;
   }
   .topBox02 .textItem p {
      font-size: 1.6rem;
      letter-spacing: 0;
      line-height: 2.12;
      font-weight: 500;
   }
   .topBox02 .imgItem {
      order: 1;
      margin-top: 2rem;
   }
   .needs {
      width: calc(100% - 4rem);
      padding: 4rem 2.5rem 3.7rem;
      margin-top: 4.3rem;
   }
   .needs-title {
      font-size: 1.8rem;
      font-weight: 400;
   }
   .needs-title span {
      display: block;
      padding: 0;
   }
   .needs-list {
      display: block;
      margin-top: 25px;
   }
   .needs-list > li + li {
      margin-top: 10px;
   }
   .needs-list-c li {
      font-size: 1.6rem;
      font-weight: 400;
   }
   .needs-list-c li + li {
      margin-top: 10px;
   }
   .needs-list-c li::before {
      top: 0;
   }
}
/* メインコンテンツ
***************************************************************/

/* 共通
***************************************************************/
.scReform-title {
   font-size: 3.2rem;
   letter-spacing: 0.1em;
   font-weight: 500;
   text-align: center;
}
.scReform-title span {
   display: inline-block;
   padding: 0 3rem;
   position: relative;
}
.scReform-title span::before,
.scReform-title span::after {
   content: '';
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: 1px;
   height: 30px;
   background: #4E4E4E;
}
.scReform-title span::before {
   left: 0;
}
.scReform-title span::after {
   right: 0;
}
@media all and (max-width: 680px) {
   .scReform-title {
      font-size: 2.2rem;
      letter-spacing: 0.05em;
      font-weight: 400;
   }
   .scReform-title span {
      padding: 0 1.7rem;
   }
   .scReform-title span::before,
   .scReform-title span::after {
      height: 35px;
   }
}
/* 共通
***************************************************************/

/* ラインナップ
***************************************************************/
.scLineup-navi {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 30px;
   width: 1080px;
   margin: 47px auto 0;
}
.scLineup-navi li {
   width: calc((100% - (30px*4))/5);
}
.scLineup-navi li a {
   display: block;
   height: 123px;
   background: #949AA3;
   padding-top: 11px;
   color: #fff;
   text-align: center;
   position: relative;
}
.scLineup-navi li a::before {
   content: '';
   position: absolute;
   bottom: 17px;
   left: 50%;
   transform: translateX(-50%) rotate(45deg);
   width: 7px;
   height: 7px;
   border-right: 1.5px solid #fff;
   border-bottom: 1.5px solid #fff;
}
.scLineup-navi li .num {
   font-size: 2.1rem;
   letter-spacing: 0.03em;
   font-weight: 500;
}
.scLineup-navi li .title {
   font-size: 1.5rem;
   line-height: 22px;
   letter-spacing: 0.03em;
   margin-top: 2px;
}

.scLineup-cont {
   background: #F8F8F8;
   padding: 4rem 0 11rem;
   margin-top: 10rem;
}
.scLineup-item {
   display: flex;
   align-items: center;
   gap: 34px;
   width: 1200px;
   margin: 0 auto;
   padding: 6rem 0;
}
.scLineup-item + .scLineup-item {
   border-top: 1px solid #939393;
}
.scLineup-item-textBox {
   width: calc(100% - 565px - 34px);
}
.scLineup-item-img {
   width: 565px;
}
.scLineup-item-title {
   font-size: 2.8rem;
   letter-spacing: 0.1em;
   font-weight: 500;
}
.scLineup-item-title .num {
   font-size: 3rem;
   margin-right: 13px;
}
.scLineup-item-title .sml {
   font-size: 2rem;
}
.scLineup-item-text {
   font-size: 1.5rem;
   letter-spacing: 0.05em;
   line-height: 32px;
   font-weight: 500;
   text-align: justify;
   margin-top: 18px;
}
.scLineup-item-cats {
   padding-top: 20px;
   margin-top: 16px;
   border-top: 1px solid #707070;
   font-size: 1.5rem;
   letter-spacing: 0;
   font-weight: 500;
}
.scLineup-item-btnList {
   display: flex;
   flex-wrap: wrap;
   gap: 15px;
   margin-top: 22px;
}
.scLineup-item-btnList li {
   width: calc((100% - 15px)/2);
}
.scLineup-item-btn {
   display: flex;
   align-items: center;
   justify-content: center;
   height: 50px;
   border: 1px solid #222;
   font-size: 1.4rem;
   letter-spacing: 0.02em;
   line-height: 18px;
   text-align: center;
   position: relative;
}
.scLineup-item-btn::before {
   content: '';
   position: absolute;
   top: 50%;
   right: 13px;
   transform: translateY(-50%) rotate(-45deg);
   width: 6px;
   height: 6px;
   border-right: 1px solid #222;
   border-bottom: 1px solid #222;
}
@media all and (min-width: 681px) {
   .scLineup-navi li a::before {
      transition: bottom 0.3s ease;
   }
   .scLineup-navi li a:hover {
      background: #2F4969;
   }
   .scLineup-navi li a:hover::before {
      bottom: 12px;
   }
   .scLineup-item-btn {
      transition: background 0.3s ease, border 0.3s ease, color 0.3s ease;
   }
   .scLineup-item-btn::before {
      transition: right 0.3s ease,border 0.3s ease;
   }
   .scLineup-item-btn:hover {
      color: #fff;
      background: #9ea9b7;
      border-color: #9ea9b7;
   }
   .scLineup-item-btn:hover::before {
      right: 8px;
      border-color: #fff;
   }
}
@media all and (max-width: 680px) {
   .scLineup-navi {
      gap: 5px;
      width: 100%;
      margin-top: 35px;
      padding: 0 2rem;
   }
   .scLineup-navi li {
      width: calc((100% - 5px)/2);
   }
   .scLineup-navi li:last-child {
      width: 100%;
   }
   .scLineup-navi li:last-child a {
      height: 70px;
   }
   .scLineup-navi li a {
      height: 90px;
      padding-top: 3px;
   }
   .scLineup-navi li a::before {
      bottom: 10px;
      width: 9px;
      height: 9px;
      border-width: 1px;
   }
   .scLineup-navi li .num {
      font-size: 1.8rem;
   }
   .scLineup-navi li .title {
      font-size: 1.4rem;
      line-height: 1.5;
      letter-spacing: 0;
      margin-top: 0;
   }

   .scLineup-cont {
      padding: 4rem 0 5rem;
      margin-top: 4rem;
   }
   .scLineup-item {
      display: block;
      width: 100%;
      padding: 0 2rem;
   }
   .scLineup-item + .scLineup-item {
      border-top: none;
      margin-top: 4.2rem;
   }
   .scLineup-item-textBox {
      width: 100%;
   }
   .scLineup-item-img {
      width: 100%;
      margin-top: 17px;
   }
   .scLineup-item-title {
      display: flex;
      font-size: 2.2rem;
      letter-spacing: 0;
      line-height: 1.2;
   }
   .scLineup-item-title .num {
      font-size: 2.4rem;
      margin-right: 10px;
      margin-top: -2px;
   }
   .scLineup-item-title .sml {
      font-size: 1.4rem;
   }
   .scLineup-item-text {
      letter-spacing: 0;
      line-height: 2;
      margin-top: 20px;
   }
   .scLineup-item-cats {
      margin-top: 20px;
      font-size: 1.4rem;
   }
   .scLineup-item-btnList {
      display: block;
      width: 85%;
      margin: 20px auto 0;
   }
   .scLineup-item-btnList li {
      width: 100%;
   }
   .scLineup-item-btnList li + li {
      margin-top: 10px;
   }
   .scLineup-item-btn {
      line-height: 1.3;
   }
   .scLineup-item-btn::before {
      right: 10px;
   }
}
/* ラインナップ
***************************************************************/

/* リフォームの強み
***************************************************************/
.scStrong {
   display: block;
   padding: 12rem 0 15rem;
}
.scStrong .inner {
   width: 1200px;
   margin: 0 auto;
}
.scStrong-list {
   display: flex;
   flex-wrap: wrap;
   gap: 30px;
   margin-top: 6rem;
}
.scStrong-list li {
   width: calc((100% - (30px*2))/3);
   background: #DBE5EA;
}
.scStrong-list li .listTitle {
   font-size: 2.4rem;
   letter-spacing: 0.1em;
   line-height: 40px;
   font-weight: 400;
   text-align: center;
}
.scStrong-list li .listText {
   font-size: 1.5rem;
   letter-spacing: 0.05em;
   line-height: 2;
   text-align: justify;
   margin-top: 22px;
}
.scStrong-list li .listText.ls0 {
   letter-spacing: 0;
}
.scStrong-list li .top {
   background: #E9EFF2;
   padding: 5.7rem 3.6rem 2.6rem;
}
.scStrong-list li .bottom {
   background: #DBE5EA;
   padding: 3.5rem 3.6rem 4.5rem;
}
.scStrong-list li .listCheckText {
   font-size: 1.7rem;
   letter-spacing: 0;
   line-height: 30px;
   padding-left: 29px;
   position: relative;
}
.scStrong-list li .listCheckText::before {
   content: "";
   position: absolute;
   left: 0;
   top: 5px;
   width: 20px;
   height: 20px;
   background: url(../../img/reform/icon_check.svg)no-repeat center / cover;
}
.scStrong-list li .listCheckText + .listCheckText {
   margin-top: 10px;
}

.scStrong-case {
   padding-top: 134px;
}
.scStrong-case-title {
   font-size: 2.8rem;
   letter-spacing: 0.1em;
   font-weight: 500;
   text-align: center;
   padding-bottom: 25px;
   position: relative;
}
.scStrong-case-title::before {
   content: '';
   position: absolute;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%);
   background: #707070;
   width: 42px;
   height: 1px;
}
.scStrong-case-column {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 48px;
   margin-top: 45px;
}
.scStrong-case-defPlan {
   width: 363px;
   padding: 34px 32px 43px;
   background: #F8F8F8;
}
.defPlan-title {
   font-size: 2.4rem;
   letter-spacing: 0.1em;
   font-weight: 400;
   padding-bottom: 10px;
   position: relative;
}
.defPlan-title::before {
   content: "";
   position: absolute;
   left: 0;
   bottom: 0;
   width: 28px;
   height: 1px;
   background: #707070;
}
.defPlan-img {
   width: 313px;
   margin: 32px 0 0 -14px;
}
.defPlan-text {
   font-size: 1.5rem;
   letter-spacing: 0;
   line-height: 2;
   margin-top: 30px;
}
.scStrong-case-propPlan {
   width: calc(100% - 363px - 48px);
}
.propPlan-tabBox {
   display: flex;
   align-items: center;
   background: #949AA3;
   border-radius: 100px;
   overflow: hidden;
}
.propPlan-tab {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 50%;
   height: 56px;
   border-radius: 100px;
   outline: none;
   border: none;
   padding: 0 0 5px;
   font-size: 2.4rem;
   letter-spacing: 0.1em;
   color: #fff;
   text-align: center;
   cursor: pointer;
   transition: width 0.3s ease,background 0.3s ease;
}
.propPlan-tab:not(.current) {
   width: calc(50% - 15px);
   background: #949AA3;
}
.propPlan-tab.current {
   width: calc(50% + 15px);
   background: #304969;
   transition: width 0.3s ease,background 0.3s 0.2s ease;
}
.propPlan-cont {
   margin-top: 50px;
}
.propPlan-item {
   display: none;
   opacity: 0;
   height: 0;
   transition: opacity 0.1s;
}
.propPlan-item.current {
   display: block;
   opacity: 1;
   height: auto;
}
.propPlan-title {
   font-size: 2.2rem;
   letter-spacing: 0.1em;
   line-height: 35px;
   font-weight: 500;
   text-align: center;
}
.propPlan-img {
   width: 556px;
   margin: 26px auto 0;
}
.propPlan-list {
   display: flex;
   flex-wrap: wrap;
   gap: 28px 42px;
   margin-top: 43px;
   padding-right: 28px;
}
.propPlan-list li {
   width: calc((100% - 42px)/2);
}
.propPlan-list li .propPlan-list-title {
   display: flex;
   align-items: center;
   gap: 10px;
}
.propPlan-list li .propPlan-list-title .num {
   width: 26px;
   height: 26px;
   margin-top: 1px;
   background: #487293;
   font-size: 2.2rem;
   line-height: 24px;
   font-weight: 500;
   color: #fff;
   text-align: center;
}
.propPlan-list li .propPlan-list-title .text {
   width: calc(100% - 26px - 10px);
   font-size: 1.8rem;
   font-weight: 500;
   line-height: 30px;
}
.propPlan-list li .propPlan-list-title .text.ls-05 {
   letter-spacing: -0.05em;
}
.propPlan-list li .propPlan-list-text {
   font-size: 1.5rem;
   letter-spacing: 0.05em;
   line-height: 2;
   text-align: justify;
   margin-top: 6px;
}
@media all and (min-width: 681px) {
   
}
@media all and (max-width: 680px) {
   .scStrong {
      padding: 5rem 0 6rem;
   }
   .scStrong .inner {
      width: 100%;
      padding: 0 2rem;
   }
   .scStrong .scReform-title {
      letter-spacing: 0;
   }
   .scStrong .scReform-title span {
      display: block;
      padding: 0;
   }
   .scStrong-list {
      display: block;
      margin-top: 3.4rem;
   }
   .scStrong-list li {
      width: 100%;
   }
   .scStrong-list li + li {
      margin-top: 20px;
   }
   .scStrong-list li .listTitle {
      font-size: 2.2rem;
      line-height: 1.667;
   }
   .scStrong-list li .listText {
      letter-spacing: 0;
      margin-top: 13px;
   }
   .scStrong-list li .top {
      padding: 4rem 2.2rem 2.1rem;
   }
   .scStrong-list li .bottom {
      padding: 3rem 2.2rem 4rem;
   }
   .scStrong-list li .listCheckText {
      font-size: 1.6rem;
      line-height: 1.5;
   }
   .scStrong-list li .listCheckText::before {
      top: 2px;
   }

   .scStrong-case {
      padding-top: 60px;
   }
   .scStrong-case-title {
      font-size: 2rem;
      padding-bottom: 14px;
   }
   .scStrong-case-title::before {
      width: 34px;
   }
   .scStrong-case-column {
      display: block;
      margin-top: 30px;
   }
   .scStrong-case-defPlan {
      width: 100%;
      padding: 40px 43px 30px;
   }
   .defPlan-title {
      font-size: 1.8rem;
      text-align: center;
   }
   .defPlan-title::before {
      left: 50%;
      transform: translateX(-50%);
      width: 34px;
   }
   .defPlan-img {
      width: 212px;
      margin: 20px auto 0;
      position: relative;
      left: -9px;
   }
   .defPlan-text {
      text-align: justify;
      margin-top: 30px;
   }
   .scStrong-case-propPlan {
      width: 100%;
      margin-top: 40px;
   }
   .propPlan-tab {
      padding-bottom: 4px;
      font-size: 1.8rem;
      letter-spacing: 0;
   }
   .propPlan-tab:not(.current) {
      width: calc(50% - 5px);
   }
   .propPlan-tab.current {
      width: calc(50% + 5px);
   }
   .propPlan-cont {
      margin-top: 30px;
   }
   .propPlan-title {
      font-size: 1.8rem;
      letter-spacing: 0.1em;
      line-height: 1.8;
   }
   .propPlan-img {
      width: calc(100% - 44px);
      margin: 26px auto 0;
   }
   .propPlan-list {
      display: block;
      margin-top: 22px;
      padding: 0 22px;
   }
   .propPlan-list li {
      width: 100%;
   }
   .propPlan-list li + li {
      margin-top: 20px;
   }
   .propPlan-list li .propPlan-list-title .num {
      margin-top: 2px;
   }
   .propPlan-list li .propPlan-list-title .text {
      font-size: 1.7rem;
      line-height: 1.471;
   }
   .propPlan-list li .propPlan-list-title .text.ls-05 {
      letter-spacing: 0;
   }
   .propPlan-list li .propPlan-list-text {
      font-size: 1.4rem;
      line-height: 1.5;
      margin-top: 10px;
   }
}
/* リフォームの強み
***************************************************************/

/* お客様の声
***************************************************************/
.scVoice {
   background: #E9EFF2;
   padding: 12rem 0 15rem;
}
.scVoice .inner {
   width: 1200px;
   margin: 0 auto;
}
.scVoice-list {
   display: flex;
   flex-wrap: wrap;
   gap: 40px;
   margin-top: 55px;
}
.scVoice-list li {
   width: calc((100% - 40px)/2);
   background: #fff;
   padding: 47px 47px 70px;
}
.scVoice-list-title {
   font-size: 2.4rem;
   letter-spacing: 0;
   line-height: 40px;
   font-weight: 500;
}
.scVoice-list-data {
   background: #EDF2F4;
   padding: 18px 14px 14px;
   margin-top: 24px;
}
.scVoice-list-data .name {
   font-size: 1.5rem;
   letter-spacing: 0;
   padding: 0 14px;
}
.scVoice-list-data .tags {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 10px 36px;
   background: #fff;
   padding: 6px 14px;
   margin-top: 15px;
}
.scVoice-list-data .tags + .tags {
   margin-top: 5px;
}
.scVoice-list-data .tag {
   font-size: 1.7rem;
   letter-spacing: 0;
}
.scVoice-list-data .tag + .tag {
   position: relative;
}
.scVoice-list-data .tag + .tag::before {
   content: '';
   position: absolute;
   top: 50%;
   left: calc((-36px - -1px)/2);
   transform: translateY(-50%);
   width: 1px;
   height: 23px;
   background: #707070;
}
.scVoice-list li dl {
   margin-top: 20px;
}
.scVoice-list li dl + dl {
   margin-top: 27px;
}
.scVoice-list li dt {
   display: flex;
   font-size: 1.8rem;
   letter-spacing: 0;
   font-weight: 500;
}
.scVoice-list li dd {
   margin-top: 8px;
   font-size: 1.4rem;
   letter-spacing: 0;
   line-height: 27px;
}
.scVoice-list li dd.column {
   padding-right: 139px;
   position: relative;
}
.scVoice-list li dd.column .img {
   position: absolute;
   right: 0;
   bottom: 0;
   width: 129px;
}
@media all and (min-width: 681px) {
   .scVoice-list-title {
      white-space: nowrap;
   }
}
@media all and (max-width: 680px) {
   .scVoice {
      padding: 5rem 0 6rem;
   }
   .scVoice .inner {
      width: 100%;
      padding: 0 2rem;
   }
   .scVoice-list {
      display: block;
      margin-top: 30px;
   }
   .scVoice-list li {
      width: 100%;
      padding: 30px 23px 40px;
   }
   .scVoice-list li + li {
      margin-top: 30px;
   }
   .scVoice-list-title {
      font-size: 1.8rem;
      line-height: 1.667;
   }
   .scVoice-list-data {
      padding: 10px 10px 10px;
      margin-top: 15px;
   }
   .scVoice-list-data .name {
      font-size: 1.4rem;
      padding: 0 5px;
   }
   .scVoice-list-data .tags {
      gap: 7px 14px;
      padding: 5px 8px;
      margin-top: 5px;
   }
   .scVoice-list-data .tag {
      font-size: 1.2rem;
   }
   .scVoice-list-data .tag + .tag::before {
      left: calc((-16px - -1px)/2);
      height: 16px;
   }
   .scVoice-list li dl {
      margin-top: 26px;
   }
   .scVoice-list li dl + dl {
      margin-top: 16px;
   }
   .scVoice-list li dt {
      font-size: 1.6rem;
      line-height: 1.5;
   }
   .scVoice-list li dd {
      margin-top: 10px;
      font-size: 1.4rem;
      line-height: 1.8462;
   }
   .scVoice-list li dd.column {
      display: flex;
      align-items: center;
      gap: 12px;
      padding-right: 0;
   }
   .scVoice-list li dd.column p {
      width: calc(100% - 120px - 12px);
   }
   .scVoice-list li dd.column .img {
      position: relative;
      bottom: 0;
      width: 120px;
   }
}
/* お客様の声
***************************************************************/


/* コメントアウト
***************************************************************/
@media all and (min-width: 681px) {
   
}
@media all and (max-width: 680px) {
   
}
/* コメントアウト
***************************************************************/