@charset "UTF-8";
@import url("reset.min.css");

/*フォント設定
-----------------------------------------*/
@font-face
{
    font-family: 'Zen';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url('../font/ZenKakuGothicNew-Regular.ttf') format('truetype');
}

@font-face
{
    font-family: 'Zen';
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: url('../font/ZenKakuGothicNew-Medium.ttf') format('truetype');
}

@font-face
{
    font-family: 'Zen';
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: url('../font/ZZenKakuGothicNew-Bold.ttf') format('truetype');
}

/* 全体
-------------------------------------*/
html
{
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-tap-highlight-color: var(--black);
    font-family: sans-serif;
    line-height: 1.15;
    scroll-behavior: smooth;
}

body
{
    position: relative;
    background: #fff;
    color: var(--black);
    font-family: 'Zen', sans-serif;
    font-weight: 400;
    margin: 0;
    padding: 0;
}

body,
html
{
    height: 100%;
    width: 100%;
}

img
{
    max-width: 100%;
    height: auto;
    width: 100%;
}

a
{
    display: block;
    color: #000;
    text-decoration-line: none;
    word-break: break-all;
}

a:hover
{
    opacity: 0.8;
    transition-duration: 0.8s;
}

a img:hover
{
    opacity: 0.8;
    transition-duration: 0.8s;
}

.pc-none
{
    display: none;
}

.sp-none
{
    display: block;
}

.clear
{
    clear: both;
}

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

    .sp-none
    {
        display: none;
    }

    body,
    html
    {
        width: auto;
    }
}

/* ヘッダー
-------------------------------------*/
header
{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 125px;
    background: #fff;
    text-align: center;
    padding: 35px 0;
    z-index: 3;
}

header img
{
    width: 190px;
}

@media screen and (max-width: 767px)
{
    header
    {
        height: 55px;
        padding: 14px 0;
    }

    header img
    {
        width: 95.81px;
    }
}

/* フッター
-------------------------------------*/
footer
{
    background: #FAF7EF;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 11px;
}

@media screen and (max-width: 767px)
{
    footer
    {
        height: 65px;
        line-height: 1.1;
        padding-top: 20px;
    }
}

/* 共通コンテンツ
-------------------------------------*/
main
{
    padding-top: 125px;
}

.container
{
    max-width: 1039px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
}

@media screen and (max-width: 767px)
{
    main
    {
        padding-top: 65px;
    }

    .container
    {
        width: 90%;
        padding: 0;
    }
}

/* 各コンテンツ
-------------------------------------*/
/* ページトップ
-----------------*/
.pagetop
{
    width: 100%;
    background: #FFFFC9;
    padding: 50px 0 55px;
    text-align: center;
}

.pagetop h1 img
{
    width: 644.58px;
}

.pagetop .flex
{
    display: flex;
    justify-content: space-between;
    width: 780px;
    margin: 30px auto 0;
}

@media screen and (max-width: 767px)
{
    .pagetop
    {
        padding: 50px 0 20px;
    }

    .pagetop h1 img
    {
        width: 100%;
        max-width: 355px;
    }

    .pagetop .flex
    {
        display: block;
        width: 60%;
        max-width: 300px;
        margin: 30px auto 0;
    }

    .pagetop .flex img
    {
        width: 100%;
        margin-bottom: 20px;
    }
}

/* おためしキャンペーン
-----------------*/
#campaign
{
    max-width: 100%;
    position: relative;
    height: auto;
    overflow: hidden;
    padding: 0;
    scroll-margin-top: 125px;
}

#campaign::before
{
    content: "";
    position: absolute;
    inset: -2px;
    background: url(../images/campaign_back_pc.svg) center top / cover no-repeat;
    z-index: -1;
}

#campaign .container
{
    position: relative;
    z-index: 1;
}

#campaign .top
{
    max-width: 965px;
    width: 100%;
    margin: 60px auto 50px;
    text-align: center;
}

#campaign .top h2
{
    padding-bottom: 24px;
    max-width: 922.63px;
    width: 100%;
}

#campaign .top p
{
    font-size: 25px;
    font-weight: 700;
    text-align: center;
    line-height: 1.52;
    padding-bottom: 24px;
}

#campaign .top .kikan
{
    width: 695.61px;
    margin: 0 auto;
}

#campaign .bottom
{
    margin: 0 auto;
}

#campaign .bottom .outline
{
    margin-top: 55px;
}

#campaign .bottom .outline h3 img
{
    height: 30.84px;
    margin-bottom: 20px;
}

#campaign .bottom .outline p
{
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    line-height: 1.458;
}

#campaign .bottom .outline p.red
{
    font-size: 22px;
    color: #DC000C;
    text-decoration: underline;
}

#campaign .bottom .outline p.otameshi
{
    font-size: 22px;
}

#campaign .bottom .outline p.sm
{
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    padding-top: 10px;
}

#campaign .bottom .outline p.smm
{
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    padding-top: 5px;
}

#campaign .bottom .outline .kikan
{
    margin-top: 20px;
}

#campaign a.btn
{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 47px auto;
    width: 305px;
    height: 66px;
    border-radius: 33px;
    background: #03B6FF;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    border: 2px solid #fff;
}

#campaign .close
{
    font-size: 22px;
    padding-top: 10px;
}

@media screen and (max-width: 767px)
{
    #campaign
    {
        padding: 56px 0 67px;
        background-image: url(../images/campaign_back_sp.svg);
        background-size: cover;
    }

    #campaign .top
    {
        width: 100%;
        max-width: 356px;
        margin: 0 auto 25px;
    }

    #campaign .top h2
    {
        max-width: 355px;
        width: 100%;
    }

    #campaign .top p
    {
        font-size: 22px;
        padding-bottom: 10px;
        line-height: 1.389;
    }

    #campaign .top .kikan
    {
        width: 268.61px;
        height: 55.68px;
    }

    #campaign .bottom
    {
        width: 100%;
        max-width: 356px;
    }

    #campaign .bottom .outline
    {
        margin-top: 35px;
    }

    #campaign .bottom .outline .flow
    {
        display: block;
        width: 274.92px;
        margin: 0 auto;
    }

    #campaign .bottom .outline h3 img
    {
        margin-bottom: 10px;
    }

    #campaign .bottom .outline p
    {
        font-size: 20px;
    }

    #campaign .bottom .outline p.red
    {
        font-size: 18px;
    }

    #campaign a.btn
    {
        margin: 25px auto;
        font-size: 27px;
    }

    #campaign small
    {
        font-size: 10px;
        line-height: 1.5;
    }
}

/* 工作コンテスト
-----------------*/
#make
{
    position: relative;
    z-index: 1;
    max-width: 100%;
    height: auto;
    overflow: hidden;
    background-image:
        repeating-linear-gradient(90deg,
            #FFDE87,
            #FFDE87 1px,
            transparent 1px,
            transparent 32px),
        repeating-linear-gradient(0deg,
            #FFDE87,
            #FFDE87 1px,
            #fff 1px,
            #fff 32px);
}


#make .icon01
{
    position: absolute;
    top: -3px;
    left: -3px;
    width: 330.45px;
    height: 440.41px;
    z-index: -1;
}

#make .icon02
{
    position: absolute;
    top: 0px;
    right: -63px;
    width: 499.14px;
    height: 581.1px;
    z-index: -1;
}

#make .icon03
{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 445.63px;
    height: 417.82px;
    z-index: -1;
}

#make .icon04
{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 482.72px;
    height: 280.55px;
    z-index: -1;
}

#make .top
{
    max-width: 965px;
    width: 100%;
    margin: 138px auto 40px;
    text-align: center;
}

#make .top h2
{
    margin-bottom: 30px;
}

#make .top p
{
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    line-height: 1.7;
    padding-bottom: 1em;
}

#make .top .kikan
{
    width: 725.83px;
}

#make .taisyo
{
    text-align: center;
    max-width: 980px;
    width: 100%;
    margin: 65px auto 55px;
    line-height: 1.7;
}

#make .taisyo h3 img
{
    height: 44px;
}

.taisyo p
{
    font-size: 24px;
    font-weight: bold;
    padding-top: 1em;
}

#make .taisyo small
{
    font-size: 22px;
    color: #FF0000;
    font-weight: bold;
    text-decoration: underline;
}

#make .present
{
    position: relative;
    width: 940px;
    margin: 0 auto;
}

#make .garally
{
    width: 980px;
    margin: 74px auto 63px;
    text-align: center;
}

#make .garally h3 img
{
    height: 74.76px;
    margin-bottom: 33px;
}

#make .outline
{
    width: 980px;
    margin: 0 auto 75px;
}

#make .outline h3 img
{
    height: 30.84px;
    margin-bottom: 20px;
}

#make .outline p
{
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    line-height: 1.458;
}

#make .outline p.sm
{
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    padding-top: 10px;
}

.flow
{
    position: relative;
    z-index: 1;
}

.flow:after
{
    position: absolute;
    content: '';
    bottom: -90px;
    right: -80px;
    width: 170.75px;
    height: 147.45px;
    background-image: url(../images/outline_003.svg);
    background-repeat: no-repeat;
    z-index: 2;
}

#make .outline a.btn
{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 56px auto;
    width: 305px;
    height: 66px;
    border-radius: 33px;
    background: #FF919F;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    border: 2px solid #fff;
}

#make .outline small
{
    font-size: 14px;
    line-height: 1.286;
    font-weight: 500;
}

#make .outline small a
{
    display: inline;
    text-decoration: underline;
}

@media screen and (max-width: 1500px)
{
    #make .icon01
    {
        width: 242.04px;
        height: 322.57px;
    }

    #make .icon02
    {
        width: 379.28px;
        height: 441.56px;
    }

    #make .icon03
    {
        width: 310px;
        height: 290.65px;
    }

    #make .icon04
    {
        width: 383.1px;
        height: 222.65px;
    }
}

@media screen and (max-width: 767px)
{
    #make
    {
        padding-bottom: 110px;
    }

    #make .icon01
    {
        width: 145.19px;
        height: 186px;
        left: -17px;
    }

    #make .icon02
    {
        display: none;
    }

    #make .icon03
    {
        display: none;
    }

    #make .icon04
    {
        width: 244.24px;
        height: 141.95px;
        right: 0;
    }

    #make .top
    {
        width: 90%;
        margin: 55px auto 40px;
    }

    #make .top h2 img
    {
        max-width: 355px;
    }

    #make .top p
    {
        font-size: 18px;
        line-height: 1.6;
    }

    #make .top .kikan
    {
        width: 85%;
        max-width: 400px;
    }

    #make .taisyo
    {
        width: 90%;
        max-width: 360px;
        margin: 48px auto 68px;
        line-height: 1.6;
    }

    #make .taisyo h3 img
    {
        height: 31px;
    }

    .taisyo p
    {
        font-size: 20px;
        padding-top: 0.8em;
    }

    #make .taisyo small
    {
        font-size: 18px;
    }

    #make .present
    {
        position: relative;
        width: 90%;
        max-width: 360px;
        border: 3px solid #ED6B00;
        background: #fff;
        border-radius: 20px;
    }

    #make .present .title
    {
        position: absolute;
        top: -37px;
        left: 0;
        right: 0;
        margin: auto;
        width: 315px;
        height: 74.78px;
    }

    #make .present .img01
    {
        position: absolute;
        top: 35%;
        right: -50px;
        width: 138.11px;
        height: 132.35px;
    }

    #make .present .img02
    {
        position: absolute;
        bottom: -95px;
        left: -40px;
        width: 148.71px;
        height: 143.88px;
    }

    #make .present .pre
    {}

    #make .garally
    {
        width: 90%;
        margin: 110px auto 53px;
    }

    #make .garally h3 img
    {
        margin-bottom: 11px;
        height: 50.3px;
    }

    #make .outline
    {
        width: 100%;
        max-width: 356px;
        margin: 0 auto 50px;
    }

    #campaign .bottom .outline .linap
    {
        margin-top: 30px;
    }

    .flow
    {
        width: 86%;
        max-width: 500px;
        margin: 20px auto;
    }

    .flow:after
    {
        display: none;
    }

    #make .outline h3 img
    {
        margin-bottom: 10px;
    }

    #make .outline p
    {
        font-size: 20px;
    }

    #make .outline a.btn
    {
        margin: 25px auto;
        font-size: 27px;
    }
}

/* 注意書き
-------------------------------------*/
.precautions
{
    margin-top: 45px;
    margin-bottom: 50px;
}

.precautions ul li,
.precautions p
{
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
}

.precautions ul li
{
    position: relative;
    padding-left: 1em;
    text-align: left;
}

.precautions ul li::before
{
    position: absolute;
    content: '*';
    width: 1em;
    height: 1em;
    left: 0;
    top: 0
}

.precautions p
{
    padding-bottom: 1em;
    text-align: left;
}

.precautions a
{
    display: inline;
    text-decoration: underline;
}

@media screen and (max-width: 767px)
{
    .precautions
    {
        margin-top: 25px;
        margin-bottom: 35px;
    }

    .precautions ul li,
    .precautions p
    {
        font-size: 10px;
        line-height: 1.5;

    }
}

/* 応募フォーム
-------------------------------------*/
#form01
{
    width: 100%;
    text-align: center;
    margin-bottom: 60px;
}

#form01 iframe
{
    width: 100%;
}

#form02
{
    max-width: 640px;
    width: 100%;
    height: 700px;
    overflow-y: scroll;
    margin: 0 auto 60px;
    border: 1px solid #dadada;
}

.sf-form-cover
{
    display: none !important
}

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

    #form01
    {
        text-align: center;
    }

    #form01 iframe
    {
        width: 100%;
    }

    #form02
    {
        width: 90%;
    }
}