@charset "UTF-8";

/*------------------------------------
全体設定 ここから
-------------------------------------*/


/* フォント指定 */

@font-face {
    font-family: 'Intro Cond';
    src: url('../font/Intro Cond Black Free.otf') format('opentype');
}

@font-face {
    font-family: 'GenEiGothicM';
    src: url('../font/GenEiGothicM-Heavy.ttf') format('opentype');
}

@font-face {
    font-family: 'Impact';
    src: url('../font/impact.ttf') format('opentype');
}

@font-face {
    font-family: 'Ipaexm';
    src: url('../font/ipaexm.ttf') format('opentype');
}


/* 青柳隷書 */

@font-face {
    font-family: 'Aoyagireisyosimo';
    src: url('../font/aoyagireisyosimo_otf_2_01.otf') format('opentype');
}


/* スクロールバーを消す */

body::-webkit-scrollbar {
    display: none;
}


/* 初期設定 */

html {
    font-size: 62.5%;
}

body {
    width: 100%;
    font-size: 1.6rem;
    font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
    font-weight: 900;
    font-style: normal;
    color: #000;
    background-color: #fff;
}

body,
header,
nav,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
li,
a,
dl,
dd,
dt,
div,
span,
time,
figure,
figcaption,
article,
section,
aside {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    /* font-weight: normal; */
    letter-spacing: .05em;
}

img,
svg {
    vertical-align: bottom;
    width: 100%;
    height: fit-content;
}

a {
    text-decoration: none;
    color: #000;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

li {
    list-style: none;
}


/* 横幅余白設定 */

.wrap {
    width: auto;
    height: auto;
    margin: 0;
    overflow: hidden;
}

.container {
    width: auto;
    height: auto;
    /* margin: 0 5% 0 5.7%; */
    margin: 0 5.2vw 0 5.72vw;
}

@media screen and (max-width:540px) {
    .container {
        /* margin: 0 1.04vw; */
        margin: 0 4.65vw;
    }
}


/* 改行設定 */

.sp-br {
    display: none;
}


/* 480pxまでの幅の場合、brを消す */

@media screen and (max-width: 540px) {
    .pc-br {
        display: none;
    }
    .sp-br {
        display: block;
    }
}


/* PC・SPの時だけ表示切り替え */

.sp-only {
    display: none;
}


/* 540pxまでの幅の場合消す */

@media screen and (max-width: 540px) {
    .pc-only {
        display: none;
    }
    .sp-only {
        display: block;
    }
}


/* 2カラム */

.col-2 {
    width: 100%;
    display: flex;
}


/* 540pxまでの幅の場合1カラム */

@media screen and (max-width: 540px) {
    .col-2 {
        flex-wrap: wrap;
    }
}


/*--------------------------
メインビジュアル
--------------------------*/

#mainvisual {
    width: auto;
    height: calc(100vh - 6.51vw);
    background-image: url(../img/mv-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

.mainvisual-inner {
    width: 50%;
    margin-left: auto;
    padding-top: 3.96vw;
}

.mainvisual-inner img {
    width: 37.6vw;
    height: 13.23vw;
    margin: 0 auto;
}

.mainvisual-icon-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 3.12vw;
}

.mainvisual-icon-wrap img {
    width: 13.67vw;
    height: 13.67vw;
}

.mainvisual-label {
    width: 100%;
    height: 6.51vw;
    background: #0628EC;
    display: grid;
    place-items: center;
}

.mainvisual-label p {
    color: #fff;
    font-size: 2.08vw;
}

.sp-mainvisualIcon-bottom {
    display: flex;
    width: 68%;
}

@media screen and (max-width: 960px) {
    #mainvisual {
        height: 40vh;
    }
}

@media screen and (max-width: 540px) {
    #mainvisual {
        height: calc(100vh - 43.48vw);
        /* height: calc(100vh - 6.51vw); */
        background-image: url(../img/mv-bg-sp.jpg);
    }
    .mainvisual-label {
        height: 24.42vw;
        text-align: center;
    }
    .mainvisual-label p {
        font-size: 3.72vw;
        line-height: 1.56;
    }
    .mainvisual-inner {
        width: 100%;
        padding-top: 3.72vw;
    }
    .mainvisual-inner img {
        margin-left: auto;
        margin-right: 0;
        /* text-align: right; */
        width: 63.72vw;
        height: 26.04vw;
    }
    .mainvisual-icon-wrap img {
        width: 33.72vw;
        height: 33.72vw;
        margin: 0;
    }
    .mainvisual-icon-wrap {
        margin-top: 9.3vw;
        width: 74.42vw;
        flex-wrap: wrap;
        margin-left: 13.95vw;
    }
    .sp-mainvisualIcon-top {
        width: 100%;
    }
    .sp-mainvisualIcon-top img {
        margin: 0 auto;
    }
    .sp-mainvisualIcon-bottom {
        width: 100%;
        display: flex;
        justify-content: space-between;
        top: -4.65vw;
        position: relative;
    }
    /* .sp-mainvisualIcon-bottom img {} */
}


/*--------------------------
ハンバーガーメニュー
--------------------------*/

header {
    height: 16.28vw;
}


/* ハンバーガーメニュー */

.nav {
    position: fixed;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100vh;
    background: #0628ee;
    color: #fff;
    /* 右からスライド */
    transition: left 0.5s;
    padding-top: 4.16vw;
}

.nav a {
    color: #ffffff;
}


/* ナビゲーションボタン（開く） */

#navbtn {
    position: fixed;
    top: 0;
    right: 0;
    padding: 19px;
    outline: none;
    border: none;
    background: #0628ee;
    width: 70px;
    height: 70px;
    cursor: pointer;
    z-index: 999;
}

#navbtn::before,
#navbtn::after {
    content: '';
    display: block;
    height: 3px;
    background-color: #fff;
    transform: translateY(10px);
    transition: 0.3s ease-in-out;
}

#navbtn::before {
    transform: translateY(-10px);
    box-shadow: 0 11px #fff;
}


/* ナビゲーションボタン（閉じる） */

.open #navbtn::before {
    transform: rotate(-45deg);
    box-shadow: none;
    left: 0px;
    top: 2px;
    position: relative;
}

.open #navbtn::after {
    transform: rotate(45deg);
    box-shadow: none;
}


/* ナビゲーションメニュー 開いた時*/

.open .nav {
    left: calc(100% - 31.25vw);
}


/* メニューを右に寄せる */

.nav {
    /* 右寄せ */
    margin-left: auto;
    z-index: 998;
}

.nav ul {
    display: flex;
    flex-direction: column;
}


/*------------------------------------
nav
-------------------------------------*/

.nav ul li a {
    color: #fff;
    font-size: 1.35vw;
}

.nav ul li a:hover {
    text-decoration: underline;
}

.nav-inner {
    width: 35.41vw;
    margin-left: 3.33vw;
}

.menu-list {
    width: 100%;
}

.menu-list ul li {
    margin-bottom: 2.91vw;
}

.menu-link {
    text-align: left;
}

@media(max-width: 520px) {
    /* ナビ */
    .nav {
        padding-top: 13.95vw;
    }
    .open .nav {
        left: 0;
        width: 100%;
    }
    .nav-inner {
        width: 100%;
        padding-left: 13.95vw;
        margin-left: 0;
    }
    .menu-link {
        margin-bottom: 0;
    }
    .menu-list ul li {
        margin-bottom: 40px;
    }
    .nav ul li a {
        font-size: 4.18vw;
    }
    .menu-subTitle {
        margin-bottom: 4.65vw;
    }
    .menu-item li {
        margin-bottom: 0;
    }
    .menu-subLink {
        margin-bottom: 4.65vw;
    }
    .subLink-under-wrap {
        margin-top: 0;
    }
}


/*--------------------------
work
--------------------------*/

.work-container {
    padding-top: 6.66vw;
}

.work-head p {
    font-size: 2.0833vw;
    text-align: center;
}

.work-item-title {
    font-size: 2.0833vw;
}

.work-item-title p span {
    font-size: 5.21vw;
}

.work-head {
    margin-bottom: 10.21vw;
}

.original-transform {
    width: 31.25vw;
    height: 31.25vw;
    border: 3px solid #0628EC;
    transform: rotate(45deg) skew(-10deg, -10deg);
    margin: auto;
}

.work-inner {
    position: relative;
    height: 50vw;
}

.original-transform {
    margin-top: 18.75vw;
}


/* .work-flex {} */

.work-row {
    display: flex;
    justify-content: center;
}

.work-item {
    position: relative;
}

.work-item-logo {
    text-align: center;
}

.work-item-logo img {
    width: 23.64vw;
    height: 3.75vw;
}

.work-item img {
    width: 14.21vw;
    height: 14.21vw;
}

.work-item-caption {
    width: 22.76vw;
    height: 7.6vw;
    text-align: center;
    position: absolute;
    /* top: 0;
    left: 0; */
}

.caption01 {
    top: 1.04vw;
    left: -23.64vw;
}

.caption02 {
    top: 16.66vw;
    left: -9.94vw;
}

.caption03 {
    top: -7.6vw;
    left: 3.43vw;
}

.caption04 {
    top: 4.16vw;
    left: 16.3vw;
}

.work-item-caption p {
    font-size: 1.56vw;
    width: 100%;
    height: 3.54vw;
    color: #fff;
    background: #0628EC;
    border-radius: 1.77vw;
    display: grid;
    place-items: center;
}

.work-item-caption h2 {
    font-size: 2.6vw;
}

.work-item-title {
    text-align: center;
}


/* .work-row-odd img {} */

.work-row-even {
    width: 66.66vw;
    margin: auto;
    justify-content: space-between;
}

.work-row {
    margin-bottom: 3.85vw;
}

.work-layer {
    position: absolute;
    top: -8.33vw;
    left: 0;
    width: 100%;
}

@media screen and (max-width:540px) {
    .work-container {
        padding-top: 9.76vw;
    }
    .work-head {
        text-align: center;
        margin-bottom: 16.28vw;
    }
    .work-head p {
        font-size: 3.72vw;
    }
    .work-item-title p {
        font-size: 3.02vw;
    }
    .work-item-title p span {
        font-size: 6.97vw;
    }
    /* 画像 */
    .work-item img {
        width: 30.23vw;
        height: 30.23vw;
    }
    .work-row-even {
        width: 100%;
        margin: 0;
        justify-content: space-between;
    }
    .work-inner {
        height: 76.74vw;
    }
    .work-row {
        margin-bottom: 0;
    }
    .work-item-caption p {
        width: 29.07vw;
        height: 4.65vw;
        border-radius: 2.32vw;
    }
    .work-item-caption h2 {
        font-size: 3.48vw;
    }
    .original-transform {
        width: 39.53vw;
        height: 39.53vw;
        margin-top: 27.9vw;
        transform: rotate(45deg) skew(0deg, 0deg);
    }
    .work-layer {
        top: -23.25vw;
    }
    .caption01 {
        top: 28px;
        left: -27.9vw;
    }
    .caption02 {
        top: 33.72vw;
        left: -2.32vw;
    }
    .caption03 {
        top: -11.62vw;
        left: 4.18vw;
    }
    .caption04 {
        top: 47px;
        left: 132px;
    }
    /* 真ん中テキスト */
    .work-item-logo {
        padding-top: 4.65vw;
    }
    .work-item-title p {
        font-size: 3.02vw;
    }
    .work-item-title p span {
        font-size: 6.97vw;
    }
    .work-item-caption {
        width: auto;
    }
    .work-item-logo img {
        margin: auto;
    }
}


/*--------------------------
cta
--------------------------*/

.cta-wrap {
    background: #FFF7D3;
}

.cta-content {
    padding: 5.41vw 0;
}

.cta-inner {
    width: 55%;
}

.cta-head {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 37.65vw;
    height: 5.62vw;
    margin: 0 auto;
    border: none;
    border-radius: 2.81vw;
    background-color: #0628ee;
    color: #fff;
    font-size: 1.82vw;
}

.cta-head:hover {
    background-color: #0018de;
}

.cta-list {
    padding: 2.86vw 0;
}

.cta-list ul li {
    position: relative;
    margin-left: 6.45vw;
    font-size: 1.30vw;
    line-height: 2.64;
}

.cta-list ul li::before {
    content: '';
    position: absolute;
    top: -0.52vw;
    left: -4.27vw;
    background-image: url(../img/check-icon.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 2.70vw;
    height: 3.69vw;
}

.cta-btn-line {
    margin-right: 1.30vw;
}

.cta-img {
    width: 45%;
    padding: 0 3.64vw;
}

@media screen and (max-width:540px) {}


/*--------------------------
cta 
--------------------------*/

.cta-text {
    padding: 2.86vw 0;
}

.circle {
    width: 11.45vw;
    height: 11.45vw;
    background: #0628EC;
    color: #fff;
    font-size: 2.6vw;
    border-radius: 50%;
    display: grid;
    place-items: center;
}

.cta-text-inner {
    width: 33.54vw;
    border-top: 2px solid #0628EC;
    border-bottom: 2px solid #0628EC;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    padding-left: 1.14vw;
}

.cta-text-inner p {
    font-size: 1.56vw;
}

.cta-text-03 {
    width: 35.62vw;
}

.cta-text-inner p {
    font-size: 1.56vw;
    line-height: 1.6;
}

.cta-text .col-2 {
    justify-content: space-between;
}

@media screen and (max-width:540px) {
    .cta-inner {
        width: 100%;
    }
    .cta-head {
        width: 85.11vw;
        height: 12.79vw;
        border-radius: 6.51vw;
        font-size: 4.18vw;
    }
    .cta-list ul li {
        font-size: 3.72vw;
        line-height: 1.56;
        padding-bottom: 8.37vw;
        margin-left: 15.34vw;
    }
    .cta-list ul li::before {
        width: 6.28vw;
        height: 8.83vw;
        left: -10.23vw;
    }
    .cta-btn {
        margin-right: 0;
        width: 90.69vw;
        height: 82px;
    }
    .cta-btn-area {
        width: 100%;
    }
    .cta-btn-line {
        margin-bottom: 2.32vw;
        width: 100%;
        height: 82px;
    }
    .cta-btn-line img {
        width: 100%;
        height: 100%;
    }
    .cta-img-sp {
        width: 100%;
        height: 44.18vw;
        margin: 8.37vw 0 4.65vw;
    }
    .cta-img-sp {
        width: 100%;
        height: 44.18vw;
    }
    .cta-img-sp img {
        width: 100%;
        height: 100%;
    }
    .cta-contents-flex {
        flex-direction: column;
        align-items: flex-end;
    }
    .cta-text {
        margin-top: -20vw;
        padding: 0 0 8.37vw 0;
    }
    .circle {
        width: 30.23vw;
        height: 30.23vw;
        font-size: 6.74vw;
        /* margin-right: 4.18vw; */
        transform: translateX(60px);
        margin-right: auto;
        margin-left: 7.9vw;
    }
    .cta-text-inner {
        width: 100%;
        padding: 5.11vw 0;
        justify-content: center;
        margin-top: 5.58vw;
        text-align: center;
        line-height: 1.66;
    }
    .cta-text-inner p {
        font-size: 4.18vw;
        margin-left: -2.32vw;
        margin-right: -2.32vw;
    }
    /* アニメーション */
    .circle {
        opacity: 0;
    }
    .circle02.bounceAnime {
        animation: bounce 0.6s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
    }
    .circle03.bounceAnime {
        animation: bounce 0.6s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
    }
    .circle04.bounceAnime {
        animation: bounce 0.6s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
    }
    @keyframes bounce {
        0% {
            transform: translateX(140px);
            opacity: 0;
        }
        50% {
            transform: translateX(0);
            opacity: 0.8;
        }
        65% {
            transform: translateX(30px);
        }
        100% {
            transform: translateX(0);
            opacity: 1;
        }
    }
}


/*--------------------------
選ばれ続ける理由
--------------------------*/

.reason-container {
    padding-top: 4.01vw;
}


/* .content {} */

.reason-head {
    width: 37.65vw;
    height: 13.28vw;
    display: flex;
    flex-wrap: wrap;
    align-content: space-around;
}

.reason-head-text {
    width: 34.37vw;
    height: 6.45vw;
    background: #0628EC;
    display: grid;
    place-items: center;
}

.reason-head-text p {
    font-size: 2.86vw;
    color: #fff;
}

.reason-head-text:nth-child(2) {
    margin-left: auto;
}

.reason-item-wrap {
    margin: 3.85vw 0 6.87vw;
}


/* .reason-head-flex {} */


/* .reason-item-flex {} */

.reason-item-row {
    display: flex;
    justify-content: space-between;
    margin-top: 0.83vw;
}

.reason-item-col {
    width: 26.98vw;
    height: 20.1vw;
    padding-top: 3.96vw;
    position: relative;
}

.reason-item {
    margin-left: 1.25vw;
    height: 100%;
    padding-top: 2.6vw;
    border: 1px solid #000;
    text-align: center;
    position: relative;
    background: #fff;
}

.reason-item::before {
    content: '';
    position: absolute;
    top: -1.25vw;
    left: -1.25vw;
    width: 25.78vw;
    height: 16.25vw;
    background: #E0FF5A;
    z-index: -1;
}

.reason-item-title {
    margin-bottom: 1.25vw;
}

.reason-item-title p {
    font-size: 2.34vw;
}


/* .reason-item-text {} */

.reason-item-text p {
    font-size: 1.09vw;
}

.reason-number {
    position: absolute;
    top: -1.46vw;
    left: 0;
}

.reason-number p {
    font-size: 4.58vw;
    font-family: 'Intro Cond';
    padding-top: 8px;
}


/* reason-related */

.reason-related-wrap {
    position: relative;
}


/* .reason-flex {} */

.reason-related-contents {
    width: 50%;
    padding-top: 10vw;
}

.reason-related-item {
    width: 100%;
    height: 13.12vw;
    margin-top: 1.56vw;
    /* padding-left: 42px; */
    position: relative;
}

.reason-related-text {
    height: 10.73vw;
    width: 42.6vw;
    padding-left: 4.68vw;
    padding-top: 3.23vw;
    background: rgb(149, 202, 247, 30%);
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 1.3vw;
}

.reason-related-title {
    width: 23.23vw;
    height: 4.79vw;
    color: #fff;
    font-size: 1.82vw;
    display: grid;
    place-items: center;
    background: #0628EC;
    position: absolute;
    top: 0;
    left: 0;
}

.reason-related-img {
    width: 50%;
    padding-left: 4.06vw;
    margin-top: 4.16vw;
    display: flex;
    position: relative;
}

.white-object {
    content: '';
    position: absolute;
    top: 0;
    left: 9.16vw;
    width: 1px;
    height: 40.62vw;
    /* background: #f5c0ec52; */
    box-shadow: -1px 0px 2.81vw 3.64vw #ffffff;
    opacity: 0.9;
}


/* .white-object img {
    width: 100%;
    height: 100%;
} */

.reason-related-img img {
    width: 34.16vw;
    height: 44.16vw;
}

.reason-related-img p {
    font-size: 5.21vw;
    line-height: 1;
    color: #0628EC;
    writing-mode: vertical-rl;
    padding-top: 5vw;
}

.reason-related-head {
    width: 38.95vw;
    height: 6.66vw;
    background: #0628EC;
    display: grid;
    place-items: center;
    position: absolute;
    top: 1.77vw;
    left: 0;
}

.reason-related-head p {
    font-size: 2.34vw;
    color: #fff;
}

.triangle-blue {
    position: absolute;
    top: 0;
    right: -5.83vw;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6.66vw 5.83vw 0 5.83vw;
    border-color: #0628EC transparent transparent transparent;
    /* background: #0628EC; */
}

.reason-related-head::after {
    content: '';
    position: absolute;
    top: 0.83vw;
    left: 0.62vw;
    width: 44.79vw;
    height: 6.66vw;
    background-image: url(../img/triangle-blue-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
}

@media screen and (max-width:540px) {
    .reason-head-text {
        width: 59.3vw;
        height: 12.09vw;
    }
    .reason-head {
        width: 72.09vw;
        height: 25.58vw;
    }
    .reason-head-text p {
        font-size: 4.65vw;
    }
    .reason-item-row {
        flex-direction: column;
    }
    .reason-item-col {
        width: 100%;
        height: inherit;
        padding-top: 8.6vw;
        margin-bottom: 8px;
    }
    .reason-item::before {
        top: -2.32vw;
        left: -2.32vw;
        width: 86.04vw;
        height: 94%;
        box-shadow: 2px 2px 3px rgb(0, 0, 0, 0.8);
    }
    .reason-item {
        padding-top: 5.81vw;
        margin-left: 2.32vw;
    }
    .reason-number {
        position: absolute;
        top: -5.11vw;
        left: 2.32vw;
    }
    .reason-number p {
        font-size: 11.62vw;
    }
    .reason-item-title p {
        font-size: 5.34vw;
    }
    .reason-item-text p {
        font-size: 3.72vw;
        margin-bottom: 3.72vw;
    }
    .reason-flex {
        flex-direction: column-reverse;
    }
    .reason-related-contents {
        width: 100%;
        padding-top: 6.97vw;
    }
    .reason-related-img {
        padding-top: 18.6vw;
    }
    .reason-related-head {
        width: 85.11vw;
        height: 13.95vw;
        margin-left: -4.65vw;
    }
    .triangle-blue {
        right: -12vw;
        border-width: 13.95vw 12.09vw 0 13.95vw;
    }
    .reason-related-head p {
        font-size: 4.65vw;
    }
    .reason-related-img {
        width: 100%;
        flex-direction: row-reverse;
    }
    .reason-related-img img {
        width: 78.14vw;
        height: 101.16vw;
    }
    .reason-related-img p {
        font-size: 15.11vw;
        position: relative;
        left: 5.81vw;
    }
    .white-object {
        content: '';
        position: absolute;
        top: 23.25vw;
        left: 24.16vw;
        width: 2.32vw;
        height: 335px;
        box-shadow: -1px 0px 10.81vw 11.64vw #ffffff;
        opacity: 0.9;
        background: rgba(255, 255, 255, 0.9);
    }
    .reason-related-contents {
        width: 100%;
    }
    .reason-related-item {
        width: 100vw;
        height: 48.12vw;
        margin-top: 0;
        margin: 0 calc(50% - 50vw);
        margin-bottom: 4.65vw;
    }
    .reason-related-text,
    .reason-related-title {
        width: 100%;
    }
    .reason-related-text {
        height: auto;
        top: 11.62vw;
        padding-left: 0;
        text-align: center;
    }
    .reason-related-text {
        font-size: 4.18vw;
        height: auto;
        padding-top: 4.65vw;
    }
    .reason-related-text p {
        letter-spacing: 0;
        line-height: 1.66;
    }
    .reason-related-title {
        height: 11.62vw;
    }
    .reason-related-title p {
        font-size: 4.65vw;
    }
    .reason-related-head::after {
        width: 98.06vw;
        height: 14.64vw;
    }
}


/*--------------------------
menu
--------------------------*/

.menu-wrap {
    position: relative;
}

.menu-head h2 {
    position: absolute;
    top: 4.16vw;
    left: -2.08vw;
    font-size: 14.58vw;
    color: #E0FF5A;
    font-family: yu-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 400;
    text-shadow: 1px 2px 3px #000;
    writing-mode: vertical-rl;
}

.menu-content {
    padding-top: 9.37vw;
    margin-top: 2.6vw;
}

.menu-title {
    width: 25.52vw;
    height: 6.25vw;
    margin: 0 auto;
    display: grid;
    place-items: center;
    border-bottom: 2px solid #020202;
}

.menu-title p {
    font-size: 2.86vw;
}

.menu-item-group {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 5.52vw;
}

.menu-item {
    width: 21.61vw;
    height: 13.02vw;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    display: grid;
    place-items: center;
    z-index: 1;
    margin-right: 1.97vw;
    margin-bottom: 1.56vw;
}

.menu-item::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 48%);
    /* z-index: 1; */
}

.menu-item-01 {
    background-image: url(../img/bodycare.jpg);
}

.menu-item-02 {
    background-image: url(../img/footcare.jpg);
}

.menu-item-03 {
    background-image: url(../img/headcare.jpg);
}

.menu-item-04 {
    background-image: url(../img/oiletreatment.jpg);
}

.menu-item-05 {
    background-image: url(../img/stretch.jpg);
}

.menu-item-06 {
    background-image: url(../img/tai.jpg);
}

.menu-item-07 {
    background-image: url(../img/yoga.jpg);
}

.menu-item-08 {
    background-image: url(../img/pilates.jpg);
}

.menu-item-09 {
    background-image: url(../img/training.jpg);
}

.menu-item p {
    position: absolute;
    z-index: 5;
    font-size: 1.82vw;
    color: #fff;
}

.menu-item:nth-child(3n) {
    margin-right: 0;
}

@media screen and (max-width:540px) {
    .menu-wrap {
        overflow: hidden;
    }
    .menu-container {
        margin: 0;
    }
    .menu-head h2 {
        writing-mode: inherit;
        font-size: 18.6vw;
        top: -3.72vw;
        left: inherit;
        right: 0;
    }
    .menu-content {
        padding-top: 18.6vw;
    }
    .menu-title {
        width: 56.28vw;
        height: 11.62vw;
    }
    .menu-title p {
        font-size: 5.81vw;
    }
    /* SP */
    .menu-item {
        min-width: 60.46vw;
        height: 36.51vw;
        margin-right: 5.58vw;
        margin-bottom: 0;
    }
    .menu-item p {
        font-size: 5.58vw;
    }
    .menu-item:nth-child(3n) {
        margin-right: 5.58vw;
    }
    .menu-item-group {
        flex-wrap: nowrap;
        justify-content: unset;
        width: auto;
        margin: 0 calc(50% - 50vw);
    }
    .menu-flex-sp {
        display: flex;
    }
    /* スライダー */
    .loop-slider {
        animation: loop 30s infinite linear 0s both;
    }
    @keyframes loop {
        from {
            transform: translateX(0);
        }
        to {
            transform: translateX(-100%);
        }
    }
}


/*--------------------------
voice
--------------------------*/

.voice-container {
    padding-bottom: 120px;
}

.voice-content {
    padding-top: 14.32vw;
}

.voice-head {
    text-align: center;
}

.voice-head h2 {
    display: inline-block;
    position: relative;
    color: #0628ec;
    font-size: 4.16vw;
    margin-bottom: 8.23vw;
}

.voice-head h2::before {
    display: inline-block;
    content: '';
    position: absolute;
    bottom: -0.78vw;
    left: 50%;
    transform: translateX(-50%);
    width: 8.17vw;
    height: 3px;
    background-color: #0628ec;
}

.voice-flex {
    display: flex;
    justify-content: space-between;
}

.voice-item {
    width: 28.38vw;
    height: 47.39vw;
    padding-top: 11.25vw;
    position: relative;
}

.voice-item-text {
    width: 100%;
    height: 100%;
    border: 1px solid #000;
    padding-top: 11.25vw;
}

.voice-item-inner {
    margin-top: 2.86vw;
    text-align: center;
}

.voice-item-inner p {
    font-size: 1.56vw;
}

.voice-item-icon {
    width: 22.5vw;
    height: 22.5vw;
    position: absolute;
    top: 0;
    left: 0;
    left: 50%;
    transform: translateX(-50%);
}

.voice-item-icon img {
    width: 100%;
    height: 100%;
}

@media screen and (max-width:540px) {
    .voice-container {
        width: 100%;
        margin: 0;
        padding-bottom: 0;
    }
    .voice-head h2 {
        font-size: 6.97vw;
        margin-bottom: 15.23vw;
    }
    .voice-head h2::before {
        height: 2px;
        width: 16.28vw;
        bottom: -3.25vw;
    }
    .voice-flex {
        display: flex;
        justify-content: center;
        flex-direction: column;
    }
    .voice-item {
        width: 100%;
        height: auto;
        margin-bottom: 4.65vw;
        padding-top: 24.18vw;
    }
    .voice-item-icon {
        width: 48.37vw;
        height: 48.37vw;
    }
    .voice-item-text {
        padding-top: 136px;
        border-left: none;
        border-right: none;
    }
    .voice-item-inner p {
        font-size: 4.186vw;
        line-height: 1.94;
    }
    .voice-item-inner {
        margin-top: 0;
        margin-bottom: 9.3vw;
    }
}


/*--------------------------
flow
--------------------------*/

.flow-banner {
    margin: 0 calc(50% - 50vw);
    height: 34.69vw;
    padding: 0 5.2vw 0 5.72vw;
    background-image: url(../img/flow-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}


/* .flow-content {} */

.flow-head {
    width: 50%;
    margin-right: auto;
    padding-top: 9.68vw;
}

.flow-head-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 37.65vw;
    height: 5.62vw;
    margin: 0 auto;
    border: none;
    border-radius: 2.81vw;
    background-color: #0628ee;
    color: #fff;
    font-size: 1.82vw;
    margin-bottom: 2.44vw;
}

.flow-head-text {
    font-size: 3.9vw;
    margin-left: 4.27vw;
}

.flow-item-flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 3.38vw 0 6.25vw;
}

.flow-item {
    width: 50%;
    height: auto;
    margin-bottom: 3.38vw;
    padding: 0 2.91vw;
}

.flow-item-inner {
    width: 100%;
}

.flow-item-title {
    height: 6.25vw;
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 1.3vw;
}

.flow-item-title h3 {
    font-size: 2.34vw;
}

.flow-item-number {
    width: 6.25vw;
    height: 6.25vw;
    background: #E0FF5A;
    display: grid;
    place-items: center;
    font-size: 3.9vw;
    margin-right: 1.66vw;
}

.flow-item-number p {
    font-family: 'Intro Cond';
    padding-top: 0.52vw;
}

.flow-item-img {
    width: 100%;
    height: 22.39vw;
    margin-bottom: 2.6vw;
}

.flow-item-img img {
    width: 100%;
    height: 100%;
}

.flow-item-text {
    width: 100%;
    margin-bottom: 2.6vw;
}

.flow-item-text p {
    font-size: 1.56vw;
}


/* LINEボタン */

.line-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 36.77vw;
    border: none;
    border-radius: 3.02vw;
    background-color: #38cd01;
    color: #fff;
    font-size: 1.72vw;
}

.line-button::before {
    content: '';
    width: 5.62vw;
    height: 5.62vw;
    background-image: url(../img/line-btn-icon.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.line-button::after {
    content: '';
    margin-left: 0.52vw;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.78vw 0 0.78vw 1.25vw;
    border-color: transparent transparent transparent #ffffff;
}

.line-button:hover {
    background-color: #28bd00;
}


/* reason-related */

.flow-related-wrap {
    position: relative;
    margin-bottom: 8.64vw;
}


/* .flow-flex {} */

.flow-related-contents {
    width: 50%;
    padding-top: 10vw;
}

.flow-related-item {
    width: 100%;
    min-height: 13.12vw;
    height: auto;
    margin-top: 1.56vw;
    /* padding-left: 42px; */
    position: relative;
}

.flow-related-text {
    min-height: 10.73vw;
    height: auto;
    width: 42.6vw;
    padding-left: 4.68vw;
    padding-top: 3.12vw;
    margin-bottom: 2.7vw;
    background: rgb(228, 252, 127, 30%);
    position: absolute;
    right: 0;
    top: 2.08vw;
    font-size: 1.3vw;
}

.flow-related-text span {
    font-size: 0.93vw;
    margin: 0.52vw 0 2.08vw;
    display: block;
}

.flow-related-first {
    display: flex;
    align-items: center;
    padding-top: 2.12vw;
}

.flow-related-title {
    width: 23.23vw;
    height: 4.79vw;
    color: #000;
    font-size: 1.82vw;
    display: grid;
    place-items: center;
    background: #E0FF5A;
    position: absolute;
    top: 0;
    left: 0;
}

.flow-related-img {
    width: 50%;
    /* margin-left: 78px; */
    padding-top: 4.16vw;
    display: flex;
    margin-bottom: 11.97vw;
    position: relative;
}

.white-object02 {
    content: '';
    position: absolute;
    top: 8.33vw;
    right: 9.16vw;
    width: 1px;
    height: 39.58vw;
    /* background: #f5c0ec52; */
    box-shadow: -1px 0px 2.81vw 3.64vw #ffffff;
    opacity: 0.9;
}

.flow-related-img img {
    width: 34.16vw;
    height: 44.16vw;
}

.flow-related-img p {
    font-size: 5.21vw;
    color: #E0FF5A;
    writing-mode: vertical-lr;
    transform: rotate(-180deg);
    padding-top: 5vw;
    line-height: 1;
}

.flow-related-head {
    width: 38.95vw;
    height: 6.66vw;
    margin-right: 1.25vw;
    background: #E0FF5A;
    display: grid;
    place-items: center;
    position: absolute;
    top: 1.77vw;
    right: 0;
}

.flow-related-head p {
    font-size: 2.34vw;
    color: #000;
}

.triangle-yellow {
    position: absolute;
    top: 0;
    left: -5.83vw;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 5.83vw 6.66vw 5.83vw;
    border-color: transparent transparent #E0FF5A transparent;
    /* background: #E0FF5A; */
}

.flow-related-head::after {
    content: '';
    position: absolute;
    top: 1.25vw;
    left: -4.58vw;
    width: 44.79vw;
    height: 6.66vw;
    background-image: url(../img/triangle-yellow-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
}

@media screen and (max-width:540px) {
    .flow-container {
        margin: 0;
    }
    .flow-banner {
        height: 71.62vw;
        background-image: url(../img/flow-bg-sp.jpg);
        position: relative;
    }
    .flow-head {
        position: absolute;
        top: 71.62vw;
        left: 0;
        width: 100%;
        text-align: center;
    }
    .flow-item-flex {
        margin-top: 48.83vw;
        flex-direction: column;
    }
    .flow-head-btn {
        width: 85.11vw;
        height: 12.79vw;
        border-radius: 6.51vw;
        margin-bottom: 4.65vw;
    }
    .flow-head-btn p {
        font-size: 4.18vw;
    }
    .flow-head-text {
        font-size: 9.3vw;
    }
    .flow-item {
        width: 100%;
        height: auto;
        padding: 0;
        margin-bottom: 48px;
    }
    .flow-item-title {
        justify-content: center;
        margin-bottom: 4.65vw;
    }
    .flow-item-number {
        width: 10.46vw;
        height: 10.46vw;
    }
    .flow-item-number p {
        font-size: 7.2vw;
    }
    .flow-item-img {
        height: 46.97vw;
        margin-bottom: 4.65vw;
    }
    .flow-item-title h3 {
        font-size: 5.58vw;
    }
    .flow-item-text {
        text-align: center;
    }
    .flow-item-text p {
        font-size: 4.65vw;
    }
    .flow-flex {
        flex-direction: column;
    }
    /* .slide-logo-sp {
            } */
    .slide-logo-sp p {
        font-size: 25.58vw;
        color: #0628EC;
    }
    /* ロゴ文字 */
    .flow-related-img {
        flex-direction: row-reverse;
        justify-content: center;
        padding-top: 23.25vw;
        width: 100%;
    }
    /* 画像 */
    .flow-related-img img {
        width: 72.09vw;
        height: 98.06vw;
    }
    .flow-related-img p {
        font-size: 15.11vw;
    }
    /* アプリ1つですべてが完結！ */
    /* タイトル */
    .flow-related-head {
        width: 83.25vw;
        height: 13.48vw;
        margin-right: 0;
    }
    .flow-related-head p {
        font-size: 4.65vw;
    }
    .triangle-yellow {
        border-width: 0 10.83vw 13.66vw 10.83vw;
        left: -10.69vw;
    }
    .flow-related-head::after {
        top: 1.25vw;
        left: -5.58vw;
        width: 98.06vw;
        height: 14.65vw;
    }
    .white-object02 {
        content: '';
        position: absolute;
        top: 23.25vw;
        right: 29.16vw;
        width: 2.32vw;
        height: 400px;
        /* background: #f5c0ec52; */
        box-shadow: -1px 0px 17.81vw 14.64vw #ffffff;
        opacity: 0.7;
        background: rgba(255, 255, 255, 0.9);
    }
    .flow-related-contents {
        width: 100%;
        padding-top: 0;
    }
    .flow-related-item {
        display: flex;
        flex-direction: column-reverse;
    }
    .flow-related-title {
        width: 100%;
        height: 11.62vw;
    }
    .flow-related-text,
    .flow-related-title {
        position: unset;
    }
    .flow-related-text {
        position: unset;
        width: 100%;
        margin-top: 0;
        padding-left: 0;
        text-align: center;
        padding-top: 4.65vw;
        background: rgb(247, 254, 216, 0.3);
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .flow-related-text p {
        margin-bottom: 5.58vw;
        font-size: 4.18vw;
    }
    .flow-related-text span {
        font-size: 10px;
    }
    /* .flow-related-title {
                position: unset;
            } */
    .flow-related-title p {
        font-size: 4.65vw;
    }
    /* アニメーション */
    .slide-logo-sp {
        display: inline-block;
        display: flex;
        flex-wrap: nowrap;
        animation: textLoop 6s linear infinite;
        margin-right: -100%;
        margin-left: 100%;
        width: 1000px;
    }
    /* 横にスクロールさせるアニメーション */
    @keyframes textLoop {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(-100%);
        }
    }
}


/*--------------------------
message
--------------------------*/

.message-wrap {
    background-image: url(../img/message.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top 6.77vw left 0;
}

.message-contents {
    width: 50%;
    margin-right: auto;
    padding-top: 3.12vw;
}

.message-head {
    width: 100%;
    height: 7.81vw;
    text-align: center;
    margin-bottom: 3.9vw;
}

.message-head h2 {
    font-size: 6.77vw;
    color: #0628EC;
    position: relative;
    font-family: yu-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 400;
}

.message-head h2::before {
    display: inline-block;
    content: 'ヨブクルが誕生した理由';
    position: absolute;
    top: -2.08vw;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.82vw;
    color: #000;
    width: 100%;
    font-family: toppan-bunkyu-midashi-go-std, sans-serif;
    font-style: normal;
    font-weight: 900;
    /* height: 3px; */
    /* background-color: #0628ec; */
}

.message-inner {
    margin-bottom: 4.27vw;
}

.message-inner p {
    font-size: 1.56vw;
    line-height: 2.33;
    font-family: yu-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 400;
}


/* .message-inner span {

        }
         */

.name {
    width: 100%;
    margin-right: 4.32vw;
    text-align: right;
}

.name p {
    font-size: 3.64vw;
    font-family: 'Aoyagireisyosimo';
}

@media screen and (max-width:540px) {
    .message-wrap {
        background-image: none;
    }
    .message-container {
        margin: 0;
    }
    .message-contents {
        width: 100%;
    }
    /* タイトル */
    .message-head {
        height: 9.3vw;
    }
    .message-head h2 {
        font-size: 17.9vw;
    }
    .message-head h2::before {
        top: unset;
        bottom: -2.08vw;
        font-size: 4.65vw;
    }
    .message-head {
        height: auto;
        margin-bottom: 48px;
    }
    /* 本文 */
    .message-inner p {
        font-size: 4.18vw;
        line-height: 1.66;
        margin: 0 4.65vw;
    }
    .message-inner-space {
        /* height: 10px; */
        display: block;
    }
    .message-img-sp {
        width: 100%;
        height: 288px;
    }
    .message-img-sp img {
        width: 100%;
        /* height: fit-content; */
        height: auto;
    }
    .name {
        margin-top: 30px;
    }
    .name p {
        font-size: 9.3vw;
    }
}


/*--------------------------
アプリ
--------------------------*/

.app-content {
    padding: 6.98vw 0;
}

.app-frame {
    width: 100%;
    height: 36.87vw;
    background: #E5FCFF;
    border: 5px solid #0628EC;
    border-radius: 18.43vw;
}

.app-flex {
    justify-content: center;
}

.app-inner {
    margin-right: 3.33vw;
    text-align: center;
}

.app-title {
    padding: 5vw 0 2.5vw;
}

.app-title img {
    width: 30.62vw;
    height: 6.66vw;
}

.app-sub-title {
    padding-bottom: 78px;
    font-size: 1.82vw;
}

.app-text {
    font-size: 1.3vw;
    padding-bottom: 2.5vw;
}

.app-text p {
    line-height: 1.8;
}

.app-img {
    width: 26.45vw;
    height: 33.95vw;
    position: relative;
    bottom: -2.39vw;
}

.app-img img {
    width: 100%;
    height: 100%;
}

.app-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35.1vw;
    height: 6.46vw;
    margin: 0 auto;
    border: none;
    border-radius: 3.23vw;
    background-color: #0628EC;
    color: #fff;
    font-size: 1.56vw;
}

.app-button:hover {
    background-color: #435adf;
}

@media screen and (max-width:540px) {
    .app-frame {
        height: auto;
        border: 2px solid #0628EC;
        border-radius: 0;
    }
    .app-flex {
        flex-direction: column;
        justify-content: unset;
    }
    .app-inner {
        margin-right: 0;
        margin-top: 11.62vw;
    }
    .app-title {
        padding: 0;
        height: 14.41vw;
    }
    .app-title img {
        width: 65.11vw;
        height: 14.41vw;
        margin: 0 auto;
    }
    .app-sub-title {
        font-size: 4.18vw;
        padding: 4.65vw 0 8.37vw;
    }
    .app-text {
        padding-bottom: 8.37vw;
    }
    .app-text p {
        font-size: 3.72vw;
        line-height: 1.56;
    }
    /* ボタン */
    .app-button {
        width: 74.41vw;
        height: 13.95vw;
        border-radius: 8.37vw;
        font-size: 4.18vw;
    }
    .app-img {
        width: 55.81vw;
        height: 71.62vw;
        margin: 0 auto;
        bottom: 0;
    }
}


/*--------------------------
サポート
--------------------------*/


/* reason-related */

.support-related-wrap {
    position: relative;
}


/* .support-flex {} */

.support-related-contents {
    width: 50%;
    padding-top: 10vw;
}

.support-item {
    width: 100%;
    margin-top: 1.56vw;
    position: relative;
}

.support-title {
    width: 100%;
    height: 6.14vw;
    display: flex;
    place-items: center;
}


/* 番号 */

.support-number {
    width: 6.14vw;
    height: 6.14vw;
    border-radius: 50%;
    background: #0628EC;
    display: grid;
    place-items: center;
    font-size: 3.12vw;
    color: #fff;
}

.support-number p {
    font-family: 'Intro Cond';
    padding-top: 0.52vw;
}


/* タイトル */

.support-head {
    padding-left: 1.82vw;
}

.support-head h2 {
    font-size: 2.08vw;
}


/* テキスト */

.support-text {
    margin-left: 8.43vw;
    padding-bottom: 2.7vw;
}

.support-text p {
    line-height: 1.66;
    font-size: 1.56vw;
}

.support-text p span {
    font-size: 1.19vw;
}


/* テキスト上余白 */

.support-text-long {
    padding-top: 1.56vw;
}


/* 左側 */

.support-related-img {
    width: 50%;
    padding-left: 4.06vw;
    margin-top: 4.16vw;
    display: flex;
}

.support-related-img img {
    width: 34.16vw;
    height: 44.16vw;
}

.support-related-img p {
    font-size: 5.21vw;
    line-height: 1;
    color: #0628EC;
    writing-mode: vertical-rl;
    padding-top: 5vw;
}

.support-related-head {
    width: 38.95vw;
    height: 6.66vw;
    background: #0628EC;
    display: grid;
    place-items: center;
    position: absolute;
    top: 1.77vw;
    left: 0;
}

.support-related-head p {
    font-size: 2.34vw;
    color: #fff;
}

@media screen and (max-width:540px) {
    .support-flex {
        flex-direction: column;
    }
    .support-related-img,
    .support-related-contents {
        width: 100%;
    }
    .support-related-img {
        flex-direction: row-reverse;
    }
    .support-related-img img {
        width: 78.14vw;
        height: 101.16vw;
    }
    .support-related-img p {
        padding-top: 17vw;
        font-size: 15.11vw;
        position: relative;
        left: 5.81vw;
    }
    .support-title {
        height: 56px;
        margin-bottom: 12px;
    }
    /* 番号 */
    .support-number {
        width: 56px;
        height: 56px;
    }
    .support-number p {
        font-size: 6.97vw;
    }
    .support-head h2 {
        font-size: 4.18vw;
    }
    .support-text {
        margin-left: 0;
        padding-bottom: 4.65vw;
        margin-bottom: 5.58vw;
        border-bottom: 1px solid #0628EC;
    }
    .support-text p {
        font-size: 4.18vw;
    }
    .support-text p span {
        font-size: 3.02vw;
    }
    /* LINEボタン */
    .line-button {
        width: auto;
        height: 13.95vw;
        border-radius: 6.97vw;
        padding: 0 6.97vw;
        margin: auto;
        font-size: 17px;
    }
    .line-button::before {
        width: 56px;
        height: 56px;
    }
    .line-button::after {
        margin-left: 4px;
        border-width: 1.78vw 0 1.78vw 2.32vw;
    }
}


/*--------------------------
ヨブクルだから得られること（メリット）
--------------------------*/

.merit {
    width: auto;
    height: 79.33vw;
    margin-top: 8.33vw;
    position: relative;
}


/* .worry-title {} */

.merit-title {
    width: 37.5vw;
    height: 6.46vw;
    background: #0628EC;
    display: grid;
    place-items: center;
}

.merit-title p {
    font-size: 2.34vw;
    line-height: 1.5;
    color: #fff;
}

.merit-sub-title {
    font-size: 1.3vw;
    padding-left: 2.08vw;
    margin-top: 1.04vw;
}


/* アイテム */

.merit-item-01 {
    content: '';
    position: absolute;
    top: 0.79vw;
    left: 37.29vw;
    width: 46.35vw;
    height: 23.95vw;
    padding-left: 12.23vw;
    padding-bottom: 5.98vw;
}

.merit-item-01::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34.16vw;
    height: 14.16vw;
    background-image: url(../img/merit-01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

.merit-item-01::after {
    content: '自由な時間';
    position: absolute;
    top: 6.14vw;
    left: 17.18vw;
    padding: 1.56vw 2.08vw;
    background-color: #fff;
    font-size: 2.08vw;
}


/* 黄色の背景 */

.merit-item-bg {
    background: #E0FF5A;
    width: 100%;
    height: 100%;
}


/* アイテム */

.merit-item-02 {
    content: '';
    position: absolute;
    top: 24.48vw;
    left: 1.97vw;
    width: 38.43vw;
    height: 21.87vw;
    padding-right: 17.18vw;
    padding-bottom: 4.16vw;
}

.merit-item-02::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 34.16vw;
    height: 14.16vw;
    background-image: url(../img/merit-02.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

.merit-item-02::after {
    content: 'スキルUP';
    position: absolute;
    top: 4.68vw;
    left: 6.54vw;
    padding: 1.06vw 7.08vw;
    background-color: #fff;
    font-size: 2.08vw;
}


/* アイテム */

.merit-item-03 {
    content: '';
    position: absolute;
    top: 39.63vw;
    left: 44.27vw;
    width: 44.27vw;
    height: 20.83vw;
    padding-left: 7.29vw;
    padding-top: 5.2vw;
}

.merit-item-03::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 34.16vw;
    height: 14.16vw;
    background-image: url(../img/merit-03.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

.merit-item-03::after {
    content: 'リスクが少ない独立チャンス！';
    position: absolute;
    top: 11.56vw;
    left: 1.56vw;
    padding: 1.06vw 2.08vw;
    background-color: #fff;
    font-size: 2.08vw;
}


/* アイテム */

.merit-item-04 {
    content: '';
    position: absolute;
    top: 53.33vw;
    left: 0;
    width: 40.78vw;
    height: 18.22vw;
    padding-left: 15.2vw;
    padding-top: 2.18vw;
}

.merit-item-04::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 34.16vw;
    height: 14.16vw;
    background-image: url(../img/merit-04.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

.merit-item-04::after {
    content: '高報酬';
    position: absolute;
    top: 11.35vw;
    left: 9.37vw;
    padding: 1.06vw 7.08vw;
    background-color: #fff;
    font-size: 2.08vw;
    white-space: nowrap;
}


/* 追記 */

.merit-item-column {
    display: flex;
    margin-top: 300px;
}

@media screen and (max-width:540px) {
    .merit {
        margin-top: 12.09vw;
        height: 308.83vw;
    }
    .merit-container {
        margin: 0;
    }
    .merit-title {
        text-align: center;
        width: 100%;
        height: 12.09vw;
    }
    .merit-title p {
        font-size: 4.65vw;
        line-height: 1.75;
    }
    .merit-sub-title {
        height: 124px;
        font-size: 4.65vw;
        padding-left: 0;
        margin-top: 26px;
        text-align: center;
    }
    /* アイテム全体の大きさ */
    .merit-item-01,
    .merit-item-03 {
        left: unset;
        right: 0;
        width: 95.34vw;
        height: 55.81vw;
    }
    .merit-item-02,
    .merit-item-04 {
        right: unset;
        left: 0;
        width: 95.34vw;
        height: 55.81vw;
    }
    /* 画像 */
    .merit-item-01::before {
        background-image: url(../img/merit-01-sp.jpg);
    }
    .merit-item-02::before {
        background-image: url(../img/merit-02-sp.jpg);
    }
    .merit-item-03::before {
        background-image: url(../img/merit-03-sp.jpg);
    }
    .merit-item-04::before {
        background-image: url(../img/merit-04-sp.jpg);
    }
    /* 黄色背景 */
    .merit-item-01,
    .merit-item-03 {
        padding-left: 50%;
        padding-bottom: 4.65vw;
        padding-top: 0;
    }
    .merit-item-02 {
        padding-left: 0;
    }
    .merit-item-04 {
        padding-left: 0;
        padding-right: 28%;
    }
    .merit-item-04 {
        padding-top: 0;
        padding-bottom: 4.65vw;
        bottom: 0;
    }
    /* 画像の大きさ */
    .merit-item-01::before,
    .merit-item-02::before,
    .merit-item-03::before,
    .merit-item-04::before {
        width: 90.69vw;
        height: 45.11vw;
    }
    .merit-item-01::before,
    .merit-item-03::before {
        top: 10.69vw;
        left: -4.65vw;
    }
    .merit-item-02::before,
    .merit-item-04::before {
        left: 0;
        top: unset;
        bottom: 0;
    }
    /* テキストの大きさ */
    .merit-item-01::after,
    .merit-item-02::after,
    .merit-item-03::after,
    .merit-item-04::after {
        padding: 0;
        font-size: 4.18vw;
        display: flex;
        justify-content: center;
        place-items: center;
    }
    /* テキストの背景の大きさ */
    .merit-item-01::after {
        /* width: 66.28vw; */
        width: 40.28vw;
        height: 11.62vw;
    }
    .merit-item-02::after {
        width: 36.44vw;
        height: 11.62vw;
    }
    .merit-item-03::after {
        width: 67.44vw;
        height: 11.62vw;
    }
    .merit-item-04::after {
        width: 27.04vw;
        height: 11.62vw;
    }
    /* テキストの位置 */
    .merit-item-01::after {
        top: 4.65vw;
        right: 66px;
        left: unset;
    }
    .merit-item-02::after {
        /* right: 0; */
        top: 4.65vw;
        right: unset;
        left: 13.95vw;
    }
    .merit-item-03::after {
        top: 4.65vw;
        right: 3.72vw;
        left: unset;
    }
    .merit-item-04::after {
        /* right: 0; */
        top: 4.65vw;
        right: unset;
        left: 53.48vw;
    }
    .merit-item-01::after,
    .merit-item-02::after,
    .merit-item-03::after,
    .merit-item-04::after {
        box-shadow: -2px 2px 3px rgb(0, 0, 0, 0.55);
    }
    /* アイテム１の位置 */
    .merit-item-01 {
        position: absolute;
        top: 41.86vw;
    }
    /* アイテム２の位置 */
    .merit-item-02 {
        position: absolute;
        top: 109.76vw;
    }
    /* アイテム３の位置 */
    .merit-item-03 {
        position: absolute;
        top: 178.6vw;
    }
    /* アイテム４の位置 */
    .merit-item-04 {
        position: absolute;
        top: 246.51vw;
    }
}


/*--------------------------
ハンバーガーメニュー内のページ
--------------------------*/


/*--------------------------
アプリ
--------------------------*/

.app-content {
    padding: 6.98vw 0;
}

.app-frame {
    width: 100%;
    height: 36.87vw;
    background: #E5FCFF;
    border: 5px solid #0628EC;
    border-radius: 18.43vw;
}

.app-flex {
    justify-content: center;
}

.app-inner {
    margin-right: 3.33vw;
    text-align: center;
}

.app-title {
    padding: 3.43vw 0 2.5vw;
}

.app-title img {
    width: 30.62vw;
    height: 6.66vw;
}

.app-sub-title {
    padding-bottom: 2.5vw;
    font-size: 1.82vw;
}

.app-text {
    font-size: 1.3vw;
    padding-bottom: 2.5vw;
}

.app-text p {
    line-height: 1.8;
}

.app-img {
    width: 26.45vw;
    height: 33.95vw;
    position: relative;
    bottom: -2.39vw;
}

.app-img img {
    width: 100%;
    height: 100%;
}

.app-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35.1vw;
    height: 6.46vw;
    margin: 0 auto;
    border: none;
    border-radius: 3.23vw;
    background-color: #0628EC;
    color: #fff;
    font-size: 1.56vw;
}

.app-button:hover {
    background-color: #435adf;
}

@media screen and (max-width:540px) {
    .app-frame {
        height: 148.28vw;
        border: 2px solid #0628EC;
        border-radius: 0;
    }
    .app-flex {
        flex-direction: column;
        justify-content: unset;
    }
    .app-inner {
        margin-right: 0;
        margin-top: 11.62vw;
    }
    .app-title {
        padding: 0;
        height: 14.41vw;
    }
    .app-title img {
        width: 65.11vw;
        height: 14.41vw;
    }
    .app-sub-title {
        font-size: 4.18vw;
        padding: 4.65vw 0 8.37vw;
    }
    .app-text {
        padding-bottom: 8.37vw;
    }
    .app-text p {
        font-size: 3.72vw;
        line-height: 1.56;
    }
    /* ボタン */
    .app-button {
        width: 74.41vw;
        height: 13.95vw;
        border-radius: 8.37vw;
        font-size: 4.18vw;
    }
    .app-img {
        width: 55.81vw;
        height: 71.62vw;
        margin: 2.09vw auto 0 auto;
    }
}

@media screen and (max-width:540px) {
    /* 四つめのcta */
    .cta-04-circle {
        margin-right: auto;
        margin-left: 7.9vw;
    }
}


/*--------------------------
利用規約ページ
プライバシーポリシー
--------------------------*/

.header-wave {
    width: 100%;
    height: 13.02vw;
    background-image: url(../img/page-top-wave.png);
    background-size: cover;
    background-repeat: no-repeat;
}

.page-title {
    width: 100%;
    height: auto;
    margin-bottom: 6.25vw;
    display: grid;
    place-items: center;
}

.page-title h1 {
    font-size: 3.12vw;
}

.page-contents {
    margin-bottom: 20.83vw;
}

.page-contents-title {
    padding-bottom: 1.41vw;
    border-bottom: 1px solid #000;
    margin-bottom: 3.64vw;
}

.page-contents-title h2 {
    font-size: 2.34vw;
}

.page-contents-subtitle {
    font-size: 1.82vw;
    margin-bottom: 60px;
}

.page-contents-subtitle p {
    font-size: 1.82vw;
    line-height: 1.85;
}

.page-contents-text {
    margin-bottom: 4.16vw;
}

.page-contents-text h3 {
    font-weight: bold;
}

.page-contents-text h3,
.page-contents-text p {
    font-size: 1.82vw;
    line-height: 1.85;
}

.footer-wave {
    width: 100%;
    height: 13.02vw;
    background-image: url(../img/page-bottom-wave.png);
    background-size: cover;
    background-repeat: no-repeat;
}

@media screen and (max-width:540px) {
    .header-wave,
    .footer-wave {
        height: 13.02vw;
    }
    .page-title h1 {
        font-size: 7.44vw;
    }
    .page-contents-title h2 {
        font-size: 5.58vw;
    }
    .page-contents-text h3,
    .page-contents-text p {
        font-size: 3.72vw;
        line-height: 1.85;
    }
    .page-contents-subtitle {
        margin-bottom: 30px;
    }
    .page-contents-subtitle p {
        font-size: 3.72vw;
    }
    .page-title {
        /* margin-bottom: 40px; */
        margin: 40px 0;
    }
    .page-contents-title {
        padding-bottom: 3.25vw;
        border-bottom: 1px solid #000;
        margin-bottom: 8.14vw;
    }
    .page-contents {
        margin-bottom: 23.25vw;
    }
}


/*--------------------------
よくある質問
--------------------------*/

.question-wrapper {
    margin: 80px 0;
}


/*tabの形状*/

.tab {
    display: flex;
    flex-wrap: wrap;
}

.tab li a {
    display: block;
    background: #ddd;
    margin: 0 2px;
    padding: 10px 20px;
    font-size: 20px;
}


/*liにactiveクラスがついた時の形状*/

.tab li.active a {
    background: #fff;
    color: #0628EC;
}


/*エリアの表示非表示と形状*/

.question-area {
    display: none;
    /*はじめは非表示*/
    opacity: 0;
    /*透過0*/
    background: #fff;
    padding: 50px 0;
}


/*areaにis-activeというクラスがついた時の形状*/

.question-area.is-active {
    display: block;
    /*表示*/
    animation-name: displayAnime;
    /*ふわっと表示させるためのアニメーション*/
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.question-head {
    display: flex;
    margin-bottom: 24px;
}

.question-contents {
    margin-bottom: 32px;
}

.question-icon {
    width: 40px;
    height: 40px;
    border-radius: 20px;
    background: #C8F600;
    color: #0628EC;
    display: grid;
    place-items: center;
    margin-right: 20px;
}

.question-title {
    display: flex;
    align-content: center;
    flex-wrap: wrap;
}

.question-title p {
    font-size: 24px;
}

.answer-text {
    border-bottom: 1px solid #999;
    padding-bottom: 32px;
}

.answer-text p {
    line-height: 1.8;
}

@media screen and (max-width:540px) {
    .tab li a {
        font-size: 10px;
    }
    .tab {
        display: flex;
        flex-wrap: nowrap;
    }
    .question-title p {
        font-size: 16px;
    }
    .answer-text {
        font-size: 12px;
    }
}


/* 外部リンク */

.terms-link {
    color: #586bbf;
}


/* アニメーション */


/* fadeUp */

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fadeUpOrderTrigger {
    opacity: 0;
}

.fadeUpOrder {
    animation-name: fadeUpAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* * {
            outline: 1px red solid;
        } */