@charset "UTF-8";
@charset "UTF-8";
@-webkit-keyframes loop {
0% {
    transform: translateX(100%);
}

to {
    transform: translateX(-100%);
}
}

@keyframes loop {
0% {
    transform: translateX(100%);
}

to {
    transform: translateX(-100%);
}
}

@-webkit-keyframes loop2 {
0% {
    transform: translateX(0);
}

to {
    transform: translateX(-200%);
}
}

@keyframes loop2 {
0% {
    transform: translateX(0);
}

to {
    transform: translateX(-200%);
}
}

/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px),print {
#niwa-reform .main-ttl-wrap {
    margin-bottom: 0;
}
#niwa-reform .seo_bread_list {
    padding: 15px 0;
}
.section-wrap {
    background: url(../images/niwa-reform/section-wrap-bg.png)no-repeat;
    background-size: cover;
}
/* mv
-------------------------------------*/
.mv {
    padding: 117px 0 0;
}
.mv .inner{
    width: min(95%, 1140px);
    margin-inline: auto;
    background: url(../images/niwa-reform/mv-innerBg.png)no-repeat center;
    background-size: auto;
    position: relative;
    padding-bottom: 54px;
}
.mv .inner::after {
    position: absolute;
    content: "";
    background: url(../images/niwa-reform/mv-human.png)no-repeat;
    background-size: contain;
    width: 121px;
    height: 178px;
    bottom: -30px;
    left: 110px;
}
.mv h2 {
    position: relative;
    top: -54px;
    text-align: center;
    margin-bottom: -17px;
}
.mv h3 {
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.6666;
    text-align: center;
    color: #fff;
    margin-bottom: 37px;
}
.mv .photo {
    margin-bottom: 34px;
}
.mv .txt {
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 2.285714;
    text-align: center;
    color: #fff;
}

/* worries
-------------------------------------*/
.worries {
    position: relative;
    z-index: 2;
    margin-bottom: 122px;
}
.worries::after {
    position: absolute;
    content: "";
    background: url(../images/page-common/worries-arrow.svg)no-repeat;
    background-size: contain;
    width: 240px;
    height: 60px;
    bottom: -66px;
    left:50%;
    transform: translateX(-50%);
}
.worries .inner {
    width: min(95%, 1010px);
    margin-inline: auto;
    padding: 96px 0 36px;
}
.worries h2 {
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 1.72727;
    text-align: center;
    margin-bottom: 27px;
}
.worries h2 span {
    font-weight: 500;
    font-size: 26px;
    letter-spacing: 0.05em;
    line-height: 1.461538;
    text-align: center;
    color: #3b8461;
}
.worries .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    position: relative;
    margin-bottom: 1px;
}
.worries .list::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/worries-deco.png)no-repeat;
    background-size: contain;
    width: 152px;
    height: 86px;
    top: -87px;
    right: 139px;
}
.worries .list li {
    border-radius: 5px;
    background: #fff;
    box-shadow: 0px 6px 12px rgba(29, 29, 31, 0.1);
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 2;
    position: relative;
    padding: 15px 17px 15px 65px;
}
.worries .list li::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/check-icon.svg)no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
    top: 18px;
    left: 20px;
}
.worries .list li span {
    color: #3B8461;
}

/* suggestion
-------------------------------------*/
.suggestion h2 {
    font-weight: 500;
    font-size: 40px;
    letter-spacing: 0.1em;
    line-height: 1.725;
    text-align: center;
    margin-bottom: 20px;
}
.suggestion h2 span {
    background: linear-gradient(transparent 60%, #E6FF00 40%);
}
.suggestion h3 {
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 2.625;
    text-align: center;
}
.suggestion .loop {
    overflow: hidden;
    padding: 64px 0 141px;
}
.suggestion .loop .loop__box {
    display: flex;
    width: 100vw;
}
.suggestion .loop .loop__box img {
    min-width: 106.25vw;
}
.suggestion .loop .loop__box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
.suggestion .loop .loop__box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}

/* merit共通
-------------------------------------*/
.merit {
    background: #F6F6F6;
}
.merit .inner {
    width: min(95%, 1600px);
    margin-inline: auto;
    padding: 140px 0;
    align-items: start;
}
.merit .num {
    font-size: 16px;
    letter-spacing: 0;
    display: grid;
    margin-bottom: 14px;
}
.merit .num span {
    font-size: 66px;
    letter-spacing: 0;
    line-height: 1.1;
}
.merit h2 {
    font-weight: 500;
    font-size: 36px;
    letter-spacing: 0.05em;
    line-height: 1.6666;
    margin-bottom: 42px;
}
.merit h3 {
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 1.72727;
    padding-bottom: 21px;
}
.merit .subt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2.25;
    margin-bottom: 11px;
}
.merit .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2.25;
    margin-bottom: 18px;
}
.merit .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.merit .txt span {
    background: linear-gradient(transparent 60%, #E5E9D4 40%);
}
.merit .inBox01 {
    display: grid;
    grid-template-columns: 50% 67.142857%;
    width: min(95%, 1400px);
    margin-inline: auto;
    padding-bottom: 53px;
}
.merit .inBox01 .txt-box {
    padding: 0 0 0 100px;
    position: relative;
    margin: 286px 0 0;
}
.merit .inBox01 .txt {
    width: max-content;
    margin-bottom: 0;
}
.merit .inBox01 .ttl-wrap {
    background: #F6F6F6;
    position: relative;
    z-index: 2;
    padding: 37px 0 0;
}
.merit .inBox01 .photo {
    position: relative;
    right: calc(100% - 74.5%);
}
.merit .inBox02 {
    width: min(95%, 980px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 44.8979% 48.9795%;
    gap: 60px;
}
.merit .inBox02 .txt-box {
    padding: 35px 0 0;
}

/* merit02
-------------------------------------*/
.merit02 .inner {
    background: #FFFFFF;
    padding: 120px 0;
}
.merit02 .inBox01 {
    grid-template-columns: 67.142857% 50%;
    padding-bottom: 0;
}
.merit02 .inBox01 .txt-box {
    position: relative;
    margin: 286px 0 0;
    padding: 0;
    right: calc(100% - 65.5%);
}
.merit02 .inBox01 .ttl-wrap {
    background: #FFFFFF;
    padding: 38px 0 0 61px;
}
.merit02 .num {justify-content: center;padding-right: 21px;text-align: right;}
.merit02 h2 {margin-bottom: 40px;}
.merit02 .inBox01 h3 {margin-bottom: 0px;}
.merit02 .inBox01 .photo {
    position: relative;
    right: auto;
}
.merit02 .inBox02 {
    width: min(95%, 1100px);
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 36px;
    padding-bottom: 60px;
}
.merit02 .inBox02 .txt-box {
    text-align: center;
    padding: 31px 0 0;
}
.merit02 .inBox02 .txt {
    margin-bottom: 0;
    line-height: 2;
}
.merit02 .inBox03 {
    width: min(95%, 980px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 48.9795% 44.8979%;
    gap: 60px;
}
.merit02 .inBox03 h3 {padding-bottom: 20px;}
.merit02 .inBox03 .txt-box {padding: 39px 0 0;}

/* merit03
-------------------------------------*/
.merit03 .inBox01 {
    grid-template-columns: 54.3% 67.142857%;
}
.merit03 .inBox01 .photo {
    position: relative;
    right: calc(100% - 68%);
}
.merit03 .inBox02 .txt-box {padding: 24px 0 0;}

/* contact
-------------------------------------*/
.contact {
    background: #F6F6F6;
    text-align: center;
    padding: 20px 0 0;
}
.contact h2 {
    font-weight: 500;
    font-size: 40px;
    letter-spacing: 0.1em;
    line-height: 1.45;
    text-align: center;
    margin-bottom: 25px;
    position: relative;
    z-index: 3;
}
.contact h2 span {
    background: linear-gradient(transparent 60%, #E6FF00 40%);
}
.contact h3 {
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    position: relative;
    display: inline-block;
}
.contact h3::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/welcome-en.svg)no-repeat;
    background-size: contain;
    width: 188px;
    height: 38px;
    top: -47px;
    right: -228px;
}
#niwa-reform .form-Box .form-box-inner::after {
    position: absolute;
    content: "";
    background: url(../images/niwa-reform/contact-human.png)no-repeat;
    background-size: contain;
    width: 160px;
    height: 177px;
    top: -179px;
    right: 248px;
}
#niwa-reform .form-Box {padding: 55px 0 136px;}


/* tel
-------------------------------------*/
.sec-tel {
    padding-bottom: 300px;
    margin-bottom: -131px;
}
.sec-tel .enttl {
    font-size: 20px;
    letter-spacing: 0;
    text-align: center;
    color: #3b8461;
    margin-bottom: 2px;
}
.sec-tel h4 {
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 0.05em;
    line-height: 2.25;
    text-align: center;
    margin-bottom: 31px;
}
.sec-tel .tel-box {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 30px;
}
.sec-tel .tel-box .open{
    font-size: 16px;
    line-height: 1.875;
    position: relative;
    top: 5px;
    letter-spacing: 0;
}


}

/* ========================================
@media screen and (min-width:768px) and (max-width:1200px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1200px) {
/* mv
-------------------------------------*/
.mv {
    padding: 9.833vw 0 0;
}
.mv .inner{
    width: 95vw;
    padding-bottom: 4.5vw;
    background-size: contain;
}
.mv .inner::after {
    width: 10.083vw;
    height: 14.833vw;
    bottom: -2.5vw;
    left: 9.167vw;
}
.mv h2 {
    top: -4.5vw;
    margin-bottom: -1.417vw;
}
.mv h3 {
    font-size: 2vw;
    margin-bottom: 3.083vw;
}
.mv .photo {
    margin-bottom: 2.833vw;
}
.mv .photo img {
    width: 100%;
    height: auto;
}
.mv .txt {
    font-size: clamp(0.625rem, 0.181rem + 0.93vw, 0.875rem);
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1050px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1050px) {
    /* worries
-------------------------------------*/
.worries {
    margin-bottom: 11.619vw;
}
.worries::after {
    width: 22.857vw;
    height: 5.714vw;
    bottom: -6.286vw;
}
.worries .inner {
    padding: 9.143vw 0 3.429vw;
}
.worries h2 {
    font-size: 2.095vw;
    margin-bottom: 2.571vw;
}
.worries h2 span {
    font-size: 2.476vw;
}
.worries .list {
    gap: 1.714vw;
    margin-bottom: 0.095vw;
}
.worries .list::before {
    width: 14.476vw;
    height: 8.19vw;
    top: -8.286vw;
    right: 13.238vw;
}
.worries .list li {
    border-radius: 0.476vw;
    font-size: 1.714vw;
    padding: 1.429vw 1.619vw 1.429vw 6.19vw;
}
.worries .list li::before {
    width: 2.857vw;
    height: 2.857vw;
    top: 1.714vw;
    left: 1.905vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1100px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1100px) {
.suggestion h2 {
    font-size: clamp(1.688rem, -0.192rem + 3.92vw, 2.5rem);
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {

/* merit共通
-------------------------------------*/
.merit .inner {
    padding: 8.537vw 0;
}
.merit .num {
    font-size: 0.976vw;
    margin-bottom: 0.854vw;
}
.merit .num span {
    font-size: 4.024vw;
}
.merit h2 {
    font-size: clamp(1.25rem, 0.7rem + 1.15vw, 1.875rem);
    margin-bottom: 2.561vw;
}
.merit h3 {
    font-size: clamp(1rem, 0.67rem + 0.69vw, 1.375rem);
    padding-bottom: 1.28vw;
}
.merit .subt {
    font-size: clamp(0.625rem, 0.295rem + 0.69vw, 1rem);
    margin-bottom: 0.671vw;
}
.merit .txt {
    font-size: clamp(0.625rem, 0.295rem + 0.69vw, 1rem);
    margin-bottom: 1.098vw;
}
.merit .inBox01 {
    grid-template-columns: 50% 67.142857%;
    padding-bottom: 3.232vw;
}
.merit .inBox01 .txt-box {
    padding: 0 0 0 6.098vw;
    margin: 17.439vw 0 0;
}
.merit .inBox01 .ttl-wrap {
    padding: 2.256vw 0 0;
}
.merit .inBox01 .photo {
    right: calc(100% - 74.5%);
}
.merit .inBox01 .photo img {
    width: 100%;
    height: auto;
}
.merit .inBox02 {
    grid-template-columns: 44.8979% 48.9795%;
    gap: 3.659vw;
}
.merit .inBox02 .txt-box {
    padding: 2.134vw 0 0;
}
.merit .inBox02 .photo img {
    width: 100%;
    height: auto;
}

/* merit02
-------------------------------------*/
.merit02 .inner {
    padding: 7.317vw 0;
}
.merit02 .inBox01 {
    grid-template-columns: 67.142857% 50%;
}
.merit02 .inBox01 .txt-box {
    margin: 17.439vw 0 0;
    right: calc(100% - 65.5%);
}
.merit02 .inBox01 .ttl-wrap {
    background: #FFFFFF;
    padding: 2.317vw 0 0 3.72vw;
}
.merit02 .num {justify-content: center;padding-right: 1.28vw;text-align: right;}
.merit02 h2 {margin-bottom: 2.439vw;}
.merit02 .inBox01 h3 {margin-bottom: 0px;}
.merit02 .inBox02 {
    width: min(95%, 1100px);
    gap: 2.195vw;
    padding-bottom: 3.659vw;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.merit02 .inBox02 .txt-box {
    padding: 1.89vw  0 0;
}
.merit02 .inBox03 {
    grid-template-columns: 48.9795% 44.8979%;
    gap: 3.659vw;
}
.merit02 .inBox03 h3 {padding-bottom: 1.22vw;}
.merit02 .inBox01 .photo {
    position: relative;
    right: auto;
}
.merit02 .inBox03 .txt-box {padding: 2.378vw 0 0;}
.merit02 .inBox03 .photo img {
    width: 100%;
    height: auto;
}

/* merit03
-------------------------------------*/
.merit03 .inBox01 {
    grid-template-columns: 54.3% 67.142857%;
}
.merit03 .inBox01 .photo {
    position: relative;
    right: calc(100% - 68%);
}
.merit03 .inBox02 .txt-box {padding: 1.463vw 0 0;}


}

/* ========================================
@media screen and (min-width:768px) and (max-width:1700px)
======================================== */
@media screen and (min-width:768px) and (max-width:1700px) {
    #niwa-reform .form-Box .form-box-inner::after {
    width: 9.412vw;
    height: 10.412vw;
    top: -10.529vw;
    right: 14.588vw;
}
}
/* ========================================
@media screen and (min-width:768px) and (max-width:1440px)
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
#niwa-reform .form-Box .form-box-inner::after {
    width: 11.111vw;
    height: 12.292vw;
    top: -12.431vw;
    right: 8.222vw;
}
}

/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
#niwa-reform .main-ttl-wrap {
    margin-bottom: 0;
}
.section-wrap {
    background: url(../images/niwa-reform/section-wrap-bg_sp.png)no-repeat;
    background-size: cover;
}

/* mv
-------------------------------------*/
.mv {
    padding: 18vw 0 23vw;
}
.mv .inner{
    width: 91.79vw;
    margin-inline: auto;
    background: url(../images/niwa-reform/mv-innerBg_sp.png)no-repeat center;
    background-size: contain;
    position: relative;
    padding-bottom: 8.8vw;
}
.mv .inner::after {
    position: absolute;
    content: "";
    background: url(../images/niwa-reform/mv-human.png)no-repeat;
    background-size: contain;
    width: 14.98vw;
    height: 21.98vw;
    top: 9vw;
    left: 0vw;
}
.mv h2 {
    position: relative;
    top: -8vw;
    text-align: center;
    margin-bottom: -3vw;
}
.mv h3 {
    font-weight: 500;
    font-size: 3.865vw;
    letter-spacing: 0;
    line-height: 1.75;
    text-align: center;
    color: #fff;
    margin-bottom: 4vw;
}
.mv .photo {
    margin-bottom: 6.5vw;
}
.mv .txt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    color: #fff;
    margin-bottom: 3vw;
}
.mv .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}

/* worries
-------------------------------------*/
.worries {
    position: relative;
    z-index: 2;
    margin-bottom: 21.2vw;
}
.worries::after {
    position: absolute;
    content: "";
    background: url(../images/page-common/worries-arrow.svg)no-repeat;
    background-size: contain;
    width: 36.23vw;
    height: 9.66vw;
    bottom: -12vw;
    left:50%;
    transform: translateX(-50%);
}
.worries .inner {
    width: 89.37vw;
    margin-inline: auto;
    padding: 9.5vw 0 4vw;
}
.worries h2 {
    font-weight: 500;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 2.1111;
    text-align: center;
    margin-bottom: 3.5vw;
}
.worries h2 span {
    font-weight: 500;
    font-size:5.314vw;
    letter-spacing: 0.05em;
    line-height: 1.454545;
    text-align: center;
    color: #3b8461;
}
.worries .list {
    display: grid;
    gap: 2.5vw;
    position: relative;
    margin-bottom: 0.5vw;
}
.worries .list::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/worries-deco.png)no-repeat;
    background-size: contain;
    width: 24.40vw;
    height: 13.77vw;
    top: -29.7vw;
    left: 50%;
    transform: translateX(-50%);
}
.worries .list li {
    border-radius: 1.21vw;
    background: #fff;
    box-shadow: 0px 3px 6px rgba(29, 29, 31, 0.1);
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.8571428;
    position: relative;
    padding: 2.65vw 2vw 2.65vw 10vw;
}
.worries .list li::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/check-icon.svg)no-repeat;
    background-size: contain;
    width: 4.83vw;
    height: 4.83vw;
    top: 3.4vw;
    left: 3.83vw;
}
.worries .list li span {
    color: #3B8461;
}
.worries .etc {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2.85714;
    text-align: right;
    padding-right: 3.5vw;
}

/* suggestion
-------------------------------------*/
.suggestion h2 {
    font-weight: 500;
    font-size:5.556vw;
    letter-spacing: 0.1em;
    line-height: 1.739130;
    text-align: center;
    margin-bottom: 3vw;
}
.suggestion h2 span {
    background: linear-gradient(transparent 60%, #E6FF00 40%);
}
.suggestion h3 {
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
}
.suggestion .loop {
    overflow: hidden;
    padding: 9vw 0 14vw;
}
.suggestion .loop .loop__box {
    display: flex;
    width: 100vw;
}
.suggestion .loop .loop__box img {
    min-width: 271.25vw;
}
.suggestion .loop .loop__box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
.suggestion .loop .loop__box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}

/* merit共通
-------------------------------------*/
.merit {
    background: #F6F6F6;
}
.merit .inner {
    width: 89.37vw;
    margin-inline: auto;
    padding: 19vw 0;
}
.merit .num {
    font-size: 2.415vw;
    letter-spacing: 0;
    display: grid;
    margin-bottom: 2vw;
    order: 1;
}
.merit .num span {
    font-size:8.454vw;
    letter-spacing: 0;
    line-height: 1.1;
}
.merit h2 {
    font-weight: 500;
    font-size:5.314vw;
    letter-spacing: 0.05em;
    line-height: 1.6666;
    margin-bottom: 4vw;
    order: 2;
}
.merit h3 {
    font-weight: 500;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.7777;
    padding-bottom: 6vw;
    order: 3;
}
.merit .subt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2.25;
    margin-bottom: 3vw;
    order: 3;
}
.merit .txt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 6.8vw;
}
.merit .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.merit .txt span {
    background: linear-gradient(transparent 60%, #E5E9D4 40%);
}
.merit .inBox01 {
    display: grid;
    padding-bottom: 13.2vw;
}
.merit .inBox01 .txt-box {
    display: contents;
}
.merit .inBox01 .txt {
    order: 5;
}
.merit .inBox01 .ttl-wrap {
    display: contents;
}
.merit .inBox01 .photo {
    order: 4;
    margin-bottom: 6.5vw;
}
.merit .inBox02 {display: grid;gap: 6.5vw;}

/* merit02
-------------------------------------*/
.merit02 {
    background: #FFFFFF;
}
.merit02 .inner {
    padding: 13vw 0 18vw;
}
.merit02 h2 {
    margin-bottom: 6vw;
}
.merit02 .inBox01 {
    padding-bottom: 0;
}
.merit02 .inBox01 .photo {
    margin-bottom: 6vw;
}
.merit02 .inBox03 {
    padding: 14vw 0 0;
    display: grid;
}
.merit02 .inBox03 .txt-box {
    display: contents;
}
.merit02 .inBox03 h3{
    order: 1;
}
.merit02 .inBox03 .photo{
    order: 2;
    margin-bottom: 6.5vw;
}
.merit02 .inBox03 .txt{
    order: 3;
}

/* merit03
-------------------------------------*/
.merit03 h2 {
    line-height: 1.81818;
    margin-bottom: 3vw;
}

/* contact
-------------------------------------*/
.contact {
    background: #F6F6F6;
    text-align: center;
    padding: 4vw 0 0;
}
.contact h2 {
    font-weight: 500;
    font-size:5.314vw;
    letter-spacing: 0.1em;
    line-height: 1.7;
    text-align: center;
    margin-bottom: 6.5vw;
    position: relative;
    z-index: 3;
}
.contact h2 span {
    background: linear-gradient(transparent 60%, #E6FF00 40%);
}
.contact h3 {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    position: relative;
    display: inline-block;
    margin-bottom: 13.5vw;
}
.contact h3::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/welcome-en.svg)no-repeat;
    background-size: contain;
    width: 30.9vw;
    height: 8.70vw;
    top: -9vw;
    right: -14vw;
}
.contact h3::after {
    position: absolute;
    content: "";
    background: url(../images/niwa-reform/contact-human.png)no-repeat;
    background-size: contain;
    width: 18.36vw;
    height: 20.29vw;
    bottom: -13.5vw;
    right: -13.5vw;
}

/* tel
-------------------------------------*/
.sec-tel {
    background: #fff;
    padding-bottom: 24vw;
}
.sec-tel .enttl {
    font-size:2.898vw;
    letter-spacing: 0;
    text-align: center;
    color: #3b8461;
    margin-bottom: 1vw;
}
.sec-tel h4 {
    font-weight: 500;
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 1;
    text-align: center;
    margin-bottom: 8.2vw;
}
.sec-tel .tel-box {
    display: grid;
    justify-content: center;
    gap: 3.5vw;
}
.sec-tel .tel-box .open{
    font-size:3.865vw;
    line-height: 1.5;
    position: relative;
    letter-spacing: 0;
}


}