@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 {
#suggestion .main-ttl-wrap {
    margin-bottom: 0;
}
#suggestion .seo_bread_list {
    padding: 15px 0;
}
.section-wrap {
    background: url(../images/suggestion/sec-wrap-bg.png)repeat;
    background-size: contain;
    padding-bottom: 160px;
}
.util-btn {
    width: min(95%, 340px);
    margin-inline: auto;
 }
 .util-btn a {
    font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
    line-height: 2.0625;
    letter-spacing: 0;
    text-align: left;
    color: #fff;
    position: relative;
    background: #3A4F44;
    border-radius: 200px;
    display: block;
    padding: 13px 39px;
 }
 .util-btn a::after {
    position: absolute;
    content: "";
    background: url(../images/common/util-btn-arrow.svg)no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    transition: all 0.2s;
 }
 .util-btn a:hover {
    text-decoration: none;
 }
 .util-btn a:hover::after {
    right: 10px;
 }

/* mv
-------------------------------------*/
.mv {
    text-align: center;
    padding: 10px 0 58px;
}
.mv h2 {
    text-align: center;
    margin-bottom: 32px;
}
.mv .txt {
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    position: relative;
    display: inline-block;
}
.mv .txt::after {
    position: absolute;
    content: "";
    background: url(../images/suggestion/mv-human.png)no-repeat;
    background-size: contain;
    width: 192px;
    height: 226px;
    bottom: -74px;
    right: -227px;
}

/* case
-------------------------------------*/
.case {
    width: min(95%, 1400px);
    margin-inline: auto;
    border-radius: 45px;
    background: #f6f6f6;
    padding: 80px 0;
}
.case .list {
    display: grid;
}
.case .list li{
    width: min(95%, 1100px);
    margin-inline: auto;
    border-radius: 40px;
    background: #fff;
    padding: 51px 0 60px;
    text-align: center;
}
.case .list li:not(:last-child) {
    margin-bottom: 80px;
}
.case .list li .num {
    font-size: 19px;
    letter-spacing: 0;
    border-bottom: 2px solid #A4A4A4;
    display: inline-flex;
    gap: 4px;
    align-items: baseline;
    justify-content: center;
    margin-bottom: 17px;
}
.case .list li .num span {
    font-size: 33px;
    line-height: 1.0909;
    letter-spacing: 0;
}
.case .list li h2 {
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.583333;
    text-align: center;
    margin-bottom: 38px;
}
.case .list li .inBox01 {
    width: min(95%, 1091px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 57.417% 44.115%;
    gap: 51px;
    position: relative;
    left: -78px;
    margin-bottom: 30px;
}
.case .list li .inBox01 .content {
    padding: 18px 0 0;
}
.case .list li .worries {
    width: 402px;
    background: #f6f6f6;
    border: 2px solid #1d1d1f;
    padding: 0 0 23px;
    position: relative;
    margin-inline: auto;
    margin-bottom: 30px;
    left: -20px;
}
.case .list li .worries::before {
    position: absolute;
    content: "";
    background: url(../images/suggestion/case01-human.png)no-repeat;
    background-size: contain;
    width: 129px;
    height: 103px;
    top: -103px;
    right: 6px;
}
.case .list li .worries::after {
    position: absolute;
    content: "";
    background: url(../images/suggestion/worries-arrow.svg)no-repeat;
    background-size: contain;
    width: 54px;
    height: 25px;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
}
.case .list li .worries h3 {
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    color: #fff;
    border-radius: 14px;
    background: #3e3e3e;
    position: relative;
    top: -20px;
    display: inline-block;
    padding: 0 48px;
    margin-bottom: -20px;
}
.case .list li .worries .txt {
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 2;
}
.case .list li .worries .txt.bold {
    font-weight: 700;
}
.case .list li .content .subt {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 2;
    color: #ffa903;
    margin-bottom: 20px;
    padding-right: 39px;
}
.case .list li .content .subt span {
    position: relative;
}
.case .list li .content .subt span::before,
.case .list li .content .subt span::after {
    position: absolute;
    content: "";
    width: 11px;
    height: 16px;
    top: 64%;
    transform: translateY(-50%);
}
.case .list li .content .subt span::before {
    background: url(../images/suggestion/subt-line-l.svg)no-repeat;
    background-size: contain;
    left: -16px;
}
.case .list li .content .subt span::after {
    background: url(../images/suggestion/subt-line-r.svg)no-repeat;
    background-size: contain;
    right: -14px;
}
.case .list li .suggestion {
    width: 441px;
    background: #fff;
    border: 3px solid #ffa903;
    padding: 22px 0px;
    position: relative;
}
 .case .list li .suggestion h3 {
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    color: #fff;
    background: url(../images/index/suggestion-ttlBg.png)no-repeat;
    background-size: cover;
    padding: 0 21px 8px;
    display: inline-block;
    top: -17px;
    position: absolute;
    left: -24px;
}
 .case .list li .suggestion .txt {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
}
 .case .list li .suggestion .txt span {
    color: #3B8461;
}
.case .list li .inBox02 {
    width: min(95%, 770px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 59.74% 36.36%;
    gap: 30px;
}
.case .list li .inBox02 .txt-box {
    padding-top: 26px;
}
.case .list li .inBox02 .txt {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: left;
}
.case .list li .inBox02 .txt span{
    border-radius: 4px;
    background: #fffae3;
    padding: 4px 14px;
}

/* list02 */
.case .list .list02 .inBox01 {
    grid-template-columns: 44.115% 57.417%;
    right: -52px;
    left: auto;
    gap: 9px;
    margin-bottom: 46px;
}
.case .list .list02 .worries::before {
    position: absolute;
    content: "";
    background: url(../images/suggestion/case02-human.png)no-repeat;
    background-size: contain;
    width: 181px;
    height: 103px;
    top: -103px;
    left: -6px;
}
.case .list .list02 .inBox02 {
    width: min(95%, 930px);
    margin-inline: auto;
    grid-template-columns: 30.1075% 66.8%;
    align-items: center;
}
.case .list .list02 .inBox02 .txt:nth-of-type(1),
.case .list .list02 .inBox02 .txt:nth-of-type(2) {
    width: min(95%, 455px);
    margin-bottom: 15px;
}
.case .list .list02 .inBox02 .txt-box {
    padding-top: 0;
}

/* list03 */
.case .list .list03 .worries::before {
    position: absolute;
    content: "";
    background: url(../images/suggestion/case03-human.png)no-repeat;
    background-size: contain;
    width: 157px;
    height: 103px;
    top: -104px;
    right: 0px;
}
.case .list .list03 .inBox01 {margin-bottom: 52px;}
.case .list .list03 .inBox02 .txt-box {
    padding-top: 16px;
}

/* bottom-sec
-------------------------------------*/
.bottom-sec {
    background: url(../images/suggestion/bottom-sec-bg.png)no-repeat;
    background-size: cover;
    padding: 147px 0 0;
}
.bottom-sec h2 {
    font-weight: 500;
    font-size: 48px;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    color: #3b8461;
    margin-bottom: 13px;
}
.bottom-sec h3 {
    text-align: center;
    padding-right: 17px;
}
.bottom-sec .loop {
    overflow: hidden;
    padding: 72px 0 185px;
}
.bottom-sec .loop .loop__box {
    display: flex;
    width: 100vw;
}
.bottom-sec .loop .loop__box img {
    min-width: 112.5vw;
}
.bottom-sec .loop .loop__box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
.bottom-sec .loop .loop__box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}

/* menu
-------------------------------------*/
.menu {
    background: #F6F6F6;
    margin-bottom: -124px;
}
.menu .inner{
    width: min(95%, 1480px);
    margin-inline: auto;
    padding: 134px 0 285px;
}
.menu .enttl {
    font-size: 20px;
    letter-spacing: 0;
    text-align: center;
    color: #3b8461;
    margin-bottom: 2px;
}
.menu h2 {
    font-weight: 500;
    font-size: 28px;
    letter-spacing: 0.05em;
    line-height: 2.25;
    text-align: center;
    margin-bottom: 27px;
}
.menu .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 40px;
    margin-bottom: 60px;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1000px)
======================================== */
@media screen and (min-width:768px) and (max-width:1000px) { 
.mv h2 img {
    width: 64.276vw;
}
.mv .txt::after {
    width: 19.2vw;
    height: 22.6vw;
    bottom: -7.7vw;
    right: -11.7vw;
    z-index: 1;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px)
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
/* case
-------------------------------------*/
.case {
    border-radius: 3.125vw;
    padding: 5.556vw 0;
    width: 97.222vw;
    position: relative;
    z-index: 2;
}
.case .list li{
    border-radius: 2.778vw;
    padding: 3.542vw 0 4.167vw;
    width: 76.389vw;
}
.case .list li:not(:last-child) {
    margin-bottom: 5.556vw;
}
.case .list li .num {
    font-size: 1.319vw;
    gap: 0.278vw;
    margin-bottom: 1.181vw;
}
.case .list li .num span {
    font-size: 2.292vw;
}
.case .list li h2 {
    font-size: 1.667vw;
    margin-bottom: 2.639vw;
}
.case .list li .inBox01 {
    gap: 3.542vw;
    left: -5.417vw;
    margin-bottom: 2.083vw;
}
.case .list li .inBox01 .content {
    padding: 1.25vw 0 0;
}
.case .list li .worries {
    width: 27.917vw;
    padding: 0 0 1.597vw;
    margin-bottom: 2.083vw;
    left: -1.389vw;
}
.case .list li .worries::before {
    width: 8.958vw;
    height: 7.153vw;
    top: -7.153vw;
    right: 0.417vw;
}
.case .list li .worries::after {
    width: 3.75vw;
    height: 1.736vw;
    bottom: -1.042vw;
}
.case .list li .worries h3 {
    font-size: clamp(0.625rem, 0.339rem + 0.6vw, 0.875rem);
    border-radius: 0.972vw;
    top: -1.389vw;
    padding: 0 3.333vw;
    margin-bottom: -1.389vw;
}
.case .list li .worries .txt {
    font-size: clamp(0.625rem, 0.339rem + 0.6vw, 0.875rem);
}
.case .list li .content .subt {
    font-size: clamp(0.625rem, 0.339rem + 0.6vw, 0.875rem);
    margin-bottom: 1.389vw;
    padding-right: 2.708vw;
}
.case .list li .content .subt span::before,
.case .list li .content .subt span::after {
    width: 0.764vw;
    height: 1.111vw;
}
.case .list li .content .subt span::before {
    background-size: contain;
    left: -1.111vw;
}
.case .list li .content .subt span::after {
    background-size: contain;
    right: -0.972vw;
}
.case .list li .suggestion {
    width: 30.625vw;
    padding: 1.528vw 0px;
}
 .case .list li .suggestion h3 {
    font-size: 0.972vw;
    padding: 0 1.458vw 0.556vw;
    top: -1.181vw;
    left: -1.667vw;
}
 .case .list li .suggestion .txt {
    font-size: clamp(0.688rem, 0.33rem + 0.74vw, 1rem);
}
.case .list li .inBox02 {
    grid-template-columns: 59.74% 36.36%;
    gap: 2.083vw;
}
.case .list li .inBox02 .txt-box {
    padding-top: 1.806vw;
}
.case .list li .inBox02 .txt {
    font-size: clamp(0.688rem, 0.33rem + 0.74vw, 1rem);
}
.case .list li .inBox02 .txt span{
    border-radius: 0.278vw;
    padding: 0.278vw 0.972vw;
}
.case .list li .photo img {
    width: 100%;
    height: auto;
}
/* list02 */
.case .list .list02 .inBox01 {
    grid-template-columns: 44.115% 57.417%;
    right: -3.611vw;
    left: auto;
    gap: 0.625vw;
    margin-bottom: 3.194vw;
}
.case .list .list02 .worries::before {
    width: 12.569vw;
    height: 7.153vw;
    top: -7.153vw;
    left: -0.417vw;
}
.case .list .list02 .inBox02 {
    grid-template-columns: 30.1075% 66.8%;
}
.case .list .list02 .inBox02 .txt:nth-of-type(1),
.case .list .list02 .inBox02 .txt:nth-of-type(2) {
    margin-bottom: 1.042vw;
}

/* list03 */
.case .list .list03 .worries::before {
    width: 10.903vw;
    height: 7.153vw;
    top: -7.222vw;
    right: 0px;
}
.case .list .list03 .inBox01 {margin-bottom: 3.611vw;}
.case .list .list03 .inBox02 .txt-box {
    padding-top: 1.111vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1520px)
======================================== */
@media screen and (min-width:768px) and (max-width:1520px) {
.menu {
    margin-bottom: -8.158vw;
}
.menu .inner{
    width: 94.872vw;
    padding: 8.816vw 0 18.75vw;
}
.menu .enttl {
    font-size: 1.282vw;
    margin-bottom: 0.128vw;
}
.menu h2 {
    font-size: 1.795vw;
    margin-bottom: 1.731vw;
}
.menu .list {
    gap: 1.282vw 2.564vw;
    margin-bottom: 3.846vw;
}
.menu .list li img {
    width: 21.795vw;;
    height: auto;
}
}

/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
#suggestion .main-ttl-wrap {
    margin-bottom: 0;
}
.section-wrap {
    background: url(../images/suggestion/sec-wrap-bg_sp.png)repeat;
    background-size: contain;
    padding-bottom: 19vw;
}
.util-btn {
    width: 72.46vw;
}
.util-btn a {
    font-size:3.865vw;
    line-height: 2.0625;
    letter-spacing: 0;
    text-align: left;
    color: #fff;
    position: relative;
    background: #3A4F44;
    border-radius: 48.31vw;
    display: block;
    padding: 2.5vw 7.2vw 1.61vw;
}
.util-btn a::after {
    position: absolute;
    content: "";
    background: url(../images/common/util-btn-arrow.svg)no-repeat;
    background-size: contain;
    width: 7.25vw;
    height: 7.25vw;
    top: 50%;
    right: 2.42vw;
    transform: translateY(-50%);
    transition: all 0.2s;
}
.util-btn a:hover {
    text-decoration: none;
}
.util-btn a:hover::after {
    right: 1.21vw;
}

/* mv
-------------------------------------*/
.mv {
    padding: 7.5vw 0 14.5vw;
    position: relative;
    z-index: 0;
}
.mv h2 {
    margin-bottom: 9.5vw;
}
.mv h2 img {
    width: 97.10vw;
}
.mv .txt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    position: relative;
    width: 90vw;
    margin-inline: auto;
    padding-left: 4vw;
}
.mv .txt::after {
    position: absolute;
    content: "";
    background: url(../images/suggestion/mv-human.png)no-repeat;
    background-size: contain;
    width: 22.95vw;
    height: 26.81vw;
    bottom: -20vw;
    right: 0vw;
    z-index: -1;
}


/* case
-------------------------------------*/
.case {
    width: 94.20vw;
    margin-inline: auto;
    border-radius: 7.25vw;
    background: #f6f6f6;
    padding: 3vw 0;
    position: relative;
}
.case .list {
    display: grid;
}
.case .list li{
    width:89.37vw;
    margin-inline: auto;
    border-radius: 6.04vw;
    background: #fff;
    padding: 12vw 0 4vw;
    text-align: center;
}
.case .list li:not(:last-child) {
    margin-bottom: 14.49vw;
}
.case .list li .num {
    font-size:3.623vw;
    letter-spacing: 0;
    border-bottom: 0.5vw solid #A4A4A4;
    display: inline-flex;
    gap: 1vw;
    align-items: baseline;
    justify-content: center;
    margin-bottom: 7vw;
}
.case .list li .num span {
    font-size:6.522vw;
    line-height: 1.1111;
    letter-spacing: 0;
}
.case .list li h2 {
    font-weight: 500;
    font-size:4.831vw;
    letter-spacing: 0.05em;
    line-height: 1.9;
    text-align: center;
    margin-bottom: 8.5vw;
}
.case .list li .inBox01 {
    display: grid;
    width: 82.13vw;
    margin-inline: auto;
    align-items: self-end;
}
.case .list li .inBox01 .content {padding: 12vw 0 0;}
.case .list li .worries {
    background: #f6f6f6;
    border: 0.5vw solid #1d1d1f;
    padding: 0 0 5.5vw;
    position: relative;
    margin-inline: auto;
    margin-bottom: 8vw;
}
.case .list li .worries::before {
    position: absolute;
    content: "";
    background: url(../images/suggestion/case01-human.png)no-repeat;
    background-size: contain;
    width: 24.64vw;
    height: 19.57vw;
    top: -19.7vw;
    left: 2vw;
}
.case .list li .worries::after {
    position: absolute;
    content: "";
    background: url(../images/suggestion/worries-arrow.svg)no-repeat;
    background-size: contain;
    width: 13.04vw;
    height: 6.04vw;
    bottom: -4vw;
    left: 50%;
    transform: translateX(-50%);
}
.case .list li .worries h3 {
    font-weight: bold;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    color: #fff;
    border-radius: 3.62vw;
    background: #3e3e3e;
    position: relative;
    top: -5vw;
    display: inline-block;
    padding: 0 11.8vw;
    margin-bottom: -3vw;
}
.case .list li .worries .txt {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
}
.case .list li .worries .txt.bold {
    font-weight: 700;
}
.case .list li .content .subt {
    font-size:3.382vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 2;
    color: #ffa903;
    margin-bottom: 4vw;
}
.case .list li .content .subt span {
    position: relative;
}
.case .list li .content .subt span::before,
.case .list li .content .subt span::after {
    position: absolute;
    content: "";
    width: 2.66vw;
    height: 3.86vw;
    top: 52%;
    transform: translateY(-50%);
}
.case .list li .content .subt span::before {
    background: url(../images/suggestion/subt-line-l.svg)no-repeat;
    background-size: contain;
    left: -3.5vw;
}
.case .list li .content .subt span::after {
    background: url(../images/suggestion/subt-line-r.svg)no-repeat;
    background-size: contain;
    right: -3.5vw;
}
.case .list li .suggestion {
    background: #fff;
    border: 0.72vw solid #ffa903;
    padding: 6vw 0 5.5vw;
    position: relative;
}
 .case .list li .suggestion h3 {
    font-weight: 500;
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
    color: #fff;
    background: url(../images/suggestion/suggestion-ttlBg_sp.png)no-repeat;
    background-size: cover;
    padding: 0 3.8vw 0.8vw 4vw;
    display: inline-block;
    top: -3.5vw;
    position: absolute;
    left: -3vw;
}
 .case .list li .suggestion .txt {
    font-weight: 500;
    font-size:3.623vw;
    letter-spacing: 0.05em;
    line-height: 1.8666;
    text-align: center;
}
 .case .list li .suggestion .txt span {
    color: #3B8461;
}
.case .list li .inBox02 {
    display: grid;
    width: 82.13vw;
    margin-inline: auto;
    padding: 8.5vw 0 5vw;
    gap: 7.5vw;
}
.case .list li .inBox02 .txt-box {order: 2;display: grid;gap: 3vw;}
.case .list li .inBox02 .txt {text-align: left;font-size: 3.382vw;line-height: 2;letter-spacing: 0.05em;}
.case .list li .inBox02 .txt span{
    border-radius: 2vw;
    background: #fffae3;
    padding: 0 5vw;
    width: 75.67vw;
    display: block;
    margin-inline: auto;
    margin-top: 2.5vw;
    text-align: center;
}

/* list02 */
.case .list .list02 .inBox01 .photo {
    order: 1;
}
.case .list .list02 .inBox01 .content {
    order: 2;
}
.case .list .list02 .worries::before {
    position: absolute;
    content: "";
    background: url(../images/suggestion/case02-human.png)no-repeat;
    background-size: contain;
    width: 34.54vw;
    height: 19.57vw;
    top: -19.8vw;
    right: -0.5vw;
    left: auto;
}
.case .list .list02 .worries .txt:nth-of-type(1) {
    position: absolute;
    width: 82vw;
}
.case .list .list02 .worries .txt:nth-of-type(2) {
    padding: 13.5vw 0 0;
}

/* list03 */
.case .list .list03 .worries::before {
    position: absolute;
    content: "";
    background: url(../images/suggestion/case03-human.png)no-repeat;
    background-size: contain;
    width: 29.95vw;
    height: 19.57vw;
    top: -19.8vw;
    left: 0.5vw;
}

/* bottom-sec
-------------------------------------*/
.bottom-sec {
    background: url(../images/suggestion/bottom-sec-bg_sp.png)no-repeat;
    background-size: cover;
    padding: 21.7vw 0 0;
}
.bottom-sec h2 {
    font-weight: 500;
    font-size:5.314vw;
    letter-spacing: 0.05em;
    text-align: center;
    color: #3b8461;
    margin-bottom: 0vw;
}
.bottom-sec h3 {
    text-align: center;
}
.bottom-sec .loop {
    overflow: hidden;
    padding: 8vw 0 19.6vw;
}
.bottom-sec .loop .loop__box {
    display: flex;
    width: 100vw;
}
.bottom-sec .loop .loop__box img {
    min-width: 212.9vw;
}
.bottom-sec .loop .loop__box img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}
.bottom-sec .loop .loop__box img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}


/* menu
-------------------------------------*/
.menu {
    background: #F6F6F6;
    margin-bottom: -13vw;
}
.menu .inner{
    width: 82.13vw;
    margin-inline: auto;
    padding: 12.5vw 0 38vw;
}
.menu .enttl {
    font-size:2.898vw;
    letter-spacing: 0;
    text-align: center;
    color: #3b8461;
    margin-bottom: 1.4vw;
}
.menu h2 {
    font-weight: 500;
    font-size:5.314vw;
    letter-spacing: 0.05em;
    line-height: 1;
    text-align: center;
    margin-bottom: 8.5vw;
}
.menu .list {
    display: grid;
    gap: 2.42vw;
    margin-bottom: 7vw;
    text-align: center;
}
.menu .util-btn {
    width: 72.46vw;
    margin-inline: auto;
}
.menu .util-btn a {
    font-size:2.898vw;
    line-height: 1.4166;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 4vw 5vw;
}

}