@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 {
#concept .main-ttl-wrap {
    margin-bottom: 0;
}
#concept .seo_bread_list {
    max-width: 1200px;
    padding: 16px 0;
}
.section-wrap {
    background: url(../images/concept/concept-bg.png)repeat-y center top;
    padding-bottom: 140px;
}
/* mv
-------------------------------------*/
.mv .en {
    max-width: 1920px;
    width: 100%;
    margin-inline: auto;
    z-index: 6;
    position: relative;
}
.mv .en::before {

}
 .mv .loop {
    overflow: hidden;
    padding: 104px 0 0;
}
 .mv .loop .loop__box {
    display: flex;
    width: 100vw;
}
 .mv .loop .loop__box img {
    min-width: 175.5vw;
}
 .mv .loop .loop__box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
 .mv .loop .loop__box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}
 .mv .inner {
    padding-bottom: 164px;
}
 .mv .inBox01 {
    display: grid;
    grid-template-columns: 1fr 54.32%;
    margin-top: -118px;
    width: min(95%, 1620px);
    margin-left: auto;
    position: relative;
    z-index: 1;
}
.mv .inBox01::before {
    position: absolute;
    content: "";
    background: url(../images/concept/concept-deco01.png)no-repeat;
    background-size: contain;
    width: 946px;
    height: 826px;
    top: -196px;
    left: -295px;
}
.mv .inBox01::after {
    position: absolute;
    content: "";
    background: url(../images/concept/concept-deco03.png)no-repeat;
    background-size: contain;
    width: 695px;
    height: 663px;
    top: -173px;
    right: 0;
    z-index: -1;
}
.mv .inBox01 .photo {
    position: relative;
}
.mv .inBox01 .ttl-box {padding: 178px 0 0 19px;}
.mv .inBox01 h2 {
    margin-bottom: 64px;
    padding: 0 0 0 9px;
    position: relative;
}
.mv .inBox01 h3 {
    position: relative;
}
.mv .inBox01 .photo01 {
    padding: 63px 0 0;
}
.mv .inBox02 {
    display: grid;
    grid-template-columns: 56.0606% 33.3333%;
    gap: 80px;
    width: min(95%, 1320px);
    margin-inline: auto;
}
.mv .inBox02 .photo-box {
    position: relative;
    top: -55px;
}
.mv .inBox02 .photo03 {
    position: absolute;
    top: -40px;
    right: 140px;
    z-index: 7;
}
.mv .inBox02 .photo04 {
    position: absolute;
    top: 180px;
    right: 0;
}
.mv .inBox02 .txt-box{
    padding: 74px 0 0;
}
.mv .inBox02 .txt{
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2.25;
    margin-bottom: 36px;
}

/* sec共通
-------------------------------------*/
.sec {
    position: relative;
    margin-bottom: 120px;
}
.sec::before {
    position: absolute;
    content: "";
    width: 91.6666%;
    top: 0;
    z-index: 1;
}
.sec .inner{
    width: min(95%, 1280px);
    margin-inline: auto;
    padding: 116px 0 120px;
}
.sec .num {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #3b8461;
    display: flex;
    justify-content: center;
    gap: 6px;
    align-items: baseline;
    margin-bottom: 16px;
    position: relative;
    z-index: 2;
}
.sec .num span {
    font-weight: normal;
    font-size: 40px;
    line-height: 0.5;
    text-align: center;
    color: #3b8461;
}
.sec h2 {
    font-weight: 500;
    font-size: 32px;
    letter-spacing: 0.05em;
    text-align: center;
    background: url(../images/concept/sec-ttl-line.svg)no-repeat;
    background-position: center bottom;
    background-size: auto;
    position: relative;
    padding-bottom: 27px;
    margin-bottom: 75px;
    z-index: 2;
}
.sec h3 {
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 0.05em;
    line-height: 1.785714;
    margin-bottom: 38px;
}
.sec .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2.25;
    margin-bottom: 29px;
}
.sec .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.sec .inBox01 {
    display: grid;
    grid-template-columns: 45.3125% 1fr;
    position: relative;
    gap: 60px;
    padding-bottom: 74px;
    z-index: 2;
}
.sec .inBox01 .txt-box {
    padding-left: 90px;
}
.sec .inBox01 .photo {padding: 5px 0 0;}
.sec .inBox02 {
    width: min(95%, 940px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 38.2978% 1fr;
    gap: 60px;
    position: relative;
    z-index: 2;
}
.sec .inBox02 .photo {padding: 5px 0 0;}
.sec .inBox02 .txt {margin-bottom: 17px;}
.sec .inBox02 .txt:nth-child(2) {
    margin-bottom: 43px;
}
.sec .btn {
    width: min(95%, 260px);
}
.sec .btn a{
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 2.571428;
    position: relative;
    display: block;
    border-bottom: 1px solid #1D1D1F;
    padding-bottom: 5px;
}
.sec .btn a::after {
    position: absolute;
    content: "";
    background: url(../images/common/util-btn-arrow02.svg)no-repeat;
    width: 30px;
    height: 30px;
    right: 0;
    transition: all 0.2s;
    background-size: contain;
    top: 3px;
}
.sec .btn a:hover {
    text-decoration: none;
}
.sec .btn a:hover::after {
    right: -5px;
}

/* concept01
-------------------------------------*/
.concept01::before {
    height: 99.91%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #fff 100%);
    left: 0;
    z-index: 1;
    border-radius: 0px 100px 100px 0px;
}
.concept01 .inner::before {
    position: absolute;
    content: "";
    background: url(../images/concept/concept-deco02.png)no-repeat;
    background-size: contain;
    width: 695px;
    height: 663px;
    top: -251px;
    right: -107px;
}


/* concept02
-------------------------------------*/
.concept02::before {
    height: 99.91%;
    background: linear-gradient(to left, rgba(255, 255, 255, 0) 0%, #fff 100%);
    right: 0;
    z-index: 1;
    border-radius: 100px 0 0 100px;
}
.concept02 .inner::before {
    position: absolute;
    content: "";
    background: url(../images/concept/concept-deco03.png)no-repeat;
    background-size: contain;
    width: 695px;
    height: 663px;
    top: -406px;
    left: -107px;
}
.concept02 .inBox01 {
    grid-template-columns: 50% 38.28125%;
}
.concept02 .inBox01 .txt-box {
    padding-left: 0;
}
.concept02 .inBox02 {
    grid-template-columns: 1fr 38.2978% ;
}

/* concept03
-------------------------------------*/
.concept03 {
    margin-bottom: 0;
}
.concept03::before {
    height: 99.91%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #fff 100%);
    left: 0;
    z-index: 1;
    border-radius: 0px 100px 100px 0px;
}
.concept03 .inner::before {
    position: absolute;
    content: "";
    background: url(../images/concept/concept-deco02.png)no-repeat;
    background-size: contain;
    width: 695px;
    height: 663px;
    top: -406px;
    right: -107px;
}
.concept03 .inBox02 .txt:nth-child(2) {margin-bottom: 18px;}
.concept03 .inBox02 .txt:nth-child(3) {margin-bottom: 42px;}

/* bottom-sec
-------------------------------------*/
.bottom-sec {
    position: relative;
}
.bottom-sec::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 240px;
    top: 0;
    left: 0;
    background: url(../images/concept/bottom-sec-bg.png)no-repeat center top;
}
.bottom-sec .inner {
    width: min(95%, 1670px);
    margin-right: auto;
    display: grid;
    grid-template-columns: 65.8682% 29.5%;
    gap: 81px;
    align-items: center;
    padding: 43px 0 0;
}
.bottom-sec .txt-box {
    position: relative;
    top: -17px;
}
.bottom-sec h2 {
    font-weight: 500;
    font-size: 36px;
    letter-spacing: 0.05em;
    line-height: 1.9;
    margin-bottom: 27px;
    position: relative;
}
.bottom-sec h2::before {
    position: absolute;
    content: "";
    background: url(../images/concept/bottom-sec-deco.png)no-repeat;
    width: 137px;
    height: 71px;
    top: -95px;
    right: 74px;
}
.bottom-sec .entxt {
    font-size: 14px;
    letter-spacing: 0;
}

/* bnr-box
-------------------------------------*/
.bnr-box {
    background: url(../images/concept/bnr-box-bg.png)no-repeat center top;
    background-size: cover;
    margin-top: -225px;
    position: relative;
    margin-bottom: -104px;
}
.bnr-box .list{
    width: min(95%, 1100px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
    padding: 285px 0 258px;
}
.bnr-box .list li img {
    margin-bottom: 13px;
}
.bnr-box .list li .txt {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.7142857;
    text-align: center;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1800px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1800px) {
/* mv
-------------------------------------*/
 .mv .loop {
    padding: 5.778vw 0 0;
}
 .mv .inner {
    padding-bottom: 9.111vw;
}
 .mv .inBox01 {
    grid-template-columns: 1fr 54.32%;
    margin-top: -6.556vw;
    width: 90vw;
}
.mv .inBox01::before {
    width: 52.556vw;
    height: 45.889vw;
    top: -10.889vw;
    left: -16.389vw;
}
.mv .inBox01 .ttl-box {padding: 9.889vw 0 0 1.056vw;}
.mv .inBox01 h2 {
    margin-bottom: 3.556vw;
    padding: 0 0 0 0.5vw;
    position: relative;
}
.mv .inBox01 h2 img {
    width: 21.889vw;
}
.mv .inBox01 h3 img {
    width: 17.833vw;
}
.mv .inBox01 .photo01 {
    padding: 3.5vw 0 0;
}
.mv .inBox01 .photo01 img {
    width: 48.889vw;
}
.mv .inBox02 {
    display: grid;
    grid-template-columns: 55.0606% 38.3333%;
    gap: 4.444vw;
    width: 73.333vw;
    margin-inline: auto;
}
.mv .inBox02 .photo-box {
    position: relative;
    top: -3.056vw;
}
.mv .inBox02 .photo02 img {
    width: 15.556vw;
}
.mv .inBox02 .photo03 {
    position: absolute;
    top: -2.222vw;
    right: 7.778vw;
    z-index: 7;
}
.mv .inBox02 .photo03 img {
    width: 15.556vw;
}
.mv .inBox02 .photo04 {
    position: absolute;
    top: 10vw;
    right: 0;
}
.mv .inBox02 .photo04 img {
    width: 23.333vw;
}
.mv .inBox02 .txt-box{
    padding: 4.111vw 0 0;
}
.mv .inBox02 .txt{
    font-size: clamp(0.75rem, 0.564rem + 0.39vw, 1rem);
    margin-bottom: 2vw;
}


}


/* ========================================
@media screen and (min-width:768px) and (max-width:1640px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* sec共通
-------------------------------------*/
.sec {
    margin-bottom: 7.317vw;
}
.sec .inner{
    width: 78.049vw;
    padding: 7.073vw 0 7.317vw;
}
.sec .num {
    font-size: 1.22vw;
    gap: 0.366vw;
    margin-bottom: 0.976vw;
}
.sec .num span {
    font-size: 2.439vw;
}
.sec h2 {
    font-size: 1.951vw;
    padding-bottom: 1.646vw;
    margin-bottom: 4.573vw;
}
.sec h3 {
    font-size: 1.707vw;
    margin-bottom: 2.317vw;
}
.sec .txt {
    font-size: clamp(0.75rem, 0.53rem + 0.46vw, 1rem);
    margin-bottom: 1.768vw;
}
.sec .inBox01 {
    grid-template-columns: 45.3125% 1fr;
    gap: 3.659vw;
    padding-bottom: 4.512vw;
}
.sec .inBox01 .txt-box {
    padding-left: 5.488vw;
}
.sec .inBox01 .photo {padding: 0.305vw 0 0;}
.sec .inBox01 .photo img {
    width: 100%;
    height: auto;
}
.sec .inBox02 {
    width: 57.317vw;
    grid-template-columns: 38.2978% 1fr;
    gap: 3.659vw;
}
.sec .inBox02 .photo {padding: 0.305vw 0 0;}
.sec .inBox02 .photo img {
    width: 100%;
    height: auto;
}
.sec .inBox02 .txt {margin-bottom: 1.037vw;}
.sec .inBox02 .txt:nth-child(2) {
    margin-bottom: 2.622vw;
}
.sec .btn a{
    font-size: clamp(0.75rem, 0.64rem + 0.23vw, 0.875rem);
    padding-bottom: 0.305vw;
}
.sec .btn a::after {
    width: 1.829vw;
    height: 1.829vw;
    top: 26%;
}
.sec .btn a:hover::after {
    right: -0.305vw;
}

/* concept01
-------------------------------------*/
.concept01::before {
    border-radius: 0px 6.098vw 6.098vw 0px;
}
.concept01 .inner::before {
    width: 42.378vw;
    height: 40.427vw;
    top: -15.305vw;
    right: -6.524vw;
}


/* concept02
-------------------------------------*/
.concept02::before {
    border-radius: 6.098vw 0 0 6.098vw;
}
.concept02 .inner::before {
    width: 42.378vw;
    height: 40.427vw;
    top: -24.756vw;
    left: -6.524vw;
}
.concept02 .inBox01 {
    grid-template-columns: 50% 41.28125%;
}
.concept02 .inBox01 .txt-box {
    padding-left: 0;
}
.concept02 .inBox02 {
    grid-template-columns: 1fr 38.2978% ;
}

/* concept03
-------------------------------------*/
.concept03::before {
    border-radius: 0px 6.098vw 6.098vw 0px;
}
.concept03 .inner::before {
    width: 42.378vw;
    height: 40.427vw;
    top: -24.756vw;
    right: -6.524vw;
}
.concept03 .inBox02 .txt:nth-child(2) {margin-bottom: 1.098vw;}
.concept03 .inBox02 .txt:nth-child(3) {margin-bottom: 2.561vw;}
}

/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width:768px) and (max-width:1760px) {
/* bottom-sec
-------------------------------------*/
.bottom-sec::before {
    height: 13.636vw;
    background-size: contain;
}
.bottom-sec .inner {
    width: 94.886vw;
    grid-template-columns: 65.8682% 29.5%;
    gap: 4.602vw;
    padding: 2.443vw 0 0;
}
.bottom-sec .photo img {
    width: 100%;
    height: auto;
}
.bottom-sec .txt-box {
    top: -0.966vw;
}
.bottom-sec h2 {
    font-size: 2.045vw;
    margin-bottom: 1.534vw;
}
.bottom-sec h2::before {
    width: 7.784vw;
    height: 4.034vw;
    top: -5.398vw;
    right: 4.205vw;
}
.bottom-sec .entxt {
    font-size: 0.795vw;
} 

.bnr-box {
    background: url(../images/concept/bnr-box-bg.png)no-repeat center top;
    background-size: cover;
    margin-top: -12.784vw;
    position: relative;
    margin-bottom: -5.909vw;
}
.bnr-box .list li img {
    width: 100%;
    height: auto;
}

    
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1100px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1100px) {
.bnr-box .list{
    gap: 3.636vw;
    padding: 19.909vw 0 23.455vw;
}
}


/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
#concept .main-ttl-wrap {
    margin-bottom: 0;
}
.section-wrap {
    background: url(../images/concept/concept-bg_sp.png)repeat-y center top;
    background-size: contain;
    padding-bottom: 10vw;
}

/* mv
-------------------------------------*/
.mv .en {
    max-width: 100vw;
    width: 100%;
    margin-inline: auto;
    z-index: 6;
    position: relative;
}
 .mv .loop {
    overflow: hidden;
    padding: 19vw 0 0;
}
 .mv .loop .loop__box {
    display: flex;
    width: 100vw;
}
 .mv .loop .loop__box img {
    min-width: 327.5vw;
}
 .mv .loop .loop__box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
 .mv .loop .loop__box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}
 .mv .inner {
    padding-bottom: 30vw;
}
 .mv .inBox01 {
    display: grid;
    position: relative;
    gap: 12vw;
    margin-bottom: 9.5vw;
}
.mv .inBox01::before {
    position: absolute;
    content: "";
    background: url(../images/concept/concept-deco01_sp.png)no-repeat;
    background-size: contain;
    width: 83.82vw;
    height: 84.06vw;
    top: 29vw;
    left: -19vw;
}
.mv .inBox01::after {
    position: absolute;
    content: "";
    background: url(../images/concept/concept-deco03.png)no-repeat;
    background-size: contain;
    width: 84.06vw;
    height: 69.95vw;
    top: -39vw;
    right: -27vw;
}
.mv .inBox01 .ttl-box {padding: 0vw 0 0 5.2vw;order: 2;}
.mv .inBox01 h2 {
    margin-bottom: 7.1vw;
    padding: 0 0 0 1vw;
    position: relative;
}
.mv .inBox01 h3 {
    position: relative;
}
.mv .inBox01 .photo01 {
    order: 1;
    width: 91.06vw;
    margin-left: auto;
    margin-top: -3vw;
    position: relative;
    z-index: 7;
}
.mv .inBox02 {
    display: grid;
    margin-inline: auto;
    gap: 16.5vw;
}
.mv .inBox02 .photo-box {
    position: relative;
    order: 2;
    width: 71.50vw;
    margin-left: auto;
}
.mv .inBox02 .photo02 img {
    width: 27.05vw;
}
.mv .inBox02 .photo03 {
    position: absolute;
    top: -4vw;
    right: 13.5vw;
    z-index: 7;
}
.mv .inBox02 .photo03 img {
    width: 27.05vw;
}
.mv .inBox02 .photo04 {
    position: absolute;
    top: 17.5vw;
    right: 0;
}
.mv .inBox02 .photo04 img {
    width: 40.58vw;
}
.mv .inBox02 .txt-box{
    order: 1;
    width: 89.37vw;
    margin-inline: auto;
}
.mv .inBox02 .txt{
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2.285714;
    margin-bottom: 7.8vw;
}
.mv .inBox02 .txt:last-of-type{
    margin-bottom: 0;
}

/* sec共通
-------------------------------------*/
.sec {
    position: relative;
    margin-bottom: 14.49vw;
}
.sec .inner{
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #fff 100%);
    padding: 13.5vw 0 14.5vw;
    position: relative;
    z-index: 10;
}
.sec .num {
    font-size:2.898vw;
    line-height: 1.6666;
    letter-spacing: 0;
    text-align: center;
    color: #3b8461;
    display: flex;
    justify-content: center;
    gap: 0.97vw;
    align-items: baseline;
    margin-bottom: 3.2vw;
    position: relative;
    z-index: 2;
}
.sec .num span {
    font-weight: normal;
    font-size:6.28vw;
    line-height: 0.76923;
    text-align: center;
    color: #3b8461;
}
.sec h2 {
    font-weight: 500;
    font-size:5.314vw;
    letter-spacing: 0.05em;
    text-align: center;
    background: url(../images/concept/sec-ttl-line_sp.svg)no-repeat;
    background-position: center bottom;
    background-size: auto;
    position: relative;
    padding-bottom: 2.7vw;
    margin-bottom: 9.5vw;
    z-index: 2;
}
.sec h3 {
    font-weight: 500;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.7777;
    margin-bottom: 6.2vw;
    order: 1;
}
.sec .txt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 7vw;
    order: 3;
}
.sec .txt:nth-last-of-type(1) {
    margin-bottom: 0;
}
.sec .inBox01 {
    display: grid;
    position: relative;
    z-index: 2;
    width: 82.13vw;
    margin-inline: auto;
    margin-bottom: 13.2vw;
}
.sec .inBox01 .txt-box {display: contents;}
.sec .inBox01 .photo {
    order: 2;
    margin-bottom: 6.5vw;
}
.sec .inBox02 {
    display: grid;
    position: relative;
    z-index: 2;
    width: 82.13vw;
    margin-inline: auto;
    gap: 5.9vw;
}
.sec .inBox02 .photo {order: 1;}
.sec .inBox02 .txt-box {order: 2;}
.sec .inBox02 .txt:nth-child(2) {
   margin-bottom: 8.5vw;
}
.sec .btn {
    width: 62.80vw;
    margin-inline: auto;
}
.sec .btn a{
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2.571428;
    position: relative;
    display: block;
    border-bottom: 0.2vw solid #1D1D1F;
    padding-bottom: 1vw;
}
.sec .btn a::after {
    position: absolute;
    content: "";
    background: url(../images/common/util-btn-arrow02.svg)no-repeat;
    width: 7.25vw;
    height: 7.25vw;
    right: 0;
    transition: all 0.2s;
    background-size: contain;
    top: 0;
}
.sec .btn a:hover {
    text-decoration: none;
}
.sec .btn a:hover::after {
    right: -1.21vw;
}

/* concept01
-------------------------------------*/
.concept01::before {
    position: absolute;
    content: "";
    background: url(../images/concept/concept-deco02_sp.png)no-repeat;
    background-size: contain;
    width: 80.68vw;
    height: 78.02vw;
    top: -43vw;
    right: -18vw;
}
.concept01 .inner {
    border-radius: 0 14.49vw 14.49vw 0;
}

/* concept02
-------------------------------------*/
.concept02::before {
    position: absolute;
    content: "";
    background: url(../images/concept/concept-deco03_sp.png)no-repeat;
    background-size: contain;
    width: 81.88vw;
    height: 78.74vw;
    top: -49vw;
    left: -14vw;
}
.concept02 .inner{
    background: linear-gradient(to left, rgba(255, 255, 255, 0) 0%, #fff 100%);
    border-radius:  14.49vw 0 0 14.49vw;
}
.concept02 .inBox01 .photo {margin-bottom: 5.9vw;}

/* concept03
-------------------------------------*/
.concept03::before {
    position: absolute;
    content: "";
    background: url(../images/concept/concept-deco02_sp.png)no-repeat;
    background-size: contain;
    width: 80.68vw;
    height: 78.02vw;
    top: -43vw;
    right: -18vw;
}
.concept03 .inner {
    border-radius: 0 14.49vw 14.49vw 0;
    padding: 13.5vw 0 19vw;
}
.concept03 .inBox02 .txt:nth-child(2) {
    margin-bottom: 7vw;
}
.concept03 .inBox02 .txt:nth-child(3) {
    margin-bottom: 8.5vw;
}

/* bottom-sec
-------------------------------------*/
.bottom-sec {
    position: relative;
}
.bottom-sec::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 19.32vw;
    top: 0;
    left: 0;
    background: url(../images/concept/bottom-sec-bg_sp.png)no-repeat center top;
    background-size: contain;
}
.bottom-sec .inner {
    display: grid;
    gap: 6.5vw;
    align-items: center;
    padding: 30vw 0 0;
}
.bottom-sec .photo {
    order: 2;
}
.bottom-sec .txt-box {
    position: relative;
    order: 1;
}
.bottom-sec h2 {
    font-weight: 500;
    font-size:5.314vw;
    letter-spacing: 0.05em;
    line-height: 1.95;
    margin-bottom: 2vw;
    position: relative;
    width: 82.13vw;
    margin-inline: auto;
}
.bottom-sec h2::before {
    position: absolute;
    content: "";
    background: url(../images/concept/bottom-sec-deco_sp.png)no-repeat;
    background-size: contain;
    width: 23.43vw;
    height: 12.08vw;
    top: -7vw;
    right: 0vw;
}

/* bnr-box
-------------------------------------*/
.bnr-box {
    background: url(../images/concept/bnr-box-bg_sp.png)no-repeat center top;
    background-size: cover;
    margin-top: -17vw;
    position: relative;
    margin-bottom: -63vw;
}
.bnr-box .list{
    width: 82.13vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 6.6vw;
    padding: 31.4vw 0 86vw;
    text-align: center;
}
.bnr-box .list li img {
    margin-bottom: 3.2vw;
}
.bnr-box .list li .txt {
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 1.7142857;
    text-align: center;
}

}
