@charset "utf-8";

/**
*
*  トップページ
*
*/

/*--------------------------------------------------------------------------
overwrite  - 共通CSSの上書き -
---------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
Main
---------------------------------------------------------------------------*/

/* mainVisual
-----------------------------------------------------------------*/
#mainVisual{
    position: relative;
    width:100%;
}
#mainVisual .inner{
    position: relative;
    /*background: url(../images/mv_bg_repeat.png) repeat;*/
    background:#fff;
    /* height: 800px; */
    overflow: hidden;
}
#mainVisual .lead{
    display: none;
    position: absolute;
    top: 79px;
    left: 50%;
    margin-left: 0px;
    z-index: 3;
}
#mainVisual .sub-lead{
    display: none;
    position: absolute;
    top: 152px;
    left: 50%;
    margin-left: -427px;
    z-index: 3;
}


#mainText{
    /* position: absolute; */
    width: 100%;
    /* top: 200px; */
    margin:0 auto;
    overflow: hidden;
}

#mainText .area{
    max-width: 1100px;
    padding-top: 28px;
    margin: 0 auto;
    /* padding: 5%; */
    text-align: left;
    width: 90%;
    /* overflow: hidden; */
    /* position: relative; */
    /* object-fit: cover; */
}
#mainText .area p{
    font-size: 16px;
    /* line-height:1.4em; */
    /* text-align: left; */
    /* text-shadow: 0 -1px 1px #FFF, -1px 0 2px #FFF, 1px 0 1.5px #dedede; */
    /* width: 800px; */
}

#btnArea{
    position: absolute;
    width: 100%;
    top: 500px;
    margin:0 auto;
}



#btnArea .btna{
    max-width: 1200px;
    padding-top: 28px;
    margin: 0 auto;
    text-align:center;
    width: 100%;
}
#btnArea .btna .list{
    position: relative;
    width: 225px;
    min-width: 100px;
    height:225px;
    background: rgba(243, 251, 255, 0.8);
    border-radius: 5px;        /* CSS3草案 */
    -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;   /* Firefox用 */
    padding:5px;
    float: left;
    margin:7px;
}
#btnArea .list p{
    font-size:0.9em;
    line-height:1.2em;
    text-align: left;
    margin: 1px 7px 0 5px;

}


#btnArea .list img{

    margin-top:10px;
    margin-left: 5px;
}


#btnArea .btna .list .gnavi{
    display: block;
    padding: 0 2px;
    line-height: 36px;
    text-align: left;
    transition: all 0.3s;
    /*	border-left: 1px solid #e7e7e7;
    font-size: 100%;*/
    font-family: "メイリオ",'Noto Sans Japanese',"Meiryo", serif;
    color: #1f3945;
}
#btnArea .btna .list:first-child .gnavi{
    border-left: none;
}
#btnArea .btna .list .gnavi.active span{
    text-align: left;
    color: #f69600;
    position: relative;
}
#btnArea .btna .list .gnavi.active span:after{
    /*	content: '';*/ 
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: -12px;
    left: 0;
    background: #f69600;
}
#btnArea .btna .list .gnavi.icon01 span{
    padding-left: 30px;
    transition: background 0.4s;
    background: url(../images/icon_con01.png) no-repeat 2% 50%;
}

#btnArea .btna .list .gnavi.icon02 span{
    padding-left: 30px;
    transition: background 0.4s;
    background: url(../images/icon_con02.png) no-repeat 2% 50%;
}

#btnArea .btna .list .gnavi.icon03 span{
    padding-left: 30px;
    transition: background 0.4s;
    background: url(../images/icon_con03.png) no-repeat 2% 50%;
}

#btnArea .btna .list .gnavi.icon04 span{
    padding-left: 30px;
    transition: background 0.4s;
    background: url(../images/icon_con04.png) no-repeat 2% 50%;
}


#btnArea .btna .list .gnavi.blank:hover span{
    /*	background: url(../common/images/ico_blank05_on.png) no-repeat 100% 50%;}*/
}





/*	#mainVisual .btn{
opacity: 0;
position: absolute;
top: 400px;
left: 100px;
width: 180px;
margin-left: -423px;
z-index: 4;
margin-right:10px

}*/

#mainVisual .btn{
    opacity: 0;
    margin-left:100px;
    width: 320px;
    z-index: 4;
}



#mainVisual .img{
    display: none;
    text-align: center;
    position: absolute;
    left: 0;
    bottom: 0;
    /*	margin-left: -1011px;*/
}
#mainVisual .line{
    display: none;
    position: absolute;
    top: 159px;
    left: 50%;
    margin-left: -480px;
    z-index: 2;
}
#mainVisual .bottom{
    position: absolute;
    bottom: -33px;
    width: 100%;
    height: 62px;
    background: url(../images/mv_bg_bottom.png) no-repeat 50% 100%;
}
#mainVisual #canvas01{
    width: 100%;
    /* height: 500px; */
}
#mainVisual #canvas02{
    position: absolute;
    top: 159px;
    left: 50%;

    /*	margin-left: -480px;*/
    z-index: 2;
}
.oldbrowse #mainVisual #canvas01,
.oldbrowse #mainVisual #canvas02{
    display: none;
}
.oldbrowse #mainVisual .img,
.oldbrowse #mainVisual .line,
.oldbrowse #mainVisual .lead,
.oldbrowse #mainVisual .sub-lead{
    display: block;
}
.oldbrowse #mainVisual .btn{
    opacity: 1;
}

/* mission
-----------------------------------------------------------------*/
#mission{
    padding-top: 30px;
    /* padding: 5%; */
    /*	background: url(../shared/images/bg_repeat01.png) repeat;*/
    max-width: 1200px;
    margin: auto;
}

#mission .wrap{
    width: 98%;
    max-width:1200px;
    margin: 0 auto;
}

#mission .flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    flex-wrap: wrap;
    margin: 0 1%;
    width: 98%;
}
#mission .flex .wrap {width: 48%;}

@media screen and (max-width: 600px) {
    #mission .flex .wrap {width: 98%;}
}


#mission .lead{
    margin-bottom: 60px;
    text-align: center;
    line-height: 1.5;
    font-size: 120%;
    font-family: "メイリオ","Meiryo", 'Noto Sans Japanese',serif;
}



#mission .site{
    width:780px;
    padding: 20px;
    margin: 0 auto;
    text-align:center;
}
#mission .site .list{
    position: relative;
    width: 110px;
    min-width: 110px;
    height:110px;
    background:#f8a74b;
    border-radius: 80px;        /* CSS3草案 */  
    -webkit-border-radius: 80px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 80px;   /* Firefox用 */  
    padding:16px;
    float: left;
    margin:7px;
    color:#fff;
}

#mission .site .list:hover{
    transition: background 0.4s;
    background:#ffc757;

}


#mission .list p{
    line-height:1.3em;
    text-align: center;
    margin: 1px 7px 0 0;
    color:#fff;
}


#mission .list img{

    margin-top:10px;
}


#mission .site .list .gnavi{
    display: block;
    padding: 0 2px;
    line-height: 36px;
    text-align: center;
    padding-top:5px;
    transition: all 0.3s;
    /*	border-left: 1px solid #e7e7e7;*/ 
    font-size: 120%;
    font-family: "メイリオ",'Noto Sans Japanese',"Meiryo", serif;
}
#mission .site .list:first-child .gnavi{
    border-left: none;
}
#mission .site .list .gnavi.active span{
    color: #fff;
    position: relative;
}
#mission .site .list .gnavi.active span:after{
    /*	content: '';*/ 
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: -12px;
    left: 0;
    background: #f69600;
}
#mission .site .list .gnavi.blank span{
    padding-right: 14px;
    transition: background 0.4s;
    background: url(../common/images/ico_blank05.png) no-repeat 100% 50%;
}
#mission .site .list .gnavi.blank:hover span{
    background: url(../common/images/ico_blank05_on.png) no-repeat 100% 50%;
}
























/* news
-----------------------------------------------------------------*/
#news{
    padding: 54px 0 40px;
    background: #f6f4ed;
}

#news .btn-more{
    width: 220px;
    margin: 40px auto 0;
}


/* blog
-----------------------------------------------------------------*/
#blog{
    padding: 55px 0 40px;
    background: #fafafa;
}
#blog .inner{
    position: relative;
    max-width: 1560px;
    min-width: 960px;
    margin: 0 auto;
    letter-spacing: -0.4em;
}
#blog .list{
    width: 25%;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    letter-spacing: 0;
    vertical-align: top;
}
#blog .list a{
    display: block;
    margin: 0 15px;
    background: #fff;
    transition: all 0.3s;
    box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15);
}
#blog .list .thumb{
    position: relative;
    width: 100%;
    height: 214px;
}
#blog .list .thumb img{
    width: 100%;
    height: 214px;
    display: block;
    position: relative;
}
#blog .list .thumb .cap{
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    transition: all 0.4s ease-in-out;
    background: url(../images/blog_bg.png) repeat 0 0;
}
#blog .list a:hover .thumb .cap{
    opacity: 1;
    filter: alpha(opacity=100);
}
#blog .list .thumb .cap span{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 92px;
    height: 68px;
    margin: -34px 0 0 -46px;
    text-indent: -9999px;
    opacity: 0;
    filter: alpha(opacity=0);
    transition: opacity 0.4s 0s ease-in-out;
    background: url(../shared/images/ico_detail.png) no-repeat 50% 50%;
}
#blog .list a:hover .thumb .cap span{
    opacity: 1;
    filter: alpha(opacity=100);
    transition-delay: 0.3s;
}
#blog .list .note{
    padding: 20px 24px 18px;
}
#blog .list .date{
    margin-bottom: 5px;
    color: #e28414;
    line-height: 1.2;
}
#blog .list .ttl{
    font-weight: bold;
}
#blog .btn-more{
    width: 220px;
    margin: 35px auto 0;
}


/* works
-----------------------------------------------------------------*/
#works{
    position: relative;
    padding: 54px 0 40px;
    background: #5b5b5b;
}
#works:after{
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    z-index: 2;
    background: url(../images/work_bg.png) repeat 0 0;
}
#works .inside{
    position: relative;
    z-index: 3;
}
#works .bgImg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    height: 100%;
    overflow: hidden;
    background-image: url(../images/work_spacer.png);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
}
#works .bgImg img{
    width: 100%;
}
#works .blockTtl{
    color: #fff;
}

/* slider */
#works .slider{
    position: relative;
}
#works .slider .inner{
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 315px!important;
    margin: auto;
}
#works .slider .list{
    position: absolute;
    top: 0;
    left: 0;
    width: 13000px;
    height: 100%;
}
#works .slider article{
    float: left;
    width: 960px;
    height: 100%;
}

/* inbox */
#works .inbox{
    width: 960px;
    height: 315px;
    margin: auto;
    overflow: hidden;
    background: #f3f1e8;
    box-shadow: 0px 2px 2px 2px rgba(0,0,0,0.1);
}
#works .inbox a{
    display: block;
}
#works .thumb{
    float: left;
}
#works .thumb img{
    transition: all 0.3s;
}
#works .inbox a:hover .thumb img{
    opacity: 0.7;
    filter: alpha(opacity=70);
}
#works .data-box{
    width: 420px;
    padding: 35px 30px 30px;
    float: left;
}
#works .data-box header{
    border-bottom: 1px solid #e3e1d7;
}
#works .data-box .ttl{
    margin-bottom: 12px;
    line-height: 1.4;
    font-size: 147%;
    font-family: 'Noto Sans Japanese',"メイリオ","Meiryo", serif;
    transition: all 0.3s;
    word-wrap: break-word;
}
#works .data-box .note{
    margin-bottom: 17px;
    color: #646464;
    line-height: 1.6;
    word-wrap: break-word;
}
#works .solution{
    padding: 15px 0;
}
#works .solution dt{
    margin-bottom: 4px;
    font-size: 85%;
    font-weight: bold;
    font-family: 'Noto Serif', serif;
}
#works .inbox a:hover .solution dt{
    color: #494949;
}
#works .solution ul{
    margin-left: -5px;
    letter-spacing: -0.4em;
}
#works .solution li{
    margin-bottom: 2px;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    color: #a9a9a4;
    font-size: 85%;
    line-height: 1.2;
    letter-spacing: 0;
}
#works .solution span{
    padding: 0 5px;
}
#works .solution .active span{
    color: #e28414;
    font-weight: bold;
}

/* pointer */
#works .pointer{
    position: relative;
    margin: auto;
    max-width: 1560px;
    min-width: 960px;
}
#works .prev,
#works .next{
    position: absolute;
    top: -180px;
}
#works .prev a,
#works .next a{
    display: block;
    position: relative;
    width: 50px;
    height: 50px;
    opacity: 0.7;
    filter: alpha(opacity=70);
    line-height: 50px;
    border-radius: 50px;
    text-indent: -9999px;
    transition: all 0.3s;
}
#works .prev .off,
#works .next .off{
    display: none;
}
#works .prev{
    left: 20px;
}
#works .prev a{
    background: #fff url(../images/btn_prev.png) no-repeat 50% 50%;
}
#works .next{
    right: 20px;
}
#works .next a{
    background: #fff url(../images/btn_next.png) no-repeat 50% 50%;
}
#works .prev a:hover{
    opacity: 1;
    filter: alpha(opacity=100);
    transform:scale(1.1);
    background: #fff url(../images/btn_prev_on.png) no-repeat 50% 50%;
}
#works .next a:hover{
    opacity: 1;
    filter: alpha(opacity=100);
    transform:scale(1.1);
    background: #fff url(../images/btn_next_on.png) no-repeat 50% 50%;
}
#works .more-btn{
    width: 220px;
    margin: 40px auto 0;
}



/** -----------------------------------------------------------------
*
*  [sp]レスポンシブ 1000px
*
----------------------------------------------------------------- */

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

    /*--------------------------------------------------------------------------
    Main
    ---------------------------------------------------------------------------*/

    /* mainVisual
    -----------------------------------------------------------------*/
    #mainVisual .inner{
        height: 560px;
    }
    #mainVisual .lead{
        display: block;
        top: 32px;
        margin-left: -122px;
        width: 245px;
        height: 32px;
        text-indent: -9999px;
        background: url(../images/mv_lead_sp.png) no-repeat 0 0;
        background-size: 245px 32px;
    }
    #mainVisual .sub-lead{
        display: block;
        top: 78px;
        margin-left: -123px;
        width: 246px;
        height: 13px;
        text-indent: -9999px;
        background: url(../images/mv_txt_sp.png) no-repeat 0 0;
        background-size: 246px 13px;
    }
    #mainVisual .img{
        display: block;
        margin-left: 0px;
        top: 0;
    }
    #mainVisual .img img{
        width: auto;
        height: 225px;
        width: 100%;
        /* height: 225px; */
        height: auto;
    }



    #mainVisual .btn{
        opacity: 1;
        top: inherit;
        left: inherit;
        bottom: -5px;
        width: 100%;
        margin-left: 0;
    }
    #mainVisual .btn:after{
        content: '';
        position: absolute;
        width: 32px;
        height: 30px;
        bottom: -10px;
        left: 50%;
        margin-left: -16px;
        background: url(../images/ico_arrow02.png) no-repeat 50% 98%;
        background-size: 32px 12px;
    }
    #mainVisual .btn .btnLink{
        border-radius: 0;
        box-shadow: 0 -1px 2px 0 rgba(0,0,0,0.1) inset;
    }
    #mainVisual .btn .btnLink:hover{
        background: #fe9e1a;
    }
    #mainVisual .btn .btnLink span{
        font-weight: bold;
    }
    #mainVisual .bottom,
    #mainVisual .line,
    .oldbrowse #mainVisual .line,
    #mainVisual #canvas01,
    #mainVisual #canvas02{
        display: none;
    }



    #mainText {
        /* position: absolute; */
        /* width: 100%; */
        /* top: 10px; */
        /* margin: 0 auto; */
    }

    #mainText .area {
        /* max-width: 400px; */
        /* padding-top: 28px; */
        /* margin: 0 auto; */
        /* padding: 5%; */
        /* text-align: left; */
        /* width: 30%; */
        /* margin-right:65%; */
    }
    #mainText .area p {
        font-size: 17px;
    }


    /* mission
    -----------------------------------------------------------------*/

    #mission .wrap{
        padding: 3%;
    }


    #mission .lead{
        margin-bottom: 30px;
        font-size: 100%;
        padding: 0 20px;
    }

    /* service */
    #mission .service{
        overflow: hidden;
    }
    #mission .site,
    #mission .humanresource{
        display: block;
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
        -webkit-box-sizing: border-box;
    }
    #mission .site{
        border-bottom: 1px solid #ffce90;
    }
    #mission .site:after,
    #mission .humanresource:after{
        display: none;
    }
    #mission .unit{
        padding: 18px 0;
        margin-top: 0;
        text-align: left;
        border-left: none;
        width: 100%;
        border-bottom: 1px solid #cf7319;
    }
    #mission .unit:after{
        display: none;
    }
    #mission .site .unit,
    #mission .humanresource .unit{
        width: 100%;
    }
    #mission .ico{
        width: 38px;
        float: left;
        margin: 8px 10px 0 0;
        text-align: center;
    }
    #mission .ico img{
        width: auto;
        height: 32px;
    }
    #mission dt{
        margin-bottom: 8px;
        overflow: hidden;
        font-size: 93%;
    }
    #mission dt span{
        line-height: 1.3;
        display: inline;
        font-weight: 500;
    }
    #mission dt br{
        display: none;
    }
    #mission .list{
        margin-left: 48px;
        overflow: hidden;
    }
    #mission .list ul{
        padding: 0;
    }
    #mission .list li{
        font-size: 85%;
    }
    #mission .site .more-btn,
    #mission .humanresource .more-btn{
        width: 100%;
        clear: both;
        margin: 25px auto 0;
        padding-bottom: 25px;
    }
    #mission .humanresource .more-btn{
        margin: 20px auto 0;
    }


    /* news-release
    -----------------------------------------------------------------*/
    #news{
        padding: 30px 0 25px;
        margin: 0;
    }
    #news .btn-more{
        margin-top: 25px;
        width: auto;
    }


    /* blog
    -----------------------------------------------------------------*/
    #blog{
        padding: 25px 0;
    }
    #blog .inner{
        margin: 0 20px;
        min-width: 280px;
        padding: 0;
    }
    #blog .list{
        display: block;
        width: 100%;
        margin-bottom: 22px;
    }
    #blog .list a{
        display: table;
        width: 100%;
        margin: 0;
        box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.12);
    }
    #blog .list .thumb{
        display: table-cell;
        width: 110px;
        height: 110px;
        vertical-align: top;
    }
    #blog .list .thumb img{
        width: 110px;
        height: 110px;
    }
    #blog .list .thumb:after{
        display: none;
    }
    #blog .list .thumb .cap{
        display: none;
    }
    #blog .list a:hover .thumb .cap{
        display: none;
    }
    #blog .list .note{
        display: table-cell;
        vertical-align: middle;
        padding: 14px 15px;
    }
    #blog .list .ttl{
        line-height: 1.4;
    }
    #blog .list .date{
        margin-bottom: 8px;
        line-height: 1.2;
    }
    #blog .btn-more{
        margin: 23px 20px 0;
        width: auto;
    }



    /* works
    -----------------------------------------------------------------*/
    #works{
        padding: 28px 20px;
        overflow: hidden;
    }
    #works .bgImg{
        height: 470px;
        width: auto;
        background-size: auto 100%;
    }
    #works .bgImg img{
        width: auto;
        height: 100%;
    }
    #works .slider .inner{
        height: 284px!important;
    }
    #works .slider article{
        width: 200px;
    }

    /* inbox */
    #works .inbox{
        width: 200px;
        height: 284px;
        margin: 0 auto;
    }
    #works .thumb{
        float: none;
        margin: 0;
        padding: 0;
    }
    #works .thumb img{
        width: 100%;
        height: auto;
    }
    #works .data-box{
        width: auto;
        float: none;
        margin: 0;
        padding: 14px 10px 10px;
    }
    #works .data-box header{
        padding: 0;
        margin: 0;
        border: none;
    }
    #works .data-box .ttl{
        margin-bottom: 7px;
        padding: 0;
        font-size: 100%;
    }
    #works .data-box .note{
        margin-bottom: 0;
        font-size: 85%;
    }
    #works .solution{
        display: none;
    }

    /* pointer */
    #works .pointer{
        min-width: 280px;
    }
    #works .prev,
    #works .next{
        top: -146px;
    }
    #works .prev a,
    #works .next a{
        width: 27px;
        height: 27px;
    }
    #works .prev{
        left: 0;
    }
    #works .prev a{
        background: #fff url(../images/btn_prev_sp.png) no-repeat 50% 50%;
        background-size: 4px 8px;
    }
    #works .prev a:hover{
        background: #fff url(../images/btn_prev_sp.png) no-repeat 50% 50%;
        background-size: 4px 8px;
    }
    #works .next{
        right: 0;
    }
    #works .next a{
        background: #fff url(../images/btn_next_sp.png) no-repeat 50% 50%;
        background-size: 4px 8px;
    }
    #works .next a:hover{
        background: #fff url(../images/btn_next_sp.png) no-repeat 50% 50%;
        background-size: 4px 8px;
    }
    #works .more-btn{
        margin-top: 26px;
        width: auto;
    }



}

/** -----------------------------------------------------------------
*
*  [sp]レスポンシブ 1000px
*
----------------------------------------------------------------- */

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


    #mainText .area {
        /* max-width: 400px; */
        /* padding-top: 28px; */
        /* margin: 0 auto; */
        /* padding: 5%; */
        /* text-align: left; */
        /* width: 60%; */
        /* margin-right: 65%; */
    }
}

#c-online-btn {
    position: fixed;
    z-index: 50;
    bottom: 100px;
    right: 20px;
    opacity: 0;
}

#c-online-btn a {
    transition-property: all;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

#c-online-btn a img {
    width: 130px;
}
#c-online-btn img {
    width: 130px;

}

#c-online-btn a:hover {
    opacity: 0.7;
}

#c-pagetop {
    position: fixed;
    z-index: 50;
    right: 63px;
    bottom: 30px;
    cursor: pointer;
    opacity: 0;
}
#c-pagetop-object {
    width: 45px;
    height: 45px;
    transition-property: all;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
#c-pagetop-object:hover {
    opacity: 0.7;
}
#c-pagetop-arrow {
    width: 15px;
    height: 8px;
}
#c-pagetop.only {
    right: 30px;
}
@media (max-width: 515px) {

    #c-online-btn img {
        width: 100px;
        /* height: 130px; */
        /* 	background: #c11920; */
    }
}



#demo-1 {
    position: relative; /* can either be relative, absolute or fixed. If position is not set (i.e. static), it would be set to "relative" by script */
    overflow: hidden; /* to bound the empty top space created by inner element's top margin */
    width: 100%;
    /* min-height: 400px; */
    height:100vh;
    background-color: #999;
}
.demo-inner-content {
    position: relative; /* if position is not set, the script will set it to 'relative'. */
    z-index: 2; /* if z-index is not set, the script will set it to '2'. */
    margin: 300px auto;
    padding: 40px;
    max-width: 800px;
    color: #fff;
    text-align: center;
    font-size: 1.5em;
}
.demo-inner-content h1 {
    font-size: 40px;
    margin: 0;
}

@media only screen and (max-width: 414px) {
    .demo-inner-content h1 {
        font-size: 25px;
        margin: 0;
    }

}



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


/*# sourceMappingURL=styles.css.map */

body{
    font-size:16px;
    line-height: 2.14;
}
.center{
    text-align: center;
}
.whatis{
    /* margin-top:5rem; */
}
.whatis h2{
    font-size: 1.2rem;
    margin-bottom:1rem;
    font-weight:600;
    font-family: "Yu Mincho Medium","Yu Mincho","ＭＳ 明朝",serif;
}
.whatis h2:first-letter {
    font-size    : 1.5em;
}

.whatis .center{
    margin: 2rem auto;
    font-style: italic;
    letter-spacing: 1px;
    color: #636363;
}
    .flex {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin: auto;
        flex-wrap: wrap;
        /* margin: 0 1%; */
        width: 100%;
        gap: 2%;
    }
/*flexの時左右の順番*/
    .flex.x {
        flex-direction: row-reverse;
    }
    .flex .cnt {
    width: calc(100% / 2 - 1%);
    margin-top: 2rem;
}
    @media screen and (max-width: 768px) {
        .flex .cnt{
            width: 100%;
        }
    }
    .flex .cnt img{
    width: 100%;
}
.whatis .flex{
    margin-bottom:3rem;
}
.whatis .flex .cnt img{
    width: 80%;
    padding:0 10%;
}

#mainText .area h1{
    text-align: center;
    font-size:1.4rem;
}
    @media screen and (max-width: 768px) {
        #mainText .area h1{
    font-size:1.2rem;
}
    }

#mainText .area h3{
    font-size:1.2rem;
    color:#f39800;
}
#mainText .area .product{
    position: relative;
    background: #fffff5;
    margin: 0 calc(50% - 50vw);
    padding: 4px calc(50vw - 50%);
    /* width: 100vw; */
    
}
    @media screen and (max-width: 768px) {
#mainText .area .product{
    padding: 2rem;
    
}
    }
#mainText .area .product:before{
    content: "";
}

.product a button{
    display: block;
    max-width:290px;
    width: 100%;
    margin:auto;
    /* height: 30px; */
    color: #fff;
    padding: 10px 5px;
    text-align: center;
    border-radius: 3px;
    transition: all 0.3s;
    font-size: 100%;
    background: #f39800;
    border: #e68300 2px solid;
    margin-top: 2rem;
}
.product a button:hover{
    background: #fff3c4;
    color: #e68300;
}

    span.sen {
        background: linear-gradient(transparent 40%, #fffb8a 0%);
        /*     border-bottom: solid 3px #297fdf; */
        text-decoration: none;
        border: none;
        padding: 0 0.1rem;
    }