@keyframes loop {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
  }
  @keyframes loop2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
  }

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

/* fv
-------------------------------------*/
.p-fv {
    background: url(../images/kominka/fv_bg.jpg) no-repeat top center/cover;
    display: grid;
    grid-template-rows: 1fr auto;
    margin-inline: auto;
    max-width: 1920px;
    width: 100%;
}
.p-fv .l-inner.l-fv {
    padding-block: 223px 133px;
}
.p-fv .p-fv__copy {
    position: relative;
    left: 13px;
    width: min(95%,1125px);
    margin-inline: auto;
}
.p-fv .p-fv__ttl {
    margin-bottom: 28px;
}
.p-fv .p-fv__ttl span {
    color: #ffffff;
    font-size: 64px;
    font-size: clamp(2.5rem, 1.5rem + 2.08vw, 4rem);
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1.6;
    margin-bottom: 0px;
    white-space: nowrap;
}
.p-fv .p-fv__ttl span.span01 {
    display: block;
}
.p-fv .p-fv__ttl span.span02 {
    margin-right: -24px;
}
.p-fv .p-fv__txt {
    color: #ffffff;
    font-size: 22px;
    font-size: clamp(1.125rem, 0.958rem + 0.35vw, 1.375rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 2.0909090909;
    min-width: 0;
    text-align: left;
    width: 100%;
}

.p-fv .p-fv__loop {
    overflow: hidden;
    position: relative;
    width: 100%;
}
.p-fv .p-fv__loop-box {
    display: flex;
    width: 100vw;
}
.p-fv .p-fv__loop-box img {
    box-sizing: content-box;
    min-width: 155.6vw;
    height: auto;
    padding-right: 40px;
}
.p-fv .p-fv__loop-box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
.p-fv .p-fv__loop-box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}

/* about
-------------------------------------*/
.p-about {
    background: #302C17;
    position: relative;
    z-index: 2;
}
.p-about .l-inner.l-about {
    padding-block: 147px 100px;
}
.p-about .p-about__en {
    color: #ffffff;
    font-size: clamp(7.25rem, -0.417rem + 15.97vw, 18.75rem);
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: -168px;
    opacity: 0.12;
    text-align: center;
    margin-left: -23px;
}
.p-about .p-about__ttl {
    color: #ffffff;
    font-size: 77px;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1.35;
    margin-bottom: 72px;
    position: relative;
    text-align: center;
    z-index: 1;
    margin-left: 43px;
}
.p-about .p-about__ttl span {
    display: block;
    font-size: 64px;
    font-weight: 900;
    letter-spacing: 0.02em;
    margin-left: -13px;
}
.p-about .p-about__row {
    align-items: center;
    display: grid;
    gap: 0 50px;
    grid-template-columns: 50% 45.4545%;
    margin-inline: auto;
    width: min(95%, 1100px);
    justify-content: flex-end;
}
.p-about .p-about__name {
    color: #ffffff;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 36px;
}
.p-about .p-about__txt {
    color: #ffffff;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.9;
}
.p-about .p-about__media img {
    height: auto;
    width: 100%;
}

/* tradition
-------------------------------------*/
.p-tradition {
    background: #1B190C;
    margin-bottom: -50px;
    position: relative;
    z-index: 3;
}
.p-tradition::after {
    background: #1B190C;
    bottom: -140px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 133px), 50% 100%, 0 calc(100% - 133px));
    content: "";
    height: 150px;
    left: 0;
    pointer-events: none;
    position: absolute;
    width: 100%;
}
.p-tradition .l-inner.l-tradition {
    padding-block: 86px;
}
.p-tradition .p-tradition__ttl {
    color: #ffffff;
    font-size: 50px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-bottom: 31px;
    text-align: center;
    margin-left: 32px;
}
.p-tradition .p-tradition__ttl span {
    color: #bca32b;
    padding-inline: 4px;
}
.p-tradition .p-tradition__txt {
    color: #ffffff;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.9;
    margin-bottom: 40px;
    text-align: center;
}
.p-tradition .p-tradition__txt:last-of-type {
    margin-bottom: 54px;
}
.p-tradition .p-tradition__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-inline: auto;
    width: min(95%, 1380px);
}
.p-tradition .p-tradition__item img {
    height: auto;
    width: 100%;
}

/* example
-------------------------------------*/
.p-example {
    background: #dedbd7;
    position: relative;
    z-index: 2;
}
.p-example .l-inner.l-example {
    padding-block: 294px 200px;
}
.p-example .p-example__ttl {
    font-size: 50px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-bottom: 36px;
    text-align: center;
    margin-left: 33px;
}
.p-example .p-example__badge {
    background: #1B100D;
    border-radius: 60px;
    color: #ffffff;
    display: table;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-bottom: 40px;
    margin-inline: auto;
    padding: 18px 40px;
    text-align: center;
}
.p-example .p-example__main {
    margin-bottom: 80px;
    margin-inline: auto;
    width: min(95%, 1200px);
}
.p-example .p-example__main img {
    height: auto;
    width: 100%;
}
.p-example .p-example__row {
    align-items: center;
    display: grid;
    gap: 0 40px;
    grid-template-columns: 46.3636% 50%;
    margin-bottom: 60px;
    margin-inline: auto;
    width: min(95%, 1100px);
}
.p-example .p-example__row:last-of-type {
    margin-bottom: 93px;
}
.p-example .p-example__name {
    font-weight: bold;
    font-size: 40px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: left;
    margin-bottom: 36px;
}
.p-example .p-example__txt {
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.9;
}
.p-example .p-example__media img {
    height: auto;
    width: 100%;
}
.p-example .p-example__gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-inline: auto;
    width: min(95%, 1500px);
}
.p-example .p-example__gallery-item img {
    height: auto;
    width: 100%;
}

/* essential
-------------------------------------*/
.p-essential {
    background: #1B190C;
    position: relative;
    z-index: 2;
}
.p-essential .p-essential__intro {
    background: #9C8725;
    padding-block: 0 70px;
    position: relative;
}
.p-essential .p-essential__loop {
    margin-bottom: -94px;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.p-essential .p-essential__loop-box {
    display: flex;
    width: 100vw;
}
.p-essential .p-essential__loop-box img {
    box-sizing: content-box;
    flex-shrink: 0;
    height: auto;
    min-width: 156vw;
    padding-right: 70px;
    width: auto;
}
.p-essential .p-essential__loop-box img:first-child {
    -webkit-animation: loop 60s -30s linear infinite;
    animation: loop 60s -30s linear infinite;
}
.p-essential .p-essential__loop-box img:last-child {
    -webkit-animation: loop2 60s linear infinite;
    animation: loop2 60s linear infinite;
}
.p-essential .l-inner.l-essential {
    margin-inline: auto;
    width: fit-content;
    position: relative;
}
.p-essential .p-essential__ttl {
    font-weight: 900;
    font-size: 77px;
    letter-spacing: 0.02em;
    line-height: 1.55844;
    text-align: left;
    margin-left: 45px;
}
.p-essential .p-essential__main {
    margin-bottom: 80px;
    margin-inline: auto;
    width: 100%;
}
.p-essential .p-essential__main img {
    height: auto;
    width: 100%;
}
.p-essential .p-essential__body {
    padding-bottom: 155px;
}
.p-essential .l-inner.l-essential-body {
    margin-inline: auto;
    width: min(95%, 1100px);
}
.p-essential .p-essential__row {
    align-items: center;
    display: grid;
    gap: 0 40px;
    grid-template-columns: 46.3636% 50%;
    margin-bottom: 80px;
}
.p-essential .p-essential__row:last-child {
    margin-bottom: 0;
}
.p-essential .p-essential__name {
    color: #ffffff;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 36px;
}
.p-essential .p-essential__txt {
    color: #ffffff;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.9;
}
.p-essential .p-essential__media img {
    height: auto;
    width: 100%;
}

/* safety
-------------------------------------*/
.p-safety {
    background: url(../images/kominka/safety_bg.jpg) no-repeat center / cover;
    position: relative;
    z-index: 2;
}
.p-safety .l-inner.l-safety {
    margin-inline: auto;
    padding-block: 117px 113px;
    position: relative;
    width: min(95%, 1100px);
    z-index: 1;
}
.p-safety .p-safety__ttl {
    color: #ffffff;
    font-size: 64px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 52px;
    text-align: center;
    margin-left: 77px;
}
.p-safety .p-safety__ttl span {
    color: #bca32b;
    padding-inline: 5px;
    margin-left: -47px;
}
.p-safety .p-safety__txt {
    color: #ffffff;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 2.0909;
    text-align: center;
}


/* links
-------------------------------------*/
.p-links .p-links__items {
    display: grid;
    gap: 0 40px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-inline: auto;
    width: min(95%, 1100px);
}

}

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

/* about
-------------------------------------*/
.p-about .l-inner.l-about {
    padding-block: 11.484vw 7.813vw;
}
.p-about .p-about__en {
    font-size: 23.83vw;
    margin-bottom: -13.125vw;
    margin-left: -1.797vw;
}
.p-about .p-about__ttl {
    font-size: 6.016vw;
    margin-bottom: 5.625vw;
    margin-left: 3.359vw;
}
.p-about .p-about__ttl span {
    font-size: 5vw;
    margin-left: -1.016vw;
}
.p-about .p-about__row {
    gap: 0 3.906vw;
    width: min(95%, 85.938vw);
}
.p-about .p-about__name {
    font-size: 3.125vw;
    margin-bottom: 2.813vw;
}
.p-about .p-about__txt {
    font-size: 1.563vw;
}

}

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

/* tradition
-------------------------------------*/
.p-tradition {
    margin-bottom: -4.545vw;
}
.p-tradition::after {
    bottom: -12.727vw;
    height: 13.636vw;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12.091vw), 50% 100%, 0 calc(100% - 12.091vw));
}
.p-tradition .l-inner.l-tradition {
    padding-block: 7.818vw;
}
.p-tradition .p-tradition__ttl {
    font-size: 4.545vw;
    margin-bottom: 2.818vw;
    margin-left: 2.909vw;
}
.p-tradition .p-tradition__txt {
    font-size: 1.818vw;
    margin-bottom: 3.636vw;
}
.p-tradition .p-tradition__txt:last-of-type {
    margin-bottom: 4.909vw;
}
.p-tradition .p-tradition__items {
    width: min(95%, 100vw);
}

/* example
-------------------------------------*/
.p-example .l-inner.l-example {
    padding-block: 26.727vw 18.182vw;
}
.p-example .p-example__ttl {
    font-size: 4.545vw;
    margin-bottom: 3.273vw;
    margin-left: 3vw;
}
.p-example .p-example__badge {
    font-size: 2.545vw;
    margin-bottom: 3.636vw;
    padding: 1.636vw 3.636vw;
}
.p-example .p-example__main {
    margin-bottom: 7.273vw;
    width: min(95%, 109.091vw);
}
.p-example .p-example__row {
    gap: 0 3.636vw;
    margin-bottom: 5.455vw;
    width: min(95%, 100vw);
}
.p-example .p-example__row:last-of-type {
    margin-bottom: 8.455vw;
}
.p-example .p-example__name {
    font-size: 3.636vw;
    margin-bottom: 3.273vw;
}
.p-example .p-example__txt {
    font-size: 1.818vw;
}
.p-example .p-example__gallery {
    width: min(95%, 100vw);
}

/* essential
-------------------------------------*/
.p-essential .p-essential__intro {
    padding-block: 0 6.364vw;
}
.p-essential .p-essential__loop {
    margin-bottom: -8.545vw;
}
.p-essential .p-essential__loop-box img {
    padding-right: 6.364vw;
}
.p-essential .p-essential__ttl {
    font-size: 7vw;
    margin-left: 4.091vw;
}
.p-essential .p-essential__main {
    margin-bottom: 7.273vw;
}
.p-essential .p-essential__body {
    padding-bottom: 14.091vw;
}
.p-essential .l-inner.l-essential-body {
    width: min(95%, 100vw);
}
.p-essential .p-essential__row {
    gap: 0 3.636vw;
    margin-bottom: 7.273vw;
}
.p-essential .p-essential__name {
    font-size: 3.636vw;
    margin-bottom: 3.273vw;
}
.p-essential .p-essential__txt {
    font-size: 1.818vw;
}

/* safety
-------------------------------------*/
.p-safety .l-inner.l-safety {
    padding-block: 10.636vw 10.273vw;
    width: min(95%, 100vw);
}
.p-safety .p-safety__ttl {
    font-size: 5.818vw;
    margin-bottom: 4.727vw;
    margin-left: 7vw;
}
.p-safety .p-safety__ttl span {
    padding-inline: 0.455vw;
    margin-left: -4.273vw;
}
.p-safety .p-safety__txt {
    font-size: 2vw;
}

/* links
-------------------------------------*/
.p-links .p-links__items {
    gap: 0 3.636vw;
}
.p-links .p-links__item {
    min-width: 0;
}
.p-links .p-links__item .top .en img {
    height: auto;
    max-width: 100%;
    width: auto;
}
.p-links .p-links__item .top .txt {
    font-size: 1.636vw;
    max-width: 100%;
    padding: 0 1.273vw;
}
.p-links .p-links__item .top .en {
    max-width: 90%;
}
.p-links .p-links__item .wrap .left h3 {
    font-size: 2.364vw;
}
.p-links .p-links__item .bottom-txt {
    font-size: 1.636vw;
    padding-block: 0 1.091vw;
}

}

/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
/* fv
-------------------------------------*/
.p-fv {
    background: url(../images/kominka/fv_bg_sp.jpg) no-repeat top center/cover;
    display: grid;
    grid-template-rows: 1fr auto;
    margin-inline: auto;
    max-width: 100vw;
    width: 100%;
    margin: -7.4vw auto 0 auto;
}
.p-fv .l-inner.l-fv {
    width: min(95%, 87.92vw);
    margin-inline: auto;
    padding-block: 56.6vw 0;
    margin-bottom: -5vw;
}
.p-fv .p-fv__copy {
    margin-inline: auto;
    position: relative;
}
.p-fv .p-fv__ttl {
    margin-bottom: 12.97vw;
}
.p-fv .p-fv__ttl span {
    color: #ffffff;
    font-size:7.729vw;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1.6875;
    margin-bottom: 0px;
    white-space: nowrap;
    display: block;
}
.p-fv .p-fv__ttl span.span01 {
    margin-bottom: -0.8vw;
}
.p-fv .p-fv__ttl span.span02 {
    margin: 1.5vw 0 0 0.5vw;
    line-height: 1.4;
}
.p-fv .p-fv__txt {
    color: #ffffff;
    font-size:5.314vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2;
    min-width: 0;
    text-align: left;
    width: 100%;
}

.p-fv .p-fv__loop {
    overflow: hidden;
    position: relative;
    width: 100%;
}
.p-fv .p-fv__loop-box {
    display: flex;
    width: 100vw;
}
.p-fv .p-fv__loop-box img {
    box-sizing: content-box;
    min-width: 338.6vw;
    height: auto;
    padding-right: 9.66vw;
}
.p-fv .p-fv__loop-box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
.p-fv .p-fv__loop-box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}

/* about
-------------------------------------*/
.p-about {
    background: #302C17;
    position: relative;
    z-index: 2;
}
.p-about .l-inner.l-about {
    padding-block: 18.364vw 12.727vw;
}
.p-about .p-about__body {
    order: 2;
}
.p-about .p-about__en {
    color: #ffffff;
    font-size: 19.32vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.05;
    margin-bottom: -27.66vw;
    opacity: 0.12;
    text-align: center;
}
.p-about .p-about__ttl {
    color: #ffffff;
    font-size:7.729vw;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1;
    margin-bottom: 20.12vw;
    position: relative;
    text-align: center;
    z-index: 1;
    margin-left: 6.5vw;
}
.p-about .p-about__ttl span {
    display: block;
    font-size:6.763vw;
    font-weight: 900;
    letter-spacing: 0.02em;
    margin-bottom: 2.4vw;
}
.p-about .p-about__row {
    align-items: center;
    display: grid;
    gap: 7.25vw 0;
    margin-inline: auto;
    width: min(95%, 87.92vw);
}
.p-about .p-about__name {
    color: #ffffff;
    font-size:6.763vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5714;
    margin-bottom: 6.05vw;
}
.p-about .p-about__txt {
    color: #ffffff;
    font-size:4.348vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.7777;
}
.p-about .p-about__media {
    order: 1;
}
.p-about .p-about__media img {
    height: auto;
    width: 100%;
}


/* tradition
-------------------------------------*/
.p-tradition {
    background: #1B190C;
    margin-bottom: -7.25vw;
    position: relative;
    z-index: 3;
}
.p-tradition::after {
    background: #1B190C;
    bottom: -14.07vw;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14.07vw), 50% 100%, 0 calc(100% - 14.07vw));
    content: "";
    height: 14.07vw;
    left: 0;
    pointer-events: none;
    position: absolute;
    width: 100vw;
}
.p-tradition .l-inner.l-tradition {
    padding-block: 14.45vw 12vw;
    margin-inline: auto;
    width: min(95%, 87.92vw);
}
.p-tradition .p-tradition__ttl {
    color: #ffffff;
    font-size:6.763vw;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.6;
    margin-bottom: 6.5vw;
    text-align: center;
    margin-left: 5vw;
}
.p-tradition .p-tradition__ttl span {
    color: #bca32b;
    padding-inline: 0.65vw;
}
.p-tradition .p-tradition__ttl span:nth-of-type(1) {
    margin-left: -5vw;
}
.p-tradition .p-tradition__media {
    margin-bottom: 6.5vw;
}
.p-tradition .p-tradition__media img {
    height: auto;
    width: 100%;
}
.p-tradition .p-tradition__txt {
    color: #ffffff;
    font-size:4.348vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.7777;
    margin-bottom: 8.05vw;
}
.p-tradition .p-tradition__txt:last-of-type {
    margin-bottom: 5.81vw;
}
.p-tradition .p-tradition__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.p-tradition .p-tradition__item img {
    height: auto;
    width: 100%;
}


/* example
-------------------------------------*/
.p-example {
    background: #dedbd7;
    position: relative;
    z-index: 2;
}
.p-example .l-inner.l-example {
    padding-block: 31.45vw 14.65vw;
}
.p-example .p-example__ttl {
    font-size:6.763vw;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.5714;
    margin-bottom: 6.49vw;
    text-align: center;
}
.p-example .p-example__badge {
    background: #1B100D;
    border-radius: 14.49vw;
    color: #ffffff;
    display: table;
    font-size:4.348vw;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-bottom: 12.08vw;
    margin-inline: auto;
    padding: 2.84vw 8.33vw;
    text-align: center;
}
.p-example .p-example__main {
    margin-bottom: 12.08vw;
}
.p-example .p-example__main img {
    height: auto;
    width: 100%;
}
.p-example .p-example__row {
    align-items: center;
    display: grid;
    gap: 7.25vw 0;
    margin-bottom: 8.66vw;
    margin-inline: auto;
    width: min(95%, 91.79vw);
}
.p-example .p-example__row:last-of-type {
  
margin-bottom: 14.49vw;
}
.p-example .p-example__body {
    order: 2;
}
.p-example .p-example__name {
    font-weight: bold;
    font-size:6.763vw;
    letter-spacing: 0.05em;
    line-height: 1.5714;
    text-align: left;
    margin-bottom: 5.96vw;
}
.p-example .p-example__txt {
    font-size:4.348vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.7777;
}
.p-example .p-example__media {
    order: 1;
}
.p-example .p-example__media img {
    height: auto;
    width: 100%;
}
.p-example .p-example__gallery {
    display: grid;
    gap: 2.42vw;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.p-example .p-example__gallery-item:first-child {
    grid-column: 1 / -1;
}
.p-example .p-example__gallery-item img {
    height: auto;
    width: 100%;
}


/* essential
-------------------------------------*/
.p-essential {
    background: #1B190C;
    position: relative;
    z-index: 2;
}
.p-essential .p-essential__intro {
    background: #9C8724;
    padding-block: 0 6.08vw;
    position: relative;
}
.p-essential .p-essential__loop {
    margin-bottom: -8.49vw;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.p-essential .p-essential__loop-box {
    display: flex;
    width: 100vw;
}
.p-essential .p-essential__loop-box img {
    box-sizing: content-box;
    flex-shrink: 0;
    height: auto;
    min-width: 260vw;
    padding-right: 7.5vw;
    width: auto;
}
.p-essential .p-essential__loop-box img:first-child {
    -webkit-animation: loop 60s -30s linear infinite;
    animation: loop 60s -30s linear infinite;
}
.p-essential .p-essential__loop-box img:last-child {
    -webkit-animation: loop2 60s linear infinite;
    animation: loop2 60s linear infinite;
}
.p-essential .l-inner.l-essential {
    margin-inline: auto;
    width: fit-content;
    position: relative;
}
.p-essential .p-essential__ttl {
    font-weight: 900;
    font-size:7.729vw;
    letter-spacing: 0.02em;
    line-height: 1.625;
    text-align: left;
    margin-left: 5vw;
}
.p-essential .p-essential__main {
    margin-bottom: 12.08vw;
    margin-inline: auto;
    width: 100%;
}
.p-essential .p-essential__main img {
    height: auto;
    width: 100%;
}
.p-essential .p-essential__body {
   
padding-block: 0 13.49vw;
}
.p-essential .l-inner.l-essential-body {
    margin-inline: auto;
    width: min(95%, 87.92vw);
}
.p-essential .p-essential__row {
    align-items: center;
    display: grid;
    gap: 7.25vw 0;
    margin-bottom: 10.68vw;
}
.p-essential .p-essential__row:last-child {
    margin-bottom: 0;
}
.p-essential .p-essential__content {
    order: 2;
}
.p-essential .p-essential__name {
    color: #ffffff;
    font-size:6.763vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5714;
    margin-bottom: 6.25vw;
    margin-left: -4vw;
    position: relative;
    left: 4vw;
}
.p-essential .p-essential__txt {
    color: #ffffff;
    font-size:4.348vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.777;
}
.p-essential .p-essential__media {
    order: 1;
}
.p-essential .p-essential__media img {
    height: auto;
    width: 100%;
}


/* safety
-------------------------------------*/
.p-safety {
    background: url(../images/kominka/safety_bg_sp.jpg) no-repeat center / cover;
    position: relative;
    z-index: 2;
}
.p-safety .l-inner.l-safety {
    padding-block: 18.73vw 18.03vw;
    position: relative;
    z-index: 1;
}
.p-safety .p-safety__ttl {
    color: #ffffff;
    font-size:7.729vw;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1.5;
    margin-bottom: 7.76vw;
    text-align: center;
    text-indent: -3.5vw;
    margin-left: 4vw;
}
.p-safety .p-safety__ttl span {
    color: #bca32b;
    margin-left: -3.5vw;
    margin-right: 0.5vw;
}
.p-safety .p-safety__txt {
    color: #ffffff;
    font-size:4.831vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2.2;
    width: min(95%,87.92vw);
    margin-inline: auto;
}



}