@charset "utf-8";

/*=======================================================================

トップページ

=======================================================================*/

/*****************************************
共通
*****************************************/

* {
    font-family: 'Noto Sans JP', sans-serif;
}

section {
    width: 100%;
    margin: 0 auto;
    padding: 25px 0 70px 0;
}

h2 {
    margin: 0 auto 70px;
}

p {
    font-size: 18px;
    line-height: 30px;
    font-weight: 400;
}

p.read {
    font-size: 20px;
    line-height: 36px;
}

p.caps {
    font-size: 13px;
    line-height: 24px;
}

img {
    width: 100%;
    height: auto;
    /*vertical-align: bottom;*/
}

.tcenter {
    text-align: center;
}

@media all and (max-width: 1166px) {
    p {
        font-size: 16px;
        line-height: 26px;
    }

    p.read {
        font-size: 18px;
        line-height: 30px;
    }

    p.caps {
        font-size: 13px;
        line-height: 20px;
    }
}

@media all and (max-width: 970px) {
    section {
        padding: 25px 0 60px 0;
    }

    h2 {
        margin: 0 auto 50px;
    }
}

@media all and (max-width: 750px) {
    section {
        padding: 25px 0 40px 0;
    }

    h2 {
        margin: 0 auto 40px;
    }

    p {
        font-size: 13px;
        line-height: 20px;
    }

    p.read {
        font-size: 13px;
        line-height: 24px;
    }

    p.caps {
        font-size: 11px;
        line-height: 16px;
    }
}

@media all and (max-width: 470px) {
    section {
        padding: 2.6666666666666665vw 0 8vw 0;
    }

    h2 {
        margin: 0 auto 8vw;
    }

    p.read {
        font-size: 4vw;
        line-height: 6.4vw;
    }

    p.caps {
        font-size: 3.466666666666667vw;
        line-height: 5.333333333333333vw;
    }
}


/*****************************************
ヘッダ
*****************************************/
header {
    background: #fff;
    width: 100%;
    margin: 0 auto;
    padding: 15px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header h1 {
    width: 253px;
    height: 42px;
}

header p {
    margin: 0 20px;
    font-size: 13px;
    line-height: 18px;
    flex: 1;
}

header a {
    width: 200px;
    margin-left: auto;
    background: #ff7400;
    border-radius: 10px;
    padding: 11px 40px 14px 40px;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    transition: filter 0.2s ease;
    filter: brightness(1);
}

header a:hover {
    filter: brightness(1.3);
}

@media all and (min-width: 1920px) {}

@media all and (max-width: 970px) {
    header {
        background: #fff;
        padding: 15px 10px;
    }

    header p {
        font-size: 11px;
        line-height: 16px;
    }

    header a {
        width: 160px;
        padding: 11px 20px 14px;
        font-size: 16px;
    }
}

@media all and (max-width: 750px) {
    header h1 {
        width: 200px;
        height: auto;
    }

    header p {
        display: none;
    }

    header a {
        width: 140px;
        padding: 10px 20px 12px;
        font-size: 13px;
    }
}

@media all and (max-width: 470px) {
    header {
        padding: 2.6666666666666665vw;
    }

    header h1 {
        width: 41.86666666666667vw;
        height: auto;
    }

    header a {
        width: 28vw;
        border-radius: 2.6666666666666665vw;
        padding: 2.4vw 0 2.6666666666666665vw;
        color: #fff;
        font-size: 3.2vw;
    }
}


/*****************************************
メインエリア
*****************************************/
#home main {
    position: relative;
    background: #c6eef4 url(../images/main_bg_pc.jpg) no-repeat 50% 0;
    background-size: cover;
    width: 100%;
    height: 750px;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

#home main::after {
    position: absolute;
    content: "";
    background: url(../images/main_bg_wave_pc.png) no-repeat 0 0;
    background-size: cover;
    width: 100%;
    height: 50px;
    bottom: 0;
    left: 0;
    z-index: 1;
}

#home main .flags {
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

#home main .flags .flag_left {
    width: 225px;
}

#home main .flags .flag_right {
    width: 205px;
}

#home main .inner {
    position: relative;
    max-width: 1166px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
}

#home main .inner h1 {
    position: absolute;
    width: 731px;
    height: auto;
    top: 25px;
    z-index: 2;
}

#home main .inner .model {
    width: 630px;
    position: absolute;
    top: 0;
    right: -20px;
    z-index: 1;
}

#home .mainarea .inner h1 span {
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0.1em;
}

#home .mainarea .inner p {
    margin: 20px 0 0 0;
    font-size: 18px;
    line-height: 30px;
    color: #fff;
}

@media all and (min-width: 1920px) {
    #home main {
        background: #c6eef4 url(../images/main_bg_pc.jpg) no-repeat 0 100%;
        background-size: 100%;
    }
}

@media all and (max-width: 1166px) {
    #home main {
        height: 64.32247vw;
    }

    #home main::after {
        background: url(../images/main_bg_wave_pc.png) no-repeat 0 102%;
        background-size: 100%;
        width: 100%;
    }

    #home main .inner h1 {
        width: 62.2692967%;
    }

    #home main .inner .model {
        /*width:54.030875%;*/
        width: 56%;
        right: -3vw;
    }
}

@media all and (max-width: 970px) {
    #home main {
        height: 68vw;
    }

    #home main::after {
        background: url(../images/main_bg_wave_pc.png) no-repeat 0 102%;
        background-size: 100%;
        width: 100%;
    }

    #home main .inner h1 {
        width: 68%;
        top: 10px;
    }

    #home main .inner .model {
        width: 60%;
        right: -13.5vw;
    }
}

@media all and (max-width: 750px) {}

@media all and (max-width: 470px) {
    #home main {
        position: relative;
        background-color: #c6eef4;
        background-image: none;
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
        overflow: auto;
    }

    #home main::after {
        background: none;
    }

    #home main .flags {
        display: none;
    }

    #home main .inner {
        position: relative;
        max-width: 1166px;
        width: 100%;
        margin: 0 auto;
        padding: 0
    }

    #home main .inner h1 {
        position: static;
        width: 100%;
        height: auto;
        top: 0;
        z-index: 2;
    }

    #home main .inner .model {
        display: none;
    }
}


/*****************************************
sec1　ウームキッチンとは？
*****************************************/
#home .sec1 {
    background: #fff;
}

#home .sec1 h2 {
    width: 550px;
    height: 141px;
}

#home .sec1 .inner {
    width: 100%;
    max-width: 1166px;
    margin: 0 auto;
    padding: 0 30px;
    display: flex;
    flex-direction: row-reverse;
    gap: 0 60px;
}

#home .sec1 .inner>div {
    margin: 0;
}

#home .sec1 .inner>picture img {
    width: 542px;
}

#home .sec1 .inner p {
    margin: 0 0 15px 0;
}

#home .sec1 .inner p b {
    background: linear-gradient(transparent 75%, #ffdd00 0%);
    font-weight: 700;
}

#home .sec1 .inner article {
    display: flex;
    flex-direction: row-reverse;
    padding: 0;
    gap: 0 16px;
    align-items: center;
}

#home .sec1 .inner article h3 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 600;
}

#home .sec1 .inner article img {
    width: 105px;
}

#home .sec1 .inner2 {
    max-width: 1166px;
    margin: 80px auto 0;
    padding: 0 30px;
}

#home .sec1 .inner2 img {
    border-radius: 50px;
}


@media all and (max-width: 1166px) {
    #home .sec1 .inner {
        gap: 0 40px;
    }

    #home .sec1 .inner>picture img {
        max-width: 542px;
    }
}

@media all and (max-width: 970px) {
    #home .sec1 .inner {
        flex-direction: column-reverse;
    }

    #home .sec1 .inner>picture {
        margin: 0 auto 40px;
    }

    #home .sec1 .inner article {
        align-items: center;
    }

    #home .sec1 .inner article h3 {
        margin: 20px 0 10px 0;
    }

    #home .sec1 .inner2 {
        margin: 40px auto 0;
        padding: 0 30px;
    }
}

@media all and (max-width: 750px) {
    #home .sec1 h2 {
        width: 275px;
        /*50％に縮小*/
        height: auto;
    }

    #home .sec1 .inner>picture img {
        max-width: 542px;
        width: 100%;
    }
}

@media all and (max-width: 470px) {
    #home .sec1 .inner {
        padding: 0 4vw;
    }

    #home .sec1 h2 {
        width: 73.333333vw;
    }

    #home .sec1 .inner>picture {
        margin: 0 auto 8vw;
    }

    #home .sec1 .inner article {
        display: flex;
        flex-direction: row-reverse;
        padding: 0;
        gap: 0 4.266666666666667vw;
        align-items: flex-start;
    }

    #home .sec1 .inner article h3 {
        margin: 0 0 1.3333333333333333vw 0;
        font-size: 4vw;
        font-weight: 700;
    }

    #home .sec1 .inner article img {
        width: 28vw
    }

    #home .sec1 .inner2 {
        margin: 6.666666666666667vw auto 0;
        padding: 0 4vw
    }
}


/*****************************************
sec2　5つの理由
*****************************************/
#home .sec2 {
    position: relative;
    background: #f0ebde url(../images/bg_texture_stripe.png) repeat 0 0;
    background-size: 75px 75px;
}

#home .sec2::before {
    position: absolute;
    content: "";
    background: url(../images/reason_bg_wave_upper_pc.png) no-repeat 0 0;
    background-size: 100%;
    width: 100%;
    height: 100px;
    top: 0;
    left: 0;
    z-index: 1;
}

#home .sec2::after {
    position: absolute;
    content: "";
    background: url(../images/reason_bg_wave_bottom_pc.png) no-repeat 0 102%;
    background-size: 100%;
    width: 100%;
    height: 50px;
    bottom: 0;
    left: 0;
    z-index: 1;
}

#home .sec2 h2 {
    width: 391px;
    height: 181px;
    margin: 90px auto 70px;
}

#home .sec2 ul {
    width: 100%;
    max-width: 1166px;
    margin: 0 auto;
    padding: 0 30px;
}

#home .sec2 li {
    position: relative;
    display: flex;
    margin: 0 0 60px 0;
}

#home .sec2 li:nth-child(even) {
    flex-direction: row-reverse;
}

#home .sec2 li>div {
    position: relative;
    background: #fff;
    border-radius: 50px;
    min-height: 400px;
    margin: 40px 0 0 0;
    padding: 80px 60px 60px 60px;
    align-items: center;
    flex-basis: 54%;
    z-index: 2;
}

#home .sec2 li>div::before {
    position: absolute;
    content: "";
    top: -40px;
    left: -18px;
    width: 161px;
    height: 135px;
    z-index: -1;
}

#home .sec2 li:nth-child(1)>div::before {
    background: url(../images/reason_num1_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec2 li:nth-child(2)>div::before {
    background: url(../images/reason_num2_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec2 li:nth-child(3)>div::before {
    background: url(../images/reason_num3_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec2 li:nth-child(4)>div::before {
    background: url(../images/reason_num4_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec2 li:nth-child(5)>div::before {
    background: url(../images/reason_num5_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec2 li>div>div {
    position: absolute;
    top: 20px;
    left: 30px;
    transform: rotate(-5deg);
    z-index: 2;
}

#home .sec2 li>div>div span {
    font-weight: 900;
}

#home .sec2 li h3 {
    margin: 0 0 20px 0;
    font-size: 36px;
    line-height: 45px;
    font-weight: 900;
}

#home .sec2 li p b {
    background: linear-gradient(transparent 75%, #ffdd00 0%);
    font-weight: 700;
}

#home .sec2 li>picture {
    position: absolute;
    top: 0;
    right: 0;
    flex-basis: 54%;
    z-index: 1;
}

#home .sec2 li>picture img {
    width: 583px;
    border-radius: 50px;
    object-fit: cover;
    object-position: 50% 50%;
}

#home .sec2 li:nth-child(5) picture img {
    object-position: 0 0;
}

#home .sec2 li:nth-child(even) picture {
    right: auto;
    left: 0;
}

@media all and (min-width: 1920px) {
    #home .sec2::before {
        background: url(../images/reason_bg_wave_upper_pc.png) no-repeat 0 0;
        background-size: 100% 100px;
    }

    #home .sec2::after {
        background: url(../images/reason_bg_wave_bottom_pc.png) no-repeat 0 0;
        background-size: 100% 50px;
    }
}

@media all and (max-width: 1166px) {
    #home .sec2 li>div {
        padding: 80px 40px 40px 40px;
    }

    #home .sec2 li h3 {
        font-size: 30px;
        line-height: 40px;
    }

    #home .sec2 li>picture img {
        width: 53vw;
        height: 390px;
    }
}

@media all and (max-width: 970px) {
    #home .sec2 li h3 {
        font-size: 30px;
        line-height: 40px;
    }
}

@media all and (max-width: 750px) {

    #home .sec2 h2 {
        width: 195px;
        /*50％に縮小*/
        height: auto;
        margin: 40px auto 40px;
    }

    #home .sec2 li {
        position: relative;
        display: flex;
        margin: 0 0 30px 0;
    }

    #home .sec2 li>div {
        border-radius: 25px;
        min-height: 300px;
        margin: 30px 0 0 0;
        padding: 40px 20px 20px 20px;
        flex-basis: 54%;
    }

    #home .sec2 li>div::before {
        top: -40px;
        left: -18px;
        width: 161px;
        height: 135px;
        width: 80px;
        height: 67px;
    }

    #home .sec2 li>div>div {
        top: 10px;
        left: 15px;
    }

    #home .sec2 li h3 {
        font-size: 20px;
        line-height: 26px;
    }

    #home .sec2 li picture img {
        border-radius: 25px;
        object-position: left top;
    }

    #home .sec2 li>picture img {
        height: 300px;
    }
}

@media all and (max-width: 470px) {
    #home .sec2::before {
        background-size: 640px;
    }

    #home .sec2::after {
        background-size: 640px;
    }

    #home .sec2 ul {
        padding: 0;
    }

    #home .sec2 li {
        display: flex;
        margin: 0 0 8vw 0;
    }

    #home .sec2 li:nth-child(even) {
        flex-direction: initial;
    }

    #home .sec2 li>div {
        position: relative;
        background: #fff;
        border-radius: 6.666666666666667vw 0 0 6.666666666666667vw;
        min-height: auto;
        margin: 56vw 0 0 4vw;
        padding: 40px 5.333333333333333vw 5.333333333333333vw 5.333333333333333vw;
        align-items: center;
        flex-basis: 96%;
        z-index: 2;
    }

    #home .sec2 li>div>div {
        top: 10px;
        left: 15px;
    }

    #home .sec2 li h3 {
        margin: 0 0 5.333333333333333vw 0;
        font-size: 7.466666666666667vw;
        line-height: 9.6vw;
    }

    #home .sec2 li>div::before {
        top: -40px;
        left: 0;
        width: 26.666666666666668vw;
        height: 30vw;
    }

    #home .sec2 li:nth-child(1)>div::before {
        background: url(../images/reason_num1_pc.png) no-repeat 0 0;
        background-size: 100%;
    }

    #home .sec2 li:nth-child(2)>div::before {
        background: url(../images/reason_num2_pc.png) no-repeat 0 0;
        background-size: 100%;
    }

    #home .sec2 li:nth-child(3)>div::before {
        background: url(../images/reason_num3_pc.png) no-repeat 0 0;
        background-size: 100%;
    }

    #home .sec2 li:nth-child(4)>div::before {
        background: url(../images/reason_num4_pc.png) no-repeat 0 0;
        background-size: 100%;
    }

    #home .sec2 li:nth-child(5)>div::before {
        background: url(../images/reason_num5_pc.png) no-repeat 0 0;
        background-size: 100%;
    }

    #home .sec2 li>picture {
        top: 0;
        right: 0;
        flex-basis: 96%;
        z-index: 1;
    }

    #home .sec2 li>picture img {
        width: 96%;
        height: 67.222222vw;
        border-radius: 0 6.666666666666667vw 6.666666666666667vw 0;
        object-position: 50% 50%;
    }

    #home .sec2 li:nth-child(5) picture img {
        object-position: 0 0;
    }

    #home .sec2 li:nth-child(even) picture {
        right: auto;
        left: 0;
    }
}


/*****************************************
sec3　完全マニュアル化！
*****************************************/
#home .sec3 {
    background: #fff;
}

#home .sec3 h2 {
    width: 596px;
    height: 180px;
    margin: 60px auto 70px;
}

#home .sec3 .inner {
    width: 100%;
    max-width: 1166px;
    margin: 0 auto;
    padding: 0 30px;
}

#home .sec3 .inner>p {
    text-align: center;
}

#home .sec3 .inner ul {
    margin: 70px 0 0 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 0 60px;
}

#home .sec3 .inner ul>li {
    width: 100%;
}

#home .sec3 .inner ul li h3 {
    background: url(../images/bg_texture_angle_stripe.png) no-repeat 0 0;
    background-size: 750px 83px;
    padding: 13px 0 16px 0;
    font-size: 30px;
    line-height: 30px;
    font-weight: 900;
    text-align: center;
}

#home .sec3 .inner>ul ol {
    counter-reset: list-counter;
    padding: 0;
    margin: 0;
    flex: 1;
}

#home .sec3 .inner>ul ol li {
    position: relative;
    margin: 0 0 10px 30px;
    padding: 0;
    font-size: 16px;
    line-height: 1.5;
    list-style: none;
    letter-spacing: 0vw;
}

#home .sec3 .inner>ul ol li:before {
    content: counter(list-counter);
    counter-increment: list-counter;
    background: #ffe955;
    box-sizing: border-box;
    border-radius: 50%;
    height: 24px;
    width: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: -30px;
    font-size: 75%;
    font-weight: 900;
}

#home .sec3 .inner>ul>li div {
    margin: 30px 0 0 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 0 18px;
}

#home .sec3 .inner>ul li picture {
    width: 234px;
}

#home .sec3 .inner>ul li picture img {
    width: 100%;
}


@media all and (max-width: 1166px) {
    #home .sec3 .inner ul li h3 {
        font-size: 24px;
        line-height: 24px;
    }

    #home .sec3 .inner>p {
        text-align: left;
    }

    #home .sec3 .inner>ul li picture {
        width: 20vw;
    }
}

@media all and (max-width: 970px) {
    #home .sec3 .inner ul {
        gap: 0 40px;
    }

    #home .sec3 .inner>ul ol li {
        font-size: 13px;
        line-height: 1.5;
    }

}

@media all and (max-width: 750px) {
    #home .sec3 h2 {
        width: 298px;
        /*50％に縮小*/
        height: auto;
        margin: 0 auto 30px;
    }

    #home .sec3 .inner ul {
        margin: 40px 0 0 0;
        display: flex;
        flex-wrap: wrap;
        gap: 0 0;
    }

    #home .sec3 .inner ul>li:first-child {
        margin: 0 0 40px 0;
    }

    #home .sec3 .inner>ul li picture {
        width: 234px;
    }
}

@media all and (max-width: 470px) {
    #home .sec3 h2 {
        width: 79.46666666666667vw;
        margin: 02.6666666666666665vw auto 8vw;
    }

    #home .sec3 .inner {
        padding: 0 4vw;
    }

    #home .sec3 .inner ul {
        margin: 8vw 0 0 0;
    }

    #home .sec3 .inner ul>li:first-child {
        margin: 0 0 8vw 0;
    }

    #home .sec3 .inner ul li h3 {
        padding: 2.6666666666666665vw 0 3.466666666666667vw 0;
        font-size: 6.4vw;
        line-height: 30px;
    }

    #home .sec3 .inner>ul>li div {
        margin: 5.333333333333333vw 0 0 0;
        flex-wrap: wrap;
        gap: 0;
        flex-direction: column;
    }

    #home .sec3 .inner>ul>li div ol {
        order: 2;
        margin: 0 10vw;
    }

    #home .sec3 .inner>ul ol li {
        font-size: 4.266666666666667vw;
        line-height: 1.5;
    }

    #home .sec3 .inner>ul>li div picture {
        order: 1;
        width: 60vw;
        margin: 0 auto 5.333333333333333vw;
    }
}


/*****************************************
sec4　明快な費用体系
*****************************************/
#home .sec4 {
    position: relative;
    background: #2a453d;
    width: 100%;
    overflow: hidden;
}

#home .sec4::before {
    position: absolute;
    content: "";
    background: url(../images/price_bg_wave_upper_pc.png) no-repeat 0 100%;
    background-size: 100%;
    width: 100%;
    height: 50px;
    top: 0;
    left: 0;
    z-index: 1;
}

#home .sec4::after {
    position: absolute;
    content: "";
    background: url(../images/price_bg_wave_bottom_pc.png) no-repeat 0 0;
    background-size: 100%;
    width: 100%;
    height: 50px;
    bottom: 0;
    left: 0;
    z-index: 1;
}

#home .sec4 .inner {
    position: relative;
    background: url(../images/price_bg_pc.png) no-repeat 50% 50%;
    background-size: 100%;
    width: 100%;
    max-width: 1166px;
    margin: 0 auto;
    padding: 0 30px;
    z-index: 0;
}

#home .sec4 .inner h2 {
    width: 525px;
    height: 183px;
    margin: 90px auto 70px;
}

#home .sec4 .inner .read {
    text-align: center;
    color: #fff;
}

#home .sec4 .inner ul {
    margin: 70px 0 60px 0;
    display: flex;
    justify-content: space-between;
    gap: 0 55px;
}

@media all and (min-width: 1920px) {
    #home .sec4::before {
        background: url(../images/price_bg_wave_upper_pc.png) no-repeat 0 100%;
        background-size: 100% 100px;
    }
}

@media all and (max-width: 1166px) {
    #home .sec4 .inner ul {
        margin: 50px 0 50px 0;
        gap: 0 50px;
    }
}

@media all and (max-width: 970px) {
    #home .sec4::before {
        background: url(../images/price_bg_wave_upper_pc.png) no-repeat 0 0;
        background-size: 100%;
        top: -1px;
    }

    #home .sec4::after {
        background: url(../images/price_bg_wave_bottom_pc.png) no-repeat 0 102%;
        background-size: 100%;
    }

    #home .sec4 .inner ul {
        margin: 50px 0 50px 0;
        gap: 0 40px;
    }
}

@media all and (max-width: 750px) {
    #home .sec4 .inner h2 {
        width: 263px;
        height: auto;
        margin: 25px auto 30px;
    }

    #home .sec4 .inner ul {
        margin: 40px 0 30px 0;
        gap: 0 20px;
    }
}

@media all and (max-width: 470px) {
    #home .sec4::before {
        background-size: 640px;
    }

    #home .sec4::after {
        background-size: 640px;
    }

    #home .sec4 .inner {
        background: url(../images/price_bg_pc.png) no-repeat 50% 0;
        background-size: 100%;
        padding: 0 4vw;
    }

    #home .sec4 .inner h2 {
        width: 70.13333333333333vw;
        margin: 14vw auto 8vw;
    }

    #home .sec4 .inner .read {
        text-align: left;
    }

    #home .sec4 .inner ul {
        margin: 8vw 0;
        flex-wrap: wrap;
        gap: 0;
    }

    #home .sec4 .inner ul li {
        width: 100%;
        margin: 0 0 6.4vw 0;
    }

    #home .sec4 .inner ul li:last-child {
        margin: 0;
    }
}



/*****************************************
sec5　すべて当社負担！
*****************************************/
#home .sec5 {
    background: #f9d845;
    overflow: hidden;
}

#home .sec5 .inner {
    width: 100%;
    max-width: 1166px;
    margin: 0 auto;
    padding: 0 30px;
}

#home .sec5 .inner h2 {
    width: 546px;
    height: 183px;
}

#home .sec5 .inner p {
    text-align: center;
}

#home .sec5 .inner ul {
    margin: 50px 0 40px 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 0 50px;
}

@media all and (max-width: 1166px) {
    #home .sec5 .inner ul {
        gap: 0 40px;
    }
}

@media all and (max-width: 970px) {
    #home .sec5 .inner p {
        text-align: left;
    }
}

@media all and (max-width: 750px) {
    #home .sec5 {
        padding: 0 0 40px;
    }

    #home .sec5 .inner h2 {
        width: 273px;
        height: auto;
        margin: 10px auto 30px;
    }

    #home .sec5 .inner ul {
        margin: 30px 0 0 0;
        display: flex;
        flex-wrap: wrap;
        gap: 0 30px;
    }

    #home .sec5 .inner ul li {
        width: calc(50% - 15px);
        margin: 0 0 30px 0;
    }
}

@media all and (max-width: 470px) {
    #home .sec5 {
        padding: 0 0 8vw;
    }

    #home .sec5 .inner {
        padding: 0 4vw;
    }

    #home .sec5 .inner h2 {
        width: 72.8vw;
        height: auto;
        margin: 2.6666666666666665vw auto 8v;
    }

    #home .sec5 .inner ul {
        margin: 8vw 0 4vw 0;
        display: flex;
        flex-wrap: wrap;
        gap: 0 4.266666666666667vw;
    }

    #home .sec5 .inner ul li {
        width: calc(50% - 2.1333333333333333vw);
        margin: 0 0 4.266666666666667vw 0;
    }
}


/*****************************************
sec6　出店までの流れ
*****************************************/
#home .sec6 {
    position: relative;
    background: #f0ebde url(../images/bg_texture_stripe.png) repeat 0 0;
    background-size: 75px 75px;
}

#home .sec6::before {
    position: absolute;
    content: "";
    background: url(../images/flow_bg_wave_pc.png) no-repeat 0 100%;
    background-size: 100%;
    width: 100%;
    height: 50px;
    top: 0;
    left: 0;
    z-index: 1;
}

#home .sec6 .inner {
    width: 100%;
    max-width: 1166px;
    margin: 0 auto;
    padding: 0 30px;
}

#home .sec6 .inner h2 {
    width: 519px;
    height: 183px;
    margin: 90px auto 70px;
}

#home .sec6 li {
    position: relative;
    background: #fff;
    border-radius: 50px;
    margin: 0 0 60px 0;
    padding: 20px 40px 20px 20px;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 0 40px;
}

#home .sec6 li:last-child {
    margin: 0;
}

#home .sec6 li::after {
    position: absolute;
    content: "";
    background: url(../images/flow_arrow_pc.png) no-repeat 0 0;
    background-size: 100%;
    width: 33px;
    height: 40px;
    bottom: -50px;
    left: calc((100% - 33px)/2);
}

#home .sec6 li:last-child::after {
    content: none;
}

#home .sec6 li div {
    flex: 1;
}

#home .sec6 li div h3 {
    position: relative;
    margin: 0 0 14px 0;
    padding: 0 0 0 60px;
    font-size: 30px;
    line-height: 46px;
    font-weight: 900;
}

#home .sec6 li div h3::before {
    position: absolute;
    content: "";
    width: 49px;
    height: 49px;
    left: 0;
}

#home .sec6 li:nth-child(1) div h3::before {
    background: url(../images/flow_num1_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec6 li:nth-child(2) div h3::before {
    background: url(../images/flow_num2_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec6 li:nth-child(3) div h3::before {
    background: url(../images/flow_num3_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec6 li:nth-child(4) div h3::before {
    background: url(../images/flow_num4_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec6 li:nth-child(5) div h3::before {
    background: url(../images/flow_num5_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec6 li:nth-child(6) div h3::before {
    background: url(../images/flow_num6_pc.png) no-repeat 0 0;
    background-size: 100%;
}

#home .sec6 li div p a {
    text-decoration: underline;
}

#home .sec6 li img {
    width: 185px;
    border-radius: 50%;
}

@media all and (max-width: 1166px) {
    #home .sec6 li div h3 {
        font-size: 24px;
        line-height: 46px;
    }
}

@media all and (max-width: 970px) {
    #home .sec6::before {
        background: url(../images/flow_bg_wave_pc.png) no-repeat 0 0;
        background-size: 100%;
    }
}

@media all and (max-width: 750px) {
    #home .sec6::before {
        background: url(../images/flow_bg_wave_pc.png) no-repeat 0 0;
        background-size: 100%;
    }

    #home .sec6 .inner h2 {
        width: 259px;
        /*50％に縮小*/
        height: auto;
        margin: 25px auto 40px;
    }

    #home .sec6 li {
        border-radius: 25px;
        margin: 0 0 60px 0;
        padding: 20px 20px 20px 20px;
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        gap: 0 20px;
    }

    #home .sec6 li:nth-child(1) div h3::before,
    #home .sec6 li:nth-child(2) div h3::before,
    #home .sec6 li:nth-child(3) div h3::before,
    #home .sec6 li:nth-child(4) div h3::before,
    #home .sec6 li:nth-child(5) div h3::before,
    #home .sec6 li:nth-child(6) div h3::before {
        background-size: 60%;
    }

    #home .sec6 li div h3 {
        margin: 0 0 10px 0;
        padding: 0 0 0 35px;
        font-size: 24px;
        line-height: 30px;
        font-weight: 900;
    }

    #home .sec6 li img {
        width: 100px;
    }
}

@media all and (max-width: 470px) {
    #home .sec6::before {
        background-size: 640px;
    }

    #home .sec6 .inner {
        padding: 0 4vw;
    }

    #home .sec6 .inner h2 {
        width: 69.06666666666666vw;
        margin: 14vw auto 10.666666666666666vw;
    }

    #home .sec6 li {
        border-radius: 6.666666666666667vw;
        margin: 0 0 60px 0;
        padding: 5.333333333333333vw;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column-reverse;
        align-items: center;
        gap: 0;
    }

    #home .sec6 li div {
        width: 100%;
    }

    #home .sec6 li div h3 {
        margin: 20px 0 10px 0;
        padding: 0 0 0 35px;
        font-size: 24px;
        line-height: 30px;
    }

    #home .sec6 li picture {
        margin: 0 auto;
    }

    #home .sec6 li img {
        width: 49.333333333333336vw;
    }
}

/*****************************************
contact
*****************************************/
#home .contact {
    position: relative;
    overflow: hidden;
}

#home .contact .inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    z-index: 0;
}

#home .contact h2 {
    width: 446px;
    height: 149px;
    margin: 90px auto 80px;
    color: #fff;
}

#home .contact::before {
    position: absolute;
    content: "";
    background: #333 url(../images/contact_bg_pic.jpg) no-repeat 0 0;
    background-size: cover;
    width: 100%;
    height: 440px;
    top: 0;
    z-index: -1;
    filter: brightness(30%);
}

#home .contact::after {
    position: absolute;
    content: "";
    background: url(../images/contact_bg_wave_pc.png) no-repeat 0 0;
    background-size: 1920px;
    width: 1920px;
    height: 50px;
    top: 0;
    left: 0;
}

#home .contact .inner .wrap {
    background: #f0ebde url(../images/bg_texture_stripe.png) repeat 50% 0;
    background-size: 75px 75px;
    border-radius: 50px;
    max-width: 660px;
    margin: 0 auto;
    padding: 60px;
}

#home .contact .inner .wrap>p {
    border-bottom: #c6bb96 solid 2px;
    margin: 0 0 40px 0;
    padding: 0 0 30px 0;
}

.contact label {
    margin:0 0 30px 0;
    padding: 0;
    display: flex;
    align-items:first baseline;
}

.contact label.clmn {
    margin: 0 0 20px;
    padding:0;
    flex-wrap: wrap;
}

.contact label h3 {
    width: 190px;
    margin: 13px 10px 0 0;
    font-size: 18px;
    font-weight: 600;
}

.contact label h3 span {
    background: #f9d845;
    border-radius: 3px;
    margin: 0 0 0 5px;
    padding: 2px 5px 2px 5px;
    font-size: 13px;
    line-height: 10px;
    font-weight: 500;
}

.contact label div {
    box-sizing: border-box;
    font-size: 18px;
    font-weight: 600;
    flex: 1;
}

.contact label.clmn div {
    flex-direction: column;
    width: 100%;
    flex: auto;
}

.contact label div span {
    font-size: 13px;
}

.contact label div input {
    margin: 0 0 0 20px;
    font-size: 18px;
}

.contact label div input:focus {
    outline: #2e2624 solid 2px;
}

.contact label div input[type="text"],
.contact label div input[type="email"],
.contact label div input[type="tel"],
.contact label div input[type="postal-code"] {
    border: #ede8dc solid 2px;
    border-radius: 10px;
    width: 100%;
    height: 54px;
    margin: 0;
    padding:0 5px;
    font-size: 18px;
    font-weight: 500;
}

/*---------------------
エラー・アラート
---------------------*/
.contact input.form-error {
    border: #ff0000 solid 2px;
    border-radius: 10px;
    width: 100%;
    height: 54px;
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.contact .error-msg-none {
    display: none;
}

.contact .error-msg {
    font-size: 16px;
    font-weight: 600;;
    line-height: 20px;
    color: #ff0000;
}

.contact label div textarea {
    border: #ede8dc solid 2px;
    border-radius: 10px;
    width: 100%;
    height: 160px;
    margin: 10px 0 0 0;
    padding:0 5px;
    font-size: 18px;
    font-weight: 500;
}

.contact label div textarea:focus {
    outline: #2e2624 solid 2px;
}

/*---------------------
個人情報の取り扱いについて
---------------------*/
.contact label div .privacy {
    background: #fff;
    border: #ede8dc solid 2px;
    border-radius: 10px;
    margin: 10px 0 0 0;
    padding: 2px 0 2px 2px;
}

.contact label div .privacy div {
    width: 100%;
    height: 160px;
    padding: 20px;
    overflow: auto;
}

.contact label div .privacy div h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.contact label div .privacy div h4 {
    margin: 0 0 20px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}

.contact label div .privacy div p {
    margin: 0 0 20px 0;
    font-size: 13px;
    line-height: 20px;
}

.contact label div .privacy div>ul {
    margin: 0 0 10px 30px;
}

.contact label div .privacy div li {
    margin: 0 0 10px 0;
    font-size: 13px;
    line-height: 20px;
    list-style-type: decimal;
}

.contact label div .privacy div ul li ul {
    margin: 20px 0 10px 30px;
}

.contact dl {
    padding: 0 0 30px 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.contact dt {
    width: 100%;
    margin: 13px 10px 0 0;
    font-size: 18px;
    font-weight: 600;
}

.contact dt span {
    background: #f9d845;
    border-radius: 3px;
    margin: 0 0 0 5px;
    padding: 2px 5px 2px 5px;
    font-size: 13px;
    line-height: 10px;
    font-weight: 500;
}

.contact dd {
    box-sizing: border-box;
    width: 100%;
    font-size: 18px;
    font-weight: 600;
    flex-direction: column;

}

/*---------------------
個人情報の取り扱いについて
---------------------*/
.contact dd .privacy {
    background: #fff;
    border: #ede8dc solid 2px;
    border-radius: 10px;
    margin: 10px 0 0 0;
    padding: 2px 0 2px 2px;
}

.contact dd .privacy div {
    width: 100%;
    height: 160px;
    padding: 20px;
    overflow: auto;
}

.contact dd .privacy div h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
}

.contact dd .privacy div h4 {
    margin: 0 0 20px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}

.contact dd .privacy div p {
    margin: 0 0 20px 0;
    font-size: 13px;
    line-height: 20px;
}

.contact dd .privacy div>ul {
    margin: 0 0 10px 30px;
}

.contact dd .privacy div li {
    margin: 0 0 10px 0;
    font-size: 13px;
    line-height: 20px;
    list-style-type: decimal;
}

.contact dd .privacy div ul li ul {
    margin: 20px 0 10px 30px;
}

.check {
    width: 150px;
    margin: 0 auto;
    display: flex;
}

.check input[type=checkbox] {
    display: none;
}

.check label {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 24px 0 0 60px;
    display: inline-block;
    font-weight: 600;
    cursor: pointer;
}

.check label::before {
    position: absolute;
    content: "";
    background: #fff;
    border: 4px solid #ff7400;
    border-radius: 4px;
    width: 38px;
    height: 38px;
    top: 50%;
    left: 5px;
    margin-top: -10px;
    display: block;
}

.check label::after {
    position: absolute;
    content: "";
    background: url(../images/check.png) no-repeat 0 0;
    background-size: 100%;
    width: 36px;
    height: 35px;
    margin-top: -7px;
    top: 50%;
    left: 13px;
    display: block;
    opacity: 0;
}

.check input[type=checkbox]:checked+label::after {
    opacity: 1;
}

.check input[type=checkbox]:checked+label::before {
    position: absolute;
    content: "";
    background: #fff;
    border: 4px solid #ff7400;
    border-radius: 4px;
    width: 38px;
    height: 38px;
    top: 50%;
    left: 5px;
    margin-top: -10px;
    display: block;
}

.contact .btn_submit {
    width: 442px;
    margin: 30px auto 0;
}

.contact .btn_submit input {
    display: inline-block;
    background: #ff7400;
    border: none;
    border-radius: 16px;
    width: 100%;
    padding: 25px 12px;
    font-size: 18pt;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    line-height: 1em;
    transition: .3s;
    cursor: pointer;
    box-shadow: 0 6px rgba(187, 155, 69, 0.2);
    transition: 0.3s ease;
}

.contact .btn_submit input:hover {
    box-shadow: 0 0 rgba(187, 155, 69, 0.2);
    transform: translateY(6px);
}

@media all and (min-width: 1920px) {
    #home .contact::after {
        position: absolute;
        content: "";
        background: url(../images/contact_bg_wave_pc_xl.png) no-repeat 0 0;
        background-size: 100%;
        width: 1920px;
        height: 50px;
        top: 0;
        left: 0;
    }
}

@media all and (max-width: 750px) {
    #home .contact::before {
        height: 220px;
    }

    #home .contact .inner h2 {
        width: 223px;
        height: auto;
        margin: 25px auto 40px;
    }

    #home .contact .inner .wrap {
        border-radius: 25px;
        padding: 30px 30px 60px 30px;
    }

    #home .contact .inner .wrap>p {
        border-bottom: #c6bb96 solid 2px;
        margin: 0 0 10px 0;
        padding: 0 0 20px 0;
    }

    .contact label {
        margin:0 0 10px 0;
        padding:0;
        flex-wrap: wrap;
    }

    .contact label.clmn {
        margin:0;
        padding:0;
    }

    .contact label h3 {
        width: 100%;
        margin: 13px 10px 10px 0;
        font-size: 16px;
    }

    .contact label.clmn h3 {
        margin: 10px 0 0 0;
    }

    .contact label h3 span {
        padding: 0 5px 2px 5px;
        font-size: 10px;
        line-height: 8px;
    }

    .contact label div {
        font-size: 18px;
    }

    .contact label.clmn div {
        margin:0;
        padding:0;
        width: 100%;
        flex: auto;
    }

    .contact label div span {
        font-size: 13px;
    }

    .contact label div input {
        margin: 0 0 0 20px;
        font-size: 16px;
    }

    .contact label div input[type="text"],
    .contact label div input[type="email"],
    .contact label div input[type="tel"],
    .contact label div input[type="postal-code"] {
        font-size: 16px;
    }

    /*---------------------
    エラー・アラート
    ---------------------*/
    .contact label div input.form-error {
        font-size: 16px;
    }

    .contact .error-msg-none {
        display: none;
    }

    .contact .error-msg {
        font-size: 16px;
        line-height: 20px;
    }

    .contact .error-msg.tcenter {
        margin:10px 0 0 0;
    }

    .contact label div textarea {
        margin: 10px 0 0 0;
        font-size: 16px;
    }

    .contact dl {
        margin:20px 0 10px 0;
        padding:0;
        flex-wrap: wrap;
    }

    .contact dt {
        width: 100%;
        margin: 0;
        font-size: 16px;
    }

    .contact dd {
        font-size: 18px;
    }

    /*---------------------
    個人情報の取り扱いについて
    ---------------------*/
    .contact dd .privacy {
        margin: 10px 0 0 0;
    }

    .check {
        width: 120px;
        margin: 0 auto;
        display: flex;
    }

    .check input[type=checkbox] {
        display: none;
    }

    .check label {
        padding: 24px 0 0 55px;
    }

    .check label::before {
        border-radius: 4px;
        width: 30px;
        height: 30px;
        top: 60%;
        left: 5px;
        margin-top: -10px;
        display: block;
    }

    .check label::after {
        width: 36px;
        height: 35px;
        margin-top: -7px;
        top: 40%;
        left: 10px;
    }

    .check input[type=checkbox]:checked+label::after {
        opacity: 1;
    }

    .check input[type=checkbox]:checked+label::before {
        width: 30px;
        height: 30px;
        top: 60%;
        left: 5px;
        margin-top: -10px;
    }

    /*---------------------
    送信ボタン
    ---------------------*/
    .contact .btn_submit {
        max-width: 442px;
        width: 100%;
        margin: 30px auto 0;
    }

    .contact .btn_submit input {
        border-radius: 16px;
        width: 100%;
        padding: 25px 12px;
        line-height: 1em;
        transition: .3s;
        cursor: pointer;
    }
}

@media all and (max-width: 470px) {
    #home .contact::before {
        height: 53.333333333333336vw;
    }

    #home .contact::after {
        position: absolute;
        content: "";
        background: url(../images/contact_bg_wave_sp.png) no-repeat 0 -2px;
        background-size: 559px 32px;
        width: 559px;
        height: 65px;
    }

    #home .contact .inner {
        padding: 0 4vw;
    }

    #home .contact .inner h2 {
        width: 59.46666666666667vw;
        height: auto;
        margin: 12vw auto 12vw;
    }

    #home .contact .inner .wrap {
        border-radius: 6.666666666666667vw;
        padding: 8vw 4vw 8vw 4vw;
    }

    #home .contact .inner .wrap>p {
        border-bottom: #c6bb96 solid 1px;
        margin: 0 0 2.6666666666666665vw 0;
        padding: 0 0 5.333333333333333vw 0;
    }

    .contact label {
        margin: 0 0 2.6666666666666665vw 0;
    }

    .contact label.clmn {
        margin: 2.6666666666666665vw 0;
    }

    .contact label h3 {
        width: 100%;
        margin: 3.466666666666667vw 2.6666666666666665vw 2.6666666666666665vw 0;
        font-size: 4.266666666666667vw;
    }

    .contact label h3 span {
        padding: 0 1.3333333333333333vw 0.26666666666666666vw 1.3333333333333333vw;
        font-size: 3.2vw;
        line-height: 1em;
    }

    .contact label div {
        font-size: 3.466666666666667vw;
    }

    .contact label div span {
        font-size: 3.466666666666667vw;
    }

    .contact label div input {
        margin: 0 0 0 20px;
        font-size: 3.466666666666667vw;
    }

    .contact label div input[type="text"],
    .contact label div input[type="email"],
    .contact label div input[type="tel"],
    .contact label div input[type="postal-code"] {
        font-size: 4.266666666666667vw;
    }

    /*---------------------
    エラー・アラート
    ---------------------*/
    .contact label div input.form-error {
        font-size: 4.266666666666667vw;
    }

    .contact .error-msg {
        font-size: 3.466666666666667vw;
        line-height: 5.333333333333333vw;
    }

    .contact label div textarea {
        margin: 2.6666666666666665vw 0 0 0;
        font-size: 4.266666666666667vw;
    }

    .contact dl {
        margin: 0;
    }

    .contact dl dt {
        width: 100%;
        margin: 2.6666666666666665vw 2.6666666666666665vw 0 0;
        font-size: 4.266666666666667vw;
    }

    .contact dt span {
        padding: 0 1.3333333333333333vw 0.26666666666666666vw 1.3333333333333333vw;
        font-size: 3.2vw;
        line-height: 1em;
    }

    .contact dd {
        font-size: 3.466666666666667vw;
    }

    .contact dd span {
        font-size: 3.466666666666667vw;
    }

    /*---------------------
    エラー・アラート
    ---------------------*/
    .contact dd input.form-error {
        font-size: 4.266666666666667vw;
    }

    .contact .error-msg {
        font-size: 3.466666666666667vw;
        line-height: 5.333333333333333vw;
    }

    /*---------------------
    個人情報の取り扱いについて
    ---------------------*/
    .check {
        width: 150px;
    }

    .check label {
        font-size: 16px;
        padding: 24px 0 0 60px;
    }

    .check label::before {
        border: 2px solid #ff7400;
        border-radius: 4px;
        width: 30px;
        height: 30px;
        top: calc(50% + 7px);
        left: 15px;
        margin-top: -10px;
    }

    .check label::after {
        background: url(../images/check.png) no-repeat 0 0;
        background-size: 100%;
        width: 36px;
        height: 35px;
        margin-top: -2px;
        top: 30%;
        left: 16px;
        display: block;
        opacity: 0;
    }

    .check input[type=checkbox]:checked+label::before {
        border: 2px solid #ff7400;
        border-radius: 4px;
        width: 30px;
        height: 30px;
        top: calc(50% + 7px);
        left: 15px;
        margin-top: -10px;
    }

    .contact dd .privacy div h3 {
        margin: 0 0 10px 0;
        font-size: 13px;
        line-height: 18px;
    }

    .contact dd .privacy div h4 {
        margin: 0 0 10px 0;
        font-size: 12px;
        line-height: 24px;
    }

    .contact dd .privacy div p {
        margin: 0 0 10px 0;
        font-size: 12px;
        line-height: 18px;
    }

    .contact dd .privacy div>ul {
        margin: 0 0 10px 15px;
    }

    .contact dd .privacy div li {
        margin: 0 0 10px 0;
        font-size: 12px;
        line-height: 20px;
    }

    .contact dd .privacy div li ul li {
        margin: 0 0 10px -15px;
    }

    /*---------------------
    送信ボタン
    ---------------------*/
    .contact .btn_submit {
        margin: 8vw auto 0;
    }

    .contact .btn_submit input {
        border-radius: 3.2vw;
        padding: 25px 12px;
        font-size: 6.4vw;
    }
}


/*****************************************
フッタ
*****************************************/

footer {
    position: relative;
    background: #2e2624;
    width: 100%;
    padding: 90px 30px 40px 30px;
    display: flex;
    justify-content: space-between;
}

#home footer::before {
    position: absolute;
    content: "";
    background: url(../images/footer_bg_wave_pc.png) no-repeat 0 0;
    background-size: 100%;
    width: 100%;
    height: 100px;
    top: -1px;
    left: 0;
    z-index: 1;
}

footer .com h2 {
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 18px;
    font-weight: 600;
    text-align: left;
    color: #fff;
}

footer .com p {
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 24px;
    font-weight: 400;
    text-align: left;
    color: #fff;
}

footer .com p span {
    display: inline;
}

footer .copyright {
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-weight: 400;
    color: #fff;
    text-align: right;
}

@media all and (max-width: 1166px) {
    footer {
        flex-wrap: wrap;
    }

    footer .com p {
        margin: 0 0 40px 0;
    }

    footer .com p span {
        display: inline;
    }

    footer .copyright {
        width: 100%;
        font-size: 11px;
        text-align: center;
    }
}

@media all and (max-width: 970px) {
    footer {
        flex-wrap: wrap;
    }

    footer .copyright {
        font-size: 11px;
    }
}

@media all and (max-width: 750px) {
    footer .com p span {
        display: none;
    }

    footer {
        padding: 40px 30px 40px 30px;
    }
}

@media all and (max-width: 470px) {
    footer {
        padding: 16vw 4vw 4vw;
    }

    #home footer::before {
        background-size: 640px;
    }

    footer .com p {
        font-size: 3.2vw;
        line-height: 5.333333333333333vw;
        font-weight: normal;
    }

    footer .copyright {
        font-size: 2.6666666666666665vw;
        font-weight: normal;
    }
}

/*=======================================================================

サンクスページ

=======================================================================*/

#thanks main {
    position: relative;
    background: #f0ebde url(../images/bg_texture_stripe.png) repeat 50% 0;
    background-size: 75px 75px;
    width: 100%;
    margin: 0 auto;
    padding: 60px 0 100px;
    overflow: hidden;
}

#thanks main:before {
    position: absolute;
    content: "";
    background: url(../images/thanks_bg_wave_bottom_pc.png) no-repeat 0 100%;
    background-size: 100%;
    width: 100%;
    height: 100px;
    bottom: -1px;
    left: 0;
    z-index: 1;
}

#thanks main .wrap {
    background: #fff;
    border-radius: 50px;
    width: 500px;
    margin: 0 auto;
    padding: 40px;
    text-align: center;
}

#thanks main h1 {
    margin: 0 0 30px 0;
    font-size: 30px;
    line-height: 40px;
    font-weight: 900;
}

#thanks main p {
    margin: 0 0 30px 0;
}

#thanks main ul {
    border-top: #eee solid 1px;
    padding: 10px 0 0 0;
    text-align: left;
}

#thanks main li {
    margin: 10px 0 0 0;
    font-size: 13px;
}

#thanks .gototop {
    margin: 40px 0 0 0;
    width: 100%;
    text-align: center;
}

#thanks .gototop a {
    width: 200px;
    margin-left: auto;
    background: #ff7400;
    border-radius: 10px;
    padding: 11px 40px 14px 40px;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    transition: filter 0.2s ease;
    filter: brightness(1);
}

#thanks .gototop a:hover {
    filter: brightness(1.3);
}

#thanks footer {
    padding: 10px 30px 40px 30px;
}

@media all and (max-width: 750px) {
    #thanks main .wrap {
        border-radius: 25px;
        width: 80%;
        padding:30px;
    }
    
    #thanks main h1 {
        margin: 0 0 20px 0;
        font-size: 24px;
        line-height: 30px;
    }
    
    #thanks main p {
        margin: 0 0 30px 0;
    }
    
    #thanks main ul {
        padding: 10px 0 0 0;
    }
    
    #thanks main li {
        margin: 10px 0 0 0;
    }
    
    #thanks .gototop a {
        padding: 11px 40px 14px 40px;
        font-size: 16px;
    }
}

@media all and (max-width: 470px) {
    #thanks main {
        padding: 30px 0 70px;
    }

    #thanks main:before {
        position: absolute;
        content: "";
        background: url(../images/thanks_bg_wave_bottom_pc.png) no-repeat 0 100%;
        background-size: 750px 20px;
    }
    
    #thanks main .wrap {
        background: #fff;
        border-radius: 25px;
        width: 92vw;
        margin: 0 auto;
        padding: 5.333333333333333vw;
        text-align: center;
    }
    
    #thanks main h1 {
        margin: 0 0 8vw 0;
        font-size: 6.4vw;
        line-height: 8vw;
    }
    
    #thanks main p {
        margin: 0 0 5.333333333333333vw 0;
        text-align: left;
    }
    
    #thanks main ul {
        border-top: #eee solid 1px;
        padding: 2.6666666666666665vw 0 0 0;
        text-align: left;
    }
    
    #thanks main li {
        margin: 2.6666666666666665vw 0 0 0;
        font-size: 13px;
    }
    
    #thanks .gototop {
        margin: 40px 0 0 0;
    }
    
    #thanks .gototop a {
        width: 53.333333333333336vw;
        border-radius: 10px;
        padding: 11px 40px 14px 40px;
        color: #fff;
        font-size: 3.466666666666667vw;
    }
    
    #thanks footer {
        padding: 10px 4vw 40px 4vw;
    }
}