@charset "UTF-8";
/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px), print {
/* mv
-------------------------------------*/
.mv {
    background: url(../images/website/mv-bg.jpg)no-repeat center;
    background-size: cover;
    margin-top: 16px;
    position: relative;
}
.mv::after {
    position: absolute;
    content: "";
    background: url(../images/website/mv-arrow.svg)no-repeat;
    background-size: contain;
    width: 80px;
    height: 40px;
    bottom: -17px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}
.mv .inner {
    width: min(95%, 1080px);
    margin-inline: auto;
    padding: 154px 0 185px;
    position: relative;
}
.mv .inner::after {
    position: absolute;
    content: "";
    background: url(../images/website/mv-human.png)no-repeat;
    background-size: contain;
    width: 66px;
    height: 251px;
    bottom: -61px;
    left: -60px;
    z-index: 2;
}
.mv h2 {
    color: #FFF;
    text-align: center;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5238;
    margin-bottom: 37px;
}
.mv .list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
}
.mv .list li {
    width: 200px;
    height: 200px;
    aspect-ratio: 1/1;
    background: #FFFFFF;
    border-radius: 50%;
    display: grid;
    padding: 57px 0 0;
    grid-template-rows: 1fr 52%;
    text-align: center;
}
.mv .list li:nth-child(3) .img {position: relative;left: 7px;top: -8px;}
.mv .list li .txt {
    color: #000;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8; /* 180% */
}

/* con01
-------------------------------------*/
.con01 .inner {
    width: min(95%, 800px);
    margin-inline: auto;
    padding: 91px 0 118px;
    position: relative;
}
.con01 .inner::after {
    position: absolute;
    content: "";
    background: url(../images/website/con01-human.png)no-repeat;
    background-size: contain;
    width: 73px;
    height: 209px;
    bottom: -9px;
    right: -177px;
}
.con01 .subt {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5625; /* 156.25% */
    margin-bottom: 36px;
}
.con01 .subt span {
    color: #C93800;
}
.con01 h2 {
    text-align: center;
    font-size: clamp(2.375rem, 2.208rem + 0.35vw, 2.625rem);
    font-weight: 700;
    line-height: 1.19048; /* 119.048% */
}

/* con02
-------------------------------------*/
.con02 {
    background: #F2F2F2;
    padding-bottom: 80px;
}
.con02 .ttl-box {
    background: url(../images/website/con02-ttl-bg.jpg)no-repeat center;
    background-size: cover;
    padding: 155px 0 232px;
}
.con02 .ttl-box .subt {
    color: #FFF;
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.44;
    margin-bottom: 17px;
}
.con02 .ttl-box h2 {
    color: #FFF;
    text-align: center;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.45833;
}
.con02 .inner {
    width: min(95%, 1400px);
    margin-inline: auto;
    background: #FFFFFF;
    padding: 80px 100px 100px;
    margin-top: -81px;
}
.con02 .img-box {
    background: #EFEFEF;
    padding: 65px 0 58px;
    text-align: center;
}
.con02 .img-box h3 {
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.76; /* 176% */
    margin-bottom: 39px;
}
.con02 .inBox {
    display: grid;
    grid-template-columns: 68.33% 26.66%;
    gap: 60px;
    padding: 50px 0 0;
}
.con02 .inBox .txt-box {
    padding: 8px 0 0;
}
.con02 .inBox h4 {
    font-size: 25px;
    font-weight: 700;
    line-height: 1.76; /* 176% */
    margin-bottom: 31px;
}
.con02 .inBox .txt {
    color: #000;
    font-size: 16px;
    font-weight: 400;
    line-height: 2.25; /* 225% */
}

/* con03
-------------------------------------*/
.con03 {
    background: url(../images/website/con03-bg.png)no-repeat center;
    background-size: cover;
    position: relative;
}
.con03::after {
    position: absolute;
    content: "";
    background: url(../images/website/con03-photo.jpg)no-repeat;
    background-size: contain;
    width: 780px;
    height: 520px;
    top: 179px;
    right: 0;
}
.con03 .inner {
    width: min(95%, 1400px);
    margin-inline: auto;
    padding: 121px 0 110px;
}
.con03 h2 {
    color: #FFF;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.625; /* 162.5% */
    margin-bottom: 18px;
    padding-left: 23px;
}
.con03 h3 {
    color: #FFE330;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.44;
    position: relative;
    margin-bottom: 49px;
    padding-left: 69px;
}
.con03 h3::before {
    position: absolute;
    content: "";
    background: url(../images/website/exclamation.svg)no-repeat;
    background-size: contain;
    width: 33px;
    height: 33px;
    top: 55%;
    left: 22px;
    transform: translateY(-50%);
}
.con03 .check-box {
    background: #FFF;
    width: min(95%, 980px);
    padding: 39px 80px 60px;
    margin-bottom: 60px;
}
.con03 .check-box h4 {
    color: #F2F2F2;
    font-size: 50px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: -3px;
}
.con03 .check-box .list li {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    border-bottom: 1px solid #BDBDBD;
    position: relative;
    padding-left: 63px;
    height: 60px;
    place-content: center;
}
.con03 .check-box .list li::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/check-icon.svg)no-repeat;
    background-size: contain;
    width: 27px;
    height: 23px;
    left: 14px;
    top: 54%;
    transform: translateY(-50%);
}
.con03 .check-box .list li span {
    color: #C93800;
}
.con03 .zoom {
    border-radius: 20px;
    border: 1px solid #B9B9B9;
    background: #FFF;
    box-shadow: 0 20px 40px 0 rgba(26, 26, 26, 0.40);
    padding: 40px 100px 56px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.con03 .zoom h5 {
    font-size: 80px;
    font-weight: 900;
    line-height: 1.19711; /* 119.711% */
    margin-bottom: 6px;
}
.con03 .zoom .lead {
    font-size: 25px;
    font-weight: 700;
    line-height: 1.6; /* 160% */
    letter-spacing: -0.08em;
}
.con03 .zoom .btn {
    width: min(95%, 240px);
    position: relative;
    top: 2px;
}
.con03 .zoom .btn a {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.875; /* 187.5% */
    display: block;
    border-bottom: 1px solid #1A1A1A;
    position: relative;
    padding: 0 0 11px 7px;
}
.con03 .zoom .btn a::after {
    position: absolute;
    content: "＞";
    color: #1A1A1A;
    font-family: "Hanken Grotesk";
    font-size: 13px;
    font-weight: 900;
    line-height: 1.3333; /* 133.333% */
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

/* policy
-------------------------------------*/
.policy {
    padding: 128px 0 164px;
    text-align: center;
}
.policy h2 {
    color: #F5F5F5;
    font-size: 140px;
    font-weight: 900;
    line-height: 1.3;
    position: relative;
    display: inline-block;
    text-align: center;
    margin-bottom: 36px;
    padding-left: 178px;
}
.policy h2::before {
    position: absolute;
    content: "";
    background: url(../images/website/policy-deco.png)no-repeat;
    background-size: contain;
    width: 148px;
    height: 128px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.policy .item {
    display: grid;
    gap: 156px;
}
.policy .item li {
    position: relative;
}
.policy .item li:nth-child(odd)::before {
    position: absolute;
    content: "";
    background: #F2F2F2;
    width: 35.41%;
    height: 380px;
    top: 194px;
    right: 0;
}
.policy .item li:nth-child(even)::before {
    position: absolute;
    content: "";
    background: #F2F2F2;
    width: 35.41%;
    height: 380px;
    top: 194px;
    left: 0;
}
.policy .item li .subt {
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    margin-bottom: 19px;
}
.policy .item li h3 {
    text-align: center;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.4583;
    margin-bottom: 81px;
    position: relative;
}
.policy .item li h3::after {
    position: absolute;
    content: "";
    background: #C93800;
    width: 40px;
    height: 2px;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}
.policy .item li .inBox {
    display: grid;
    width: min(95%, 1160px);
    margin-inline: auto;
    padding-bottom: 101px;
}
.policy .item li:nth-child(odd) .inBox {
    grid-template-columns: 45.34% 1fr;
    gap: 114px;
}
.policy .item li:nth-child(even) .inBox{
    grid-template-columns: 1fr 47.34%;
    gap: 100px;
    padding-bottom: 64px;
}
.policy .item li .inBox .txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 2.25; /* 225% */
    margin-bottom: 36px;
    text-align: left;
}
.policy .item li .inBox .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.policy .item li .inBox .photo {
    position: relative;
    z-index: 2;
    padding: 54px 0 0;
}
.policy .item li .lead {
    color: #FFF;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 2.25; /* 225% */
}
.policy .item li .lead span {
    background: #1A1A1A;
    padding: 5px 14px 5px 26px;
}
.policy .item li:nth-child(2) .lead .span02 {padding: 5px 1px 5px 13px;}

/* works
-------------------------------------*/
#website #works-sec {padding: 132px 0 450px;margin-bottom: -288px;}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
/* mv
-------------------------------------*/
.mv {
    margin-top: 1.25vw;
}
.mv::after {
    width: 6.25vw;
    height: 3.125vw;
    bottom: -1.328vw;
}
.mv .inner {
    width: 84.38vw;
    padding: 12.031vw 0 14.453vw;
}
.mv .inner::after {
    width: 5.156vw;
    height: 19.609vw;
    bottom: -4.766vw;
    left: -4.687vw;
}
.mv h2 {
    font-size: 3.281vw;
    margin-bottom: 2.891vw;
}
.mv .list {
    gap: 1.563vw;
}
.mv .list li {
    width: 15.625vw;
    height: 15.625vw;
    padding: 4.453vw 0 0;
    grid-template-rows: 1fr 52%;
}
.mv .list li:nth-child(3) .img {left: 0.547vw;top: -0.625vw;}
.mv .list li img {
    width: 4.141vw;
    height: auto;
}
.mv .list li .txt {
    font-size: clamp(0.688rem, 0.313rem + 0.78vw, 0.938rem);
}

.con01 .inner::after {
    width: 5.703vw;
    height: 16.328vw;
    bottom: -0.703vw;
    right: -3vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1480px)
======================================== */
@media screen and (min-width:768px) and (max-width:1480px) {
.con02 .img-box h3 {
    font-size: clamp(1.25rem, 0.913rem + 0.7vw, 1.563rem);
}
.con02 .inBox {
    grid-template-columns: 70.33% 26.66%;
    gap: 2.05vw;
}
.con02 .inBox h4 {
    font-size: clamp(1.125rem, 0.653rem + 0.98vw, 1.563rem);
}
.con02 .img-box img {
    width: 60.95vw;
}
.con02 .inBox .photo img {
    width: 100%;
    height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
.con03::after {
    position: absolute;
    content: "";
    background: url(../images/website/con03-photo.jpg)no-repeat;
    background-size: contain;
    width: 40.646vw;
    height: 27.097vw;
    top: 9.328vw;
    right: 0;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
/* con03
-------------------------------------*/
.con03 .inner {
    padding: 8.403vw 0 7.639vw;
}
.con03 h2 {
    font-size: 2.222vw;
    margin-bottom: 1.25vw;
    padding-left: 1.597vw;
}
.con03 h3 {
    font-size: 1.736vw;
    margin-bottom: 3.403vw;
    padding-left: 4.792vw;
}
.con03 h3::before {
    width: 2.292vw;
    height: 2.292vw;
    top: 55%;
    left: 1.528vw;
}
.con03 .check-box {
    width: 68.06vw;
    padding: 2.708vw 5.556vw 4.167vw;
    margin-bottom: 4.167vw;
}
.con03 .check-box h4 {
    font-size: 3.472vw;
    margin-bottom: -0.208vw;
}
.con03 .check-box .list li {
    font-size: clamp(0.75rem, 0.464rem + 0.6vw, 1rem);
    padding-left: 4.375vw;
    height: 4.167vw;
}
.con03 .check-box .list li::before {
    width: 1.875vw;
    height: 1.597vw;
    left: 0.972vw;
}
.con03 .zoom {
    border-radius: 1.389vw;
    padding: 2.778vw 6.944vw 3.889vw;
}
.con03 .zoom h5 {
    font-size: 5.556vw;
    margin-bottom: 0.417vw;
}
.con03 .zoom .lead {
    font-size: 1.736vw;
}
.con03 .zoom .btn {
    width: 16.67vw;
    top: 0.139vw;
}
.con03 .zoom .btn a {
    font-size: clamp(0.625rem, 0.196rem + 0.89vw, 1rem);
    padding: 0 0 0.764vw 0.486vw;
}
.con03 .zoom .btn a::after {
    font-size: 0.903vw;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
/* policy
-------------------------------------*/
.policy {
    padding: 10vw 0 12.812vw;
}
.policy h2 {
    font-size: 10.938vw;
    margin-bottom: 2.813vw;
    padding-left: 13.906vw;
}
.policy h2::before {
    width: 11.563vw;
    height: 10vw;
}
.policy .item {
    gap: 12.188vw;
}
.policy .item li:nth-child(odd)::before {
    width: 35.41%;
    height: 29.688vw;
    top: 15.156vw;
    right: 0;
}
.policy .item li:nth-child(even)::before {
    width: 35.41%;
    height: 29.688vw;
    top: 15.156vw;
    left: 0;
}
.policy .item li .subt {
    font-size: 1.563vw;
    margin-bottom: 1.484vw;
}
.policy .item li h3 {
    font-size: 3.75vw;
    margin-bottom: 6.328vw;
}
.policy .item li h3::after {
    width: 3.125vw;
    height: 0.156vw;
    bottom: -1.562vw;
}
.policy .item li .inBox {
    width: 90.63vw;
    padding-bottom: 7.891vw;
}
.policy .item li:nth-child(odd) .inBox {
    grid-template-columns: 45.34% 1fr;
    gap: 8.906vw;
}
.policy .item li:nth-child(even) .inBox{
    grid-template-columns: 1fr 47.34%;
    gap: 7.813vw;
    padding-bottom: 5vw;
}
.policy .item li .inBox .txt {
    font-size: clamp(0.688rem, 0.219rem + 0.98vw, 1rem);
    margin-bottom: 2.813vw;
}
.policy .item li .inBox .photo {
    padding: 4.219vw 0 0;
}
.policy .item li .inBox .photo img {
    width: 100%;
    height: auto;
}
.policy .item li .lead {
    font-size: 1.563vw;
}
.policy .item li .lead span {
    padding: 0.391vw 1.094vw 0.391vw 2.031vw;
}
.policy .item li:nth-child(2) .lead .span02 {padding: 0.391vw 0.078vw 0.391vw 1.016vw;}

}



/* ========================================
@media screen and (max-width: 767px) 
======================================== */
@media screen and (max-width: 767px) {
/* mv
-------------------------------------*/
.mv {
    background: url(../images/website/mv-bg_sp.jpg)no-repeat center;
    background-size: cover;
    position: relative;
}
.mv::after {
    position: absolute;
    content: "";
    background: url(../images/website/mv-arrow.svg)no-repeat;
    background-size: contain;
    width: 19.32vw;
    height: 9.66vw;
    bottom: -5vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}
.mv .inner {
    /* width: 85.12vw; */
    margin-inline: auto;
    padding: 12.80vw 0 8.6vw;
    position: relative;
}
.mv .inner::after {
    position: absolute;
    content: "";
    background: url(../images/website/mv-human_sp.png)no-repeat;
    background-size: contain;
    width: 10.63vw;
    height: 40.70vw;
    bottom: -12.5vw;
    left: 4.2vw;
    z-index: 2;
}
.mv h2 {
    color: #FFF;
    text-align: center;
    font-size:5.314vw;
    font-weight: 700;
    line-height: 1.4545;
    margin-bottom: 8.45vw;
}
.mv .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 69.57vw;
    margin-inline: auto;
    gap: 0 2.17vw;
    margin-bottom: 5vw;
}
.mv .list li {
    width: 21.74vw;
    height: 21.74vw;
    aspect-ratio: 1/1;
    background: #FFFFFF;
    border-radius: 50%;
    display: grid;
    place-content: center;
    text-align: center;
}
.mv .list li:nth-child(3) .img {position: relative;left: 1vw;}
.mv .txt {
    color: #FFF;
    text-align: center;
    font-size:3.14vw;
    font-weight: 400;
    line-height: 1.69231; /* 169.231% */
}

/* con01
-------------------------------------*/
.con01 .inner {
    width: 89.86vw;
    margin-inline: auto;
    padding: 17.8vw 0 12.08vw;
    position: relative;
}
.con01 .inner::after {
    position: absolute;
    content: "";
    background: url(../images/website/con01-human_sp.png)no-repeat;
    background-size: contain;
    width: 10.39vw;
    height: 30.19vw;
    bottom: -12.17vw;
    right: 0;
}
.con01 .subt {
    text-align: center;
    font-size:5.314vw;
    font-weight: 700;
    line-height: 1.72727;
    margin-bottom: 4.83vw;
    letter-spacing: -0.08em;
}
.con01 .subt span {
    color: #C93800;
}
.con01 h2 {
    text-align: center;
    font-size:7.729vw;
    font-weight: 700;
    line-height: 1.5625;
    letter-spacing: -0.08em;
}

/* con02
-------------------------------------*/
.con02 {
    background: #F2F2F2;
}
.con02 .ttl-box {
    background: url(../images/website/con02-ttl-bg_sp.jpg)no-repeat;
    background-size: cover;
    padding: 14.73vw 0;
    position: relative;
    z-index: 2;
}
.con02 .ttl-box .subt {
    color: #FFF;
    text-align: center;
    font-size:3.623vw;
    font-weight: 700;
    line-height: 1.4666;
    margin-bottom: 3.6vw;
}
.con02 .ttl-box h2 {
    color: #FFF;
    text-align: center;
    font-size:6.763vw;
    font-weight: 700;
    line-height: 1.4642;
}
.con02 .inner {
    background: #FFFFFF;
    padding-bottom: 8.2vw;
}
.con02 .img-box {
    background: #EFEFEF;
    padding: 11.11vw 0 12.4vw;
    text-align: center;
}
.con02 .img-box img {
    width: 91.79vw;
}
.con02 .img-box h3 {
    text-align: center;
    font-size:3.623vw;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 7.00vw;
}
.con02 .inBox {
    display: grid;
    width: 89.37vw;
    margin-inline: auto;
    padding: 10.14vw 0 0;
}
.con02 .inBox .txt-box {
    display: contents;
}
.con02 .inBox h4 {
    font-size:4.348vw;
    font-weight: 700;
    line-height: 1.7222;
    letter-spacing: -0.08em;
    margin-bottom: 5.31vw;
    order: 1;
}
.con02 .inBox .txt {
    color: #000;
    font-size:3.382vw;
    font-weight: 400;
    line-height: 1.85714;
    order: 3;
}
.con02 .inBox .photo {
    order: 2;
    margin-bottom: 4.59vw;
}

/* con03
-------------------------------------*/
.con03 {
    background: url(../images/website/con03-bg_sp.png)no-repeat center;
    background-size: cover;
}
.con03 .inner {
    width: 89.37vw;
    margin-inline: auto;
    padding: 15.94vw 0 17.63vw;
}
.con03 h2 {
    color: #FFF;
    font-size:5.797vw;
    font-weight: 700;
    line-height: 1.45833;
    margin-bottom: 7.19vw;
    text-align: center;
}
.con03 h3 {
    color: #FFE330;
    font-size:3.623vw;
    font-weight: 500;
    line-height: 1.4666;
    position: relative;
    margin-bottom: 8.70vw;
    padding-left: 11.5vw;
}
.con03 h3::before {
    position: absolute;
    content: "";
    background: url(../images/website/exclamation.svg)no-repeat;
    background-size: contain;
    width: 6.28vw;
    height: 6.28vw;
    top: 46%;
    left: 2.5vw;
    transform: translateY(-50%);
}
.con03 .photo {
    margin-bottom: 6.52vw;
}
.con03 .check-box {
    background: #FFF;
    padding: 6.76vw 3.62vw 11.35vw;
    margin-bottom: 9.90vw;
}
.con03 .check-box h4 {
    color: #F2F2F2;
    font-size:6.763vw;
    font-weight: 700;
    line-height: 1.2857;
    padding-left: 1.5vw;
    margin-bottom: -1.5vw;
}
.con03 .check-box .list li {
    font-size:3.382vw;
    font-weight: 700;
    line-height: 1.42857;
    border-bottom: 0.2vw solid #BDBDBD;
    position: relative;
    padding: 3.86vw 0 3.65vw 11.59vw;
}
.con03 .check-box .list li::before {
    position: absolute;
    content: "";
    background: url(../images/page-common/check-icon.svg)no-repeat;
    background-size: contain;
    width: 5.56vw;
    height: 4.83vw;
    left: 2.2vw;
    top: 4.4vw;
}
.con03 .check-box .list li span {
    color: #C93800;
}
.con03 .zoom {
    border-radius: 4.83vw;
    border: 0.2vw solid #B9B9B9;
    background: #FFF;
    box-shadow: 0 10px 20px 0 rgba(26, 26, 26, 0.40);
    padding: 7.25vw 4.83vw 12.56vw;
}
.con03 .zoom h5 {
    font-size: 19.32vw;
    font-weight: 700;
    line-height: 1.19711;
    margin-bottom: -0.5vw;
}
.con03 .zoom .lead {
    font-size:4.348vw;
    font-weight: 700;
    line-height: 1.7222;
    letter-spacing: -0.08em;
    margin-bottom: 9.5vw;
}
.con03 .zoom .btn {
    width: 57.97vw;
}
.con03 .zoom .btn a {
    font-size:3.14vw;
    font-weight: 500;
    line-height: 1;
    display: block;
    border-bottom: 0.2vw solid #1A1A1A;
    position: relative;
    padding: 0 0 3.6vw;
}
.con03 .zoom .btn a::after {
    position: absolute;
    content: "＞";
    color: #1A1A1A;
    font-family: "Hanken Grotesk";
    font-size: 2.42vw;
    font-weight: 900;
    line-height: 1;
    top: 36%;
    right: 0;
    transform: translateY(-50%);
}

/* policy
-------------------------------------*/
.policy {
    padding: 13.29vw 0 20.29vw;
    text-align: center;
}
.policy h2 {
    color: #F5F5F5;
    font-size:12.077vw;
    font-weight: 900;
    line-height: 1.3;
    position: relative;
    display: inline-block;
    text-align: center;
    margin-bottom: 6.04vw;
    padding-left: 19vw;
}
.policy h2::before {
    position: absolute;
    content: "";
    background: url(../images/website/policy-deco_sp.png)no-repeat;
    background-size: contain;
    width: 16.67vw;
    height: 14.49vw;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.policy .item {
    display: grid;
    gap: 20.05vw;
}
.policy .item li {
    position: relative;
}
.policy .item li .subt {
    text-align: center;
    font-size:3.623vw;
    font-weight: 500;
    line-height: 1.4666;
    letter-spacing: -0.08em;
    margin-bottom: 3.14vw;
}
.policy .item li h3 {
    text-align: center;
    font-size:5.797vw;
    font-weight: 700;
    line-height: 1.4583;
    letter-spacing: -0.08em;
    margin-bottom: 9.66vw;
    position: relative;
}
.policy .item li h3::after {
    position: absolute;
    content: "";
    background: #C93800;
    width: 9.66vw;
    height: 0.48vw;
    bottom: -4.43vw;
    left: 50%;
    transform: translateX(-50%);
}
.policy .item li .inBox {
    display: grid;
    padding-bottom: 4.5vw;
    width: 89.37vw;
    margin-inline: auto;
}
.policy .item li:nth-child(2) .inBox {padding-bottom: 11vw;}
.policy .item li .inBox .txt-box {
    order: 2;
}
.policy .item li .inBox .txt {
    color: #000;
    font-size:3.382vw;
    font-weight: 400;
    line-height: 1.85714; /* 185.714% */
    text-align: left;
    margin-bottom: 6.5vw;
}
.policy .item li .inBox .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.policy .item li .inBox .photo {
    position: relative;
    z-index: 2;
    order: 1;
    margin-bottom: 4.89vw;
}
.policy .item li .lead {
    color: #FFF;
    font-size:4.831vw;
    font-weight: 500;
    line-height: 2.25; /* 225% */
    letter-spacing: -0.08em;
    text-align: center;
}
.policy .item li .lead span {
    background: #1A1A1A;
    padding: 1.21vw 3vw 1.21vw 5.31vw;
}
.policy .item li:nth-child(1) .lead .span01 {padding: 1.21vw 1vw 1.21vw 3.31vw;}
.policy .item li:nth-child(1) .lead .span03 {padding: 1.21vw 6vw 1.21vw 8.31vw;}
.policy .item li:nth-child(2) .lead .span01 {padding: 1.21vw 0vw 1.21vw 2.7vw;}
.policy .item li:nth-child(2) .lead .span02 {padding: 1.21vw 4vw 1.21vw 6.31vw;}
.policy .item li:nth-child(2) .lead .span03 {padding: 1.21vw 1vw 1.21vw 3.31vw;}
.policy .item li:nth-child(2) .lead .span04 {padding: 1.21vw 1vw 1.21vw 3.31vw;}

/* works
-------------------------------------*/
#website #works-sec {padding: 14.49vw 0 41.06vw;margin-bottom: -21.5vw;}

}