@charset "utf-8";

@font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:400;
    src:url(./fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff2) format('woff2'),
        url(./fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff) format('woff'),
        url(./fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.otf) format('opentype');
}
@font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:700;
    src:url(./fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
        url(./fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
        url(./fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
}

/*-----------------------------------------------
	reset
-----------------------------------------------*/
#contents *, #contents *::before, #contents *::after{box-sizing:border-box;}
#contents html,#contents body,#contents div,#contents span,#contents object,#contents iframe,#contents h1,#contents h2,#contents h3,#contents h4,#contents h5,#contents h6,#contents p,#contents blockquote,#contents pre,#contents abbr,#contents address,#contents cite,#contents code,#contents del,#contents dfn,#contents em,#contents img,#contents ins,#contents kbd,#contents q,#contents samp,#contents small,#contents strong,#contents sub,#contents sup,#contents var,#contents b,#contents i,#contents dl,#contents dt,#contents dd,#contents ol,#contents ul,#contents li,#contents fieldset,#contents form,#contents label,#contents legend,#contents table,#contents caption,#contents tbody,#contents tfoot,#contents thead,#contents tr,#contents th,#contents td,#contents article,#contents aside,#contents canvas,#contents details,#contents figcaption,#contents figure,#contents footer,#contents header,#contents hgroup,#contents menu,#contents nav,#contents section,#contents summary,#contents time,#contents mark,#contents audio,#contents video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}#contents{line-height:1;-webkit-text-size-adjust:100%}#contents article,#contents aside,#contents details,#contents figcaption,#contents figure,#contents footer,#contents header,#contents hgroup,#contents menu,#contents nav,#contents section{display:block}#contents ul,#contents ol,#contents dl{list-style:none}#contents blockquote,#contents q{quotes:none}#contents blockquote:before,#contents blockquote:after,#contents q:before,#contents q:after{content:'';content:none}#contents a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}#contents ins{background-color:#ff9;color:#000;text-decoration:none}#contents mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}#contents del{text-decoration:line-through}#contents abbr[title],#contents dfn[title]{border-bottom:1px dotted;cursor:help}#contents table{border-collapse:collapse;border-spacing:0}#contents hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}#contents input,#contents select{vertical-align:middle}#contents .cf:before,#contents .cf:after{content:".";display:table;height:0;font-size:0;line-height:0;visibility:hidden}#contents .cf:after{clear:both}#contents .cf{zoom:1}#contents img{vertical-align:bottom;border:0}

/*-----------------------------------------------
	index
-----------------------------------------------*/
/* contents */
#contents{
    max-width: none;
}
#contents *{
    font-family: 'YakuHanJP_Noto','Noto Sans JP', sans-serif;
}

/* imgR */
#contents .img100{
    width: 100%;
    height: auto;
}
@media only screen and (max-width:767px){
    #contents .imgR{
        width: 100%;
        height: auto;
    }
}

/* spNone, spOnly */
#contents .spOnly,
#contents .brSp{
    display: none;
}
@media only screen and (max-width:767px){
    #contents .spNone{
        display: none;
    }
    #contents .spOnly{
        display: block;
    }
    #contents .brSp{
        display: inline;
    }
}

/* br359 */
#contents .br359,
#contents .br1200{
    display: none;
}
@media only screen and (max-width:1200px){
    #contents .br1200{
        display: inline;
    }
}
@media only screen and (max-width:359px){
    #contents .br359{
        display: inline;
    }
}

/* jsHide */
#contents .jsHide{
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#contents .jsHide:not(.jsShow){
    opacity: 0;
}


/*rollover*/
#contents .ro a:hover,
#contents a.ro:hover,
#contents a .ro:hover{opacity:0.8; }
#contents .ro a,
#contents a.ro,
#contents a .ro{
    transition:opacity 0.2s ease-out;
}

/*rollover(brightnessによる変化)*/
#contents .brt a:hover,
#contents a.brt:hover,
#contents a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
#contents .brt a,
#contents a.brt,
#contents a .brt{
    transition:filter 0.2s ease-out;
}

/*ro無効化*/
#contents .ro .no_ro a:hover,
#contents .ro a.no_ro:hover,
#contents .no_ro a:hover,
#contents a.no_ro:hover{ opacity:1; text-decoration: none;}

/* fBold */
#contents .fBold{font-weight: bold;}

/* secHero */
#contents .secHero{
    background: url(../img/bgHero.jpg) center top no-repeat;
    height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media only screen and (max-width:1200px){
    #contents .secHero .tit02{
        transform: scale(0.8);
    }
}
@media only screen and (max-width:767px){
    #contents .secHero{
        background: url(../img/bgHero_sp.jpg) center top / cover no-repeat;
        height: 66.667vw;
    }
    #contents .secHero .tit{
        width: 65.334%;
    }
    #contents .secHero .tit02{
        transform: none;
        width: 92%;
    }
}

/* secBnr */
#contents .secBnr{
    height: 350px;
    position: relative;
}
#contents .secBnr.lazyloaded{
    background: url(../img/bgBnr.jpg) center center no-repeat;
}
#contents .secBnr.lazyloaded::before{
    content: "";
    width: 700px;
    height: 100%;
    background: url(../img/imgBnr02.png) center bottom no-repeat;
    position: absolute;
    top: 0;
    left: calc(50% - 960px);
}
#contents .secBnr .wrapper{
    width: 1150px;
    margin: 0 auto;
    padding: 65px 0 0 510px;
    position: relative;
}
#contents .secBnr .txt01{
    width: 644px;
}
#contents .secBnr .txt02{
    position: absolute;
    top: 0;
    right: 7px;
}
#contents .secBnr .img{
    width: 474px;
    position: absolute;
    top: -45px;
    left: 0;
}
#contents .secBnr .btn{
    width: 450px;
    display: inline-block;
    margin: 20px 0 0 10px;
}
@media only screen and (max-width:1200px){
    #contents .secBnr{
        height: 315px;   
    }
    #contents .secBnr .wrapper{
        width: 960px;
        padding-left: calc(510 * 0.8px);
    }
    #contents .secBnr .img{
        width: calc(468 * 0.8px);
    }
    #contents .secBnr .txt01{
        width: calc(644 * 0.8px);
    }
    #contents .secBnr .btn{
        width: calc(450 * 0.8px);
    }
}
@media only screen and (max-width:767px){
    #contents .secBnr{
        height: auto;
    }
    #contents .secBnr.lazyloaded{
        background: url(../img/bgBnr_sp.jpg) center center / cover no-repeat;
    }
    #contents .secBnr.lazyloaded::before{
        display: none;
    }
    #contents .secBnr .wrapper{
        width: 81.334%;
        margin: 0 auto;
        padding: 33px 0 35px;
    }
    #contents .secBnr .txt01{
        width: 95.41%;
        margin: 0 auto;
    }
    #contents .secBnr .txt02{
        width: 62px;
        right: -13px;
    }
    #contents .secBnr .img{
        width: 85.25%;
        margin: -8px 0 0 -15px;
        position: static;
    }
    #contents .secBnr .btn{
        width: 100%;
        margin: 20px auto 0;
    }
}

/* secWorks */
#contents .secWorks{
    padding: 180px 0 222px;
    position: relative;
}
#contents .secWorks.lazyloaded::before{
    content: "";
    width: 100%;
    height: calc(100% + 400px);
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/bgWorks.png) center bottom no-repeat;
    pointer-events: none;
}
#contents .secWorks .titHeadEng{
    text-align: center;
}
#contents .secWorks .titHeadJpn{
   font-size: 20px;
   line-height: 2;
   letter-spacing: 1px;
   text-align: center;
   margin-top: 26px;
}
#contents .secWorks .swiper{
    width: 1460px;
    overflow: visible;
    margin: 0 auto;
}
#contents .secWorks .swiper-slide{
    padding-bottom: 70px;
    position: relative;
}
#contents .secWorks .boxSlider{
    margin-top: 60px;
}
#contents .secWorks .boxSlider.disabled .swiper-wrapper{
    justify-content: center;
}
#contents .secWorks .boxSlider.disabled .swiper-slide{
    width: 30.822%;
    margin-right: 3.767%;
}
#contents .secWorks .boxSlider.disabled .swiper-slide:last-child{
    margin-right: 0;
}
#contents .secWorks .img{
    text-align: center;
}
#contents .secWorks .img img{
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
#contents .secWorks .boxTxt{
    background: #000;
    width: 350px;
    max-width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    color: #fff;
    padding: 28px 40px 25px;
    font-size: 14px;
}
#contents .secWorks .txtNum{
    position: absolute;
    top: -22px;
    left: 18px;
}
#contents .secWorks .item{
    display: flex;
}
#contents .secWorks .item:nth-child(n+2){
    margin-top: 5px;
}
#contents .secWorks .tit{
    width: 80px;
}
#contents .secWorks .swiper-scrollbar{
    position: static;
    width: calc(100% - 80px);
    margin: 70px auto 0;
    height: 6px;
}
#contents .secWorks .swiper-scrollbar-drag{
    background: #dadada;
    border-radius: 0;
}
@media only screen and (max-width:1510px){
    #contents .secWorks .swiper{
        width: calc(100% - 40px);
    }
}
@media only screen and (max-width:1100px){
    #contents .secWorks .boxTxt{
        padding-left: 30px;
        padding-right: 30px;
    }
}
@media only screen and (max-width:767px){
    #contents .secWorks{
        padding: 80px 0;
    }
    #contents .secWorks.lazyloaded{
        background: url(../img/bgWorks01_sp.gif) 105% 50px / 40% auto no-repeat;
    }
    #contents .secWorks.lazyloaded::before{
        height: calc(100% + 70px);
        top: auto;
        bottom: -18.934vw;
        background: url(../img/bgWorks02_sp.png) center bottom / 100% auto no-repeat;
    }
    #contents .secWorks .titHeadEng{
        width: 108px;
        margin: 0 auto;
    }
    #contents .secWorks .titHeadJpn{
       font-size: 12px;
       line-height: 1.92;
       letter-spacing: 0;
       margin-top: 10px;
    }
    #contents .secWorks .swiper{
        width: 60vw;
    }
    #contents .secWorks .boxSlider{
        margin-top: 27px;
    }
    #contents .secWorks .img{
        width: 91.112%;
        margin: 0 0 0 auto;
    }
    #contents .secWorks .boxTxt{
        width: 205px;
        padding: 18px 20px;
        font-size: 12px;
    }
    #contents .secWorks .txtNum{
        top: -12px;
        left: 16px;
    }
    #contents .secWorks .tit{
        width: 55px;
    }
    #contents .secWorks .txtNum img{
        width: auto;
        height: 27px;
    }
    #contents .secWorks .swiper-scrollbar{
        width: 89.334vw;
        margin: 30px auto 0;
        height: 4px;
        position: relative;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    #contents .secWorks .boxSlider.disabled .swiper-slide{
        width: 100%;
        height: auto;
    }
}

/* secOverviewMerit */
#contents .secOverviewMerit.lazyloaded{
    background: url(../img/bgOverviewMerit.jpg) center top no-repeat #003f77;
}
@media only screen and (max-width:767px){
    #contents .secOverviewMerit.lazyloaded{
        background: url(../img/bgOverviewMerit_sp.jpg) center top / 100% auto no-repeat #003f77;
    }
}

/* secOverview */
#contents .secOverview{
    padding-top: 190px;
}
#contents .secOverview .txt01{
    font-size: 65px;
    line-height: 1.54;
    text-align: center;
    color: #fff;
    font-style: italic;
    font-weight: bold;
    letter-spacing: 6px;
    padding-right: 150px;
}
#contents .secOverview .fTxt01Point{
    display: inline-block;
    padding-left: 220px;
    color: #fff600;
    font-weight: bold;
    font-style: italic;
}
#contents .secOverview .txt02{
    width: 690px;
    margin: 42px auto 0;
}
#contents .secOverview .txt03{
    font-size: 40px;
    color: #fff;
    text-align: center;
    font-weight: bold;
    margin-top: 20px;
    letter-spacing: 4px;
}
#contents .secOverview .fTxt03Point{
    font-size: 50px;
}
#contents .secOverview .txt04{
    font-size: 40px;
    line-height: 1.875;
    text-align: center;
    color: #fff;
    font-weight: bold;
    letter-spacing: 3px;
}
#contents .secOverview .fTxt04Point{
    background: linear-gradient(transparent 80%, #fff600 80%, #fff600 90%, transparent 90%);
}
#contents .secOverview .img{
    width: 470px;
    margin: 45px auto 0;
}
@media only screen and (max-width:1100px){
    #contents .secOverview .txt01{
        font-size: 55px;
    }
}
@media only screen and (max-width:767px){
    #contents .secOverview{
        padding-top: 70px;
    }
    #contents .secOverview .txt01{
        font-size: 25px;
        line-height: 1.52;
        letter-spacing: 0;
        padding-right: 30px;
    }
    #contents .secOverview .fTxt01Point{
        padding-left: 80px;
    }
    #contents .secOverview .txt02{
        width: 84%;
        margin-top: 20px;
    }
    #contents .secOverview .txt03{
        font-size: 18px;
        line-height: 1.75;
        margin-top: 10px;
        letter-spacing: 0.5px;
    }
    #contents .secOverview .fTxt03Point{
        font-size: 25px;
        font-weight: bold;
    }
    #contents .secOverview .txt04{
        font-size: 18px;
        line-height: 1.8;
        letter-spacing: 0.5px;
        font-weight: bold;
    }
    #contents .secOverview .fTxt04Point{
        font-weight: bold;
        background: linear-gradient(transparent 90%, #fff600 90%, #fff600 100%, transparent 100%);
    }
    #contents .secOverview .img{
        width: 81.067%;
        margin: 20px 6% 0 auto;
    }
}
@media only screen and (max-width:359px){
    #contents .secOverview .txt01{
        font-size: 22px;
        padding-right: 15px;
    }
    #contents .secOverview .fTxt01Point{
        padding-left: 40px;
    }
}

/* secMerit */
#contents .secMerit{
    margin-top: 50px;
    padding-bottom: 200px;
}
#contents .secMerit.lazyloaded{
    background: url(../img/bgMerit.gif) center 350px no-repeat;
}
#contents .secMerit .titHead01{
    text-align: center;
}
#contents .secMerit .titHead02{
    font-size: 20px;
    text-align: center;
    color: #fff;
    margin-top: 35px;
}
#contents .secMerit .boxList{
    width: 1380px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
}
#contents .secMerit .item{
    margin-top: 147px;
}
#contents .secMerit .item:nth-child(2n) .boxMain{
    flex-direction: row-reverse;
}
#contents .secMerit .item:nth-child(2n) .boxTxt{
    width: 46%;
}
#contents .secMerit .boxMain{
    display: flex;
    justify-content: space-between;
}
#contents .secMerit .titHead02{
    font-size: 20px;
    font-weight: normal;
}
#contents .secMerit .titItem01{
    position: relative;
}
#contents .secMerit .titItem01::after{
    content: "";
    width: 200px;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 70px;
    top: calc(50% - 0.5px);
}
#contents .secMerit .titItem02{
    font-size: 30px;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: 0.5px;
    color: #fff;
    margin-top: 15px;
}
#contents .secMerit .boxTxt{
    padding: 12px 90px 0 0;
}
#contents .secMerit .txtItemMain{
    font-size: 15px;
    line-height: 2;
    color: #fff;
    margin-top: 13px;
    letter-spacing: 0.5px;
}
#contents .secMerit img + .txtItemMain{
    margin-top: 15px;
}
#contents .secMerit .item:nth-child(2) .txtItemMain{
    margin-top: 11px;
    line-height: 1.74;
}
#contents .secMerit .txtItemPoint{
    font-size: 24px;
    line-height: 2.25;
    color: #003f77;
    margin-top: 20px;
}
#contents .secMerit .fTxtItemPoint01,
#contents .secMerit .fTxtItemPoint02{
    font-weight: bold;
    padding: 5px 20px;
}
#contents .secMerit .fTxtItemPoint01{
    background: #fff;
}
#contents .secMerit .fTxtItemPoint02{
    background: #fff600;
}
#contents .secMerit .imgItem{
    width: 47.827%;
    flex-shrink: 0;
}
#contents .secMerit .imgItem img{
    width: 100%;
    height: auto;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
}
#contents .secMerit .boxPointMerit{
    border: 3px solid #fff;
    margin-top: 60px;
    display: flex;
    padding: 59px 56px;
    position: relative;
}
#contents .secMerit .boxPointMerit.lazyloaded{
    background: url(../img/bgPointMerit.jpg) center top no-repeat;
}
#contents .secMerit .imgPointMerit{
    margin-top: 7px;
}
#contents .secMerit .boxTxtPointMerit{
    padding: 0 202px 0 78px;
    position: relative;
}
#contents .secMerit .boxPointMerit.lazyloaded .boxTxtPointMerit::after{
    content: "";
    width: 146px;
    height: 245px;
    background: url(../img/imgPointMerit.png) center top / cover no-repeat;
    position: absolute;
    right: 20px;
    top: 22px;
}
#contents .secMerit .imgPointMerit{
    width: 33.202%;
    min-width: 250px;
}
#contents .secMerit .boxTitPointMerit{
    position: relative;
}
#contents .secMerit .iconPointMerit{
    position: absolute;
    top: -50px;
    left: -55px;
}
#contents .secMerit .titPointMerit{
    display: inline-block;
    font-size: 26px;
    font-weight: bold;
    color: #003f77;
    background: #fff;
    padding: 7px 28px;
}
#contents .secMerit .txtPointMeritHead{
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    margin-top: 16px;
    letter-spacing: 1px;
}
#contents .secMerit .boxPointMeritList{
    margin-top: 16px;
}
#contents .secMerit .itemPointMerit{
    display: flex;
}
#contents .secMerit .itemPointMerit:nth-child(n+2){
    margin-top: 8px;
}
#contents .secMerit .txtPointMerit{
    font-size: 23px;
    line-height: 1.67;
    color: #fff;
    font-weight: bold;
    margin-left: 10px;
    letter-spacing: 1px;
}
#contents .secMerit .txtPointMeritIn{
    padding: 5px 0;
    background: linear-gradient(transparent calc(100% - 3px), #fff600 calc(100% - 3px), #fff600 100%, transparent 100%);
}
#contents .secMerit .fPointMeritStrong{
    color: #fff600;
}
#contents .secMerit .boxTableExample{
    border-collapse: collapse;
    width: 359px;
    margin-top: 18px;
}
#contents .secMerit .boxTableExample th,
#contents .secMerit .boxTableExample td{
    border: 1px solid #fff;
    font-size: 16px;
    letter-spacing: 0.5px;
    color: #fff;
    text-align: center;
    padding: 14px;
}
#contents .secMerit .boxTableExample th{
    background: #002e57;
    width: 120px;
}
#contents .secMerit .txtExample{
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    margin-top: 23px;
}
#contents .secMerit .txtExample + .txtItemPoint{
    margin-top: 10px;
}
#contents .secMerit .boxPointUp{
    border: 3px solid #fff;
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
    position: relative;
}
#contents .secMerit .boxPointUp.lazyloaded{
    background: url(../img/bgPointMerit.jpg) center bottom no-repeat;
}
#contents .secMerit .boxTxtPointUp{
    width: 56.331%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding-left: 60px;
}
#contents .secMerit .iconPointUp{
    position: absolute;
    top: 40px;
    left: calc(50% - 220px);
}
#contents .secMerit .txtPointUp{
    font-size: 23px;
    line-height: 2.18;
    font-weight: bold;
    color: #fff;
    letter-spacing: 1px;
}
#contents .secMerit .txtPointUpIn{
    padding: 5px 0;
    background: linear-gradient(transparent calc(100% - 3px), #fff600 calc(100% - 3px), #fff600 100%, transparent 100%);
}
#contents .secMerit .fTxtPointUpInStrong{
    color: #fff600;
}
#contents .secMerit .imgPointUp{
    width: 43.669%;
}
#contents .secMerit .txtImgPointUp{
    text-align: center;
    font-size: 15px;
    line-height: 2;
    padding: 5px 0;
    background: #fff;
    color: #000;
    font-weight: bold;
}
#contents .secMerit .txtItemWorry{
    font-size: 18px;
    font-weight: bold;
    margin-top: 20px;
    color: #fff;
}
#contents .secMerit .txtItemWorry + .txtItemPoint{
    margin-top: 10px;
}
#contents .secMerit .itemTech{
    position: relative;
}
#contents .secMerit .itemTech:nth-child(n+2){
    margin-top: 53px;
}
#contents .secMerit .itemTech::after{
    content: "";
    width: calc(100% - 250px);
    height: 3px;
    background: #fff;
    position: absolute;
    top: 24px;
    left: 250px;
}
#contents .secMerit .titTech{
    width: 250px;
    height: 51px;
    border-radius: 25.5px;
    font-size: 15px;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-top: 40px;
    font-weight: bold;
}
#contents .secMerit .boxRecommendList{
    margin-top: 24px;
    position: relative;
}
#contents .secMerit .boxRecommendList::before{
    content: "";
    width: 80px;
    height: 138px;
    background: url(../img/imgRecommend.png) center top no-repeat;
    position: absolute;
    right: 30px;
    top: 30px;
}
#contents .secMerit .itemRecommend{
    color: #fff;
    font-size: 17px;
    padding-left: 55px;
    position: relative;
}
#contents .secMerit .itemRecommend:nth-child(n+2){
    margin-top: 17px;
}
#contents .secMerit .itemRecommend.lazyloaded::before{
    content: "";
    width: 20px;
    height: 16px;
    background: url(../img/iconTech.png) left top / cover no-repeat;
    position: absolute;
    top: 5px;
    left: 25px;
}
#contents .secMerit .txtRecommend{
    font-size: 24px;
    color: #fff600;
    text-align: center;
    padding-bottom: 2px;
    font-weight: bold;
    margin-top: 27px;
}
#contents .secMerit .txtRecommendIn{
    border-bottom: 3px solid #fff600;
    padding-bottom: 5px;
}
#contents .secMerit .boxLocationList{
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}
#contents .secMerit .itemLocation{
    width: calc(33.333% - 12px);
}
#contents .secMerit .txtLocation{
    font-size: 14px;
    color: #fff;
    text-align: center;
    margin-top: 15px;
}
@media only screen and (max-width:1400px){
    #contents .secMerit .txtItemMain .brPc{
        display: none;
    }
    #contents .secMerit .itemTech::after{
        width: calc(100% - 250px);
    }
    #contents .secMerit .boxLocationList{
        width: 100%;
    }
}
@media only screen and (max-width:1350px){
    #contents .secMerit .txtPointMerit{
        font-size: 21px;
    }
}
@media only screen and (max-width:1280px){
    #contents .secMerit .boxPointMerit.lazyloaded .boxTxtPointMerit{
        padding-right: 0;
    }
    #contents .secMerit .boxPointMerit.lazyloaded .boxTxtPointMerit::after{
        right: -80px;
        top: -80px;
        transform: scale(0.5);
    }
    #contents .secMerit .txtPointMerit{
        font-size: 22px;
    }
}
@media only screen and (max-width:1200px){
    #contents .secMerit .iconPointUp{
        top: 20px;
        left: calc(50% - 230px);
    }
    #contents .secMerit .boxRecommendList::before{
        top: 0;
        right: -20px;
    }
    #contents .secMerit .txtRecommend{
        font-size: 21px;
    }
}
@media only screen and (max-width:1150px){
    #contents .secMerit .txtItemMain,
    #contents .secMerit .boxTableExample th,
    #contents .secMerit .boxTableExample td{
        font-size: 14px;
    }
    #contents .secMerit .txtItemPoint{
        font-size: 17px;
    }
    #contents .secMerit .fTxtItemPoint01,
    #contents .secMerit .fTxtItemPoint02{
        padding: 4px 10px;
    }
}
@media only screen and (max-width:767px){
    #contents .secMerit{
        padding-bottom: 100px;
    }
    #contents .secMerit.lazyloaded{
        background: url(../img/bgMerit_sp.gif) center calc(440px + 56vw) / 100% auto no-repeat;
    }
    #contents .secMerit .titHead01{
        width: 89px;
        margin: 0 auto;
    }
    #contents .secMerit .titHead02{
        font-size: 12px;
        margin-top: 15px;
    }
    #contents .secMerit .boxList{
        width: 92%;
        max-width: none;
    }
    #contents .secMerit .item{
        display: block;
        margin-top: 40px;
    }
    #contents .secMerit .boxMain{
        display: block;
    }
    #contents .secMerit .titHead02{
        font-size: 12px;
    }
    #contents .secMerit .titItem01{
        position: relative;
    }
    #contents .secMerit .titItem01 img{
        width: auto;
        height: 34px;
    }
    #contents .secMerit .titItem01::after{
        width: 150px;
        left: 67px;
    }
    #contents .secMerit .titItem02{
        font-size: 19px;
        line-height: 1.58;
        letter-spacing: 0;
    }
    #contents .secMerit .boxTxt,
    #contents .secMerit .item:nth-child(2n) .boxTxt{
        width: 100%;
        padding: 0;
    }
    #contents .secMerit .txtItemMain,
    #contents .secMerit .item:nth-child(2) .txtItemMain{
        font-size: 12px;
        line-height: 1.84;
        margin-top: 8px;
        letter-spacing: 0;
    }
    #contents .secMerit .item:nth-child(2) .txtItemMain{
        margin-top: 10px;
    }
    #contents .secMerit .item:nth-child(2) .txtItemPoint + .txtItemMain{
        margin-top: 0;
    }
    #contents .secMerit .txtItemPoint,
    #contents .secMerit .titItem02 + .txtItemPoint{
        font-size: 16px;
        line-height: 2.19;
        margin-top: 15px;
    }
    #contents .secMerit .txtItemWorry{
        font-size: 13px;
        line-height: 1.84;
        margin-top: 17px;
    }
    #contents .secMerit .fTxtItemPoint01,
    #contents .secMerit .fTxtItemPoint02{
        padding: 3px 5px;
    }
    #contents .secMerit .imgItem{
        width: 100%;
        margin-top: 25px;
    }
    #contents .secMerit .imgItem img{
        box-shadow: none;
    }
    #contents .secMerit .boxPointMerit{
        display: flex;
        flex-direction: column-reverse;
        padding: 12px 20px 20px;
        margin-top: 30px;
    }
    #contents .secMerit .boxTitPointMerit{
        display: flex;
        align-items: flex-end;
    }
    #contents .secMerit .boxTxtPointMerit{
        padding-left: 0;
    }
    #contents .secMerit .iconPointMerit{
        width: 36px;
        position: static;
        margin-right: 5px;
        align-items: flex-start;
    }
    #contents .secMerit .titPointMerit{
        font-size: 16px;
        background: none;
        color: #fff;
        padding-bottom: 3px;
        padding: 0;
    }
    #contents .secMerit .titPointMeritIn{
        border-bottom: 2px solid #fff;
        font-weight: bold;
        padding-bottom: 2px;
    }
    #contents .secMerit .itemPointMerit{
        align-items: flex-start;
    }
    #contents .secMerit .itemPointMerit:nth-child(n+2){
        margin-top: 4px;
    }
    #contents .secMerit .txtPointMeritHead{
        font-size: 14px;
        line-height: 1.4;
        margin-top: 21px;
    }
    #contents .secMerit .boxPointMeritList{
        margin-top: 6px;
    }
    #contents .secMerit .txtPointMerit{
        line-height: 1.4;
        letter-spacing: 0;
        margin-left: 6px;
    }
    #contents .secMerit .txtPointMeritIn{
        font-size: 14px;
        padding-top: 0;
        font-weight: bold;
    }
    #contents .secMerit .fPointMeritStrong{
        font-weight: bold;
    }
    #contents .secMerit .numPointMerit{
        width: 26px;
        margin-top: 6px;
        flex-shrink: 0;
    }
    #contents .secMerit .txtPointMeritIn{
        background: linear-gradient(transparent calc(100% - 2px), #fff600 calc(100% - 2px), #fff600 100%, transparent 100%);
    }
    #contents .secMerit .imgPointMerit{
        margin-top: 26px;
        width: 100%;
    }
    #contents .secMerit .boxPointMerit.lazyloaded .boxTxtPointMerit::after{
        width: 54px;
        height: 91px;
        transform: none;
        right: -15px;
        top: 38px;
    }
    #contents .secMerit .txtExample{
        font-size: 13px;
        margin-top: 15px;
    }
    #contents .secMerit .txtExample + .txtItemPoint{
        margin-top: 5px;
    }
    #contents .secMerit .item:nth-child(3) .txtItemMain{
        font-size: 13px;
    }
    #contents .secMerit .boxTableExample{
        width: 100%;
        margin-top: 16px;
    }
    #contents .secMerit .boxTableExample th,
    #contents .secMerit .boxTableExample td{
        font-size: 12px;
        padding: 10px;
    }
    #contents .secMerit .boxTableExample td{
        text-align: left;
        padding: 12px 20px;
    }
    #contents .secMerit .boxPointUp{
        display: block;
        padding: 25px 0 40px;
        margin-top: 30px;
        border-width: 2px;
    }
    #contents .secMerit .txtPointUp{
        font-size: 16px;
        letter-spacing: 0;
    }
    #contents .secMerit .txtPointUpIn{
        background: linear-gradient(transparent calc(100% - 2px), #fff600 calc(100% - 2px), #fff600 100%, transparent 100%);
    }
    #contents .secMerit .txtPointUpIn,
    #contents .secMerit .fTxtPointUpInStrong{
        font-weight: bold;
    }
    #contents .secMerit .boxTxtPointUp{
        width: 100%;
        padding-left: 0;
    }
    #contents .secMerit .imgPointUp{
        width: 80vw;
        margin: 24px auto 0;
    }
    #contents .secMerit .txtImgPointUp{
        font-size: 12px;
        line-height: 1.84;
        padding: 10px 0 0;
        background: none;
        font-weight: normal;
        color: #fff;
    }
    #contents .secMerit .iconPointUp{
        width: 36px;
        left: calc(50% - 150px);
        top: -10px;
    }
    #contents .secMerit .titTech{
        width: 170px;
        height: 37px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        background: #003f77;
        position: relative;
        z-index: 10;
        margin: 0 auto;
    }
    #contents .secMerit .boxTechList{
        margin-top: 30px;
    }
    #contents .secMerit .itemTech::after{
        width: 100%;
        height: 1px;
        left: 0;
        top: 18px;
    }
    #contents .secMerit .boxRecommendList{
        margin-top: 21px;
    }
    #contents .secMerit .itemRecommend{
        font-size: 14px;
        padding-left: 40px;
    }
    #contents .secMerit .itemRecommend:nth-child(n+2){
        margin-top: 6px;
    }
    #contents .secMerit .itemRecommend.lazyloaded::before{
        width: 15px;
        height: 12px;
        left: 20px;
    }
    #contents .secMerit .txtRecommend{
        font-size: 16px;
        margin-top: 15px;
    }
    #contents .secMerit .txtRecommendIn{
        font-weight: bold;
    }
    #contents .secMerit .txtRecommendIn{
        border-bottom-width: 2px;
    }
    #contents .secMerit .boxRecommendList::before{
        width: 39px;
        height: 66px;
        background-size: cover;
        top: -20px;
        right: 0;
    }
    #contents .secMerit .txtLocation{
        font-size: 12px;
        margin-top: 10px;
    }
    #contents .secMerit .itemTech:nth-child(n+2){
        margin-top: 33px;
    }
    #contents .secMerit .boxLocationList{
        margin-top: 20px;
    }
    #contents .secMerit .imgTech{
        margin-top: 30px;
    }
    #contents .secMerit .txtItemWorry + .txtItemPoint{
        margin-top: 7px;
    }
}
@media only screen and (max-width:359px){
    #contents .secMerit .iconPointMerit{
        width: 32px;
    }
    #contents .secMerit .titPointMerit{
        font-size: 15px;
    }
    #contents .secMerit .boxPointMerit.lazyloaded .boxTxtPointMerit::after{
        right: 0;
        top: 58px;
    }
    #contents .secMerit .boxTableExample td{
        padding: 8px 12px;
    }
    #contents .secMerit .txtPointUp{
        font-size: 14px;
    }
    #contents .secMerit .iconPointUp{
        left: calc(50% - 140px);
    }
    #contents .secMerit .boxRecommendList::before{
        right: 10px;
    }
    #contents .secMerit .txtItemPoint,
    #contents .secMerit .titItem02 + .txtItemPoint{
        font-size: 15px;
    }
}

.g-pgd#globalfooter{
    padding: 87px 0 260px;
}
@media only screen and (max-width:767px){
    .g-pgd#globalfooter{
        padding: 0 0 140px;
    }
}

/*-----------------------------------------------
    fixedBtn
-----------------------------------------------*/
#fixedBtn{
    width: 100%;
    height: 150px;
    position: fixed;
    right: 0;
    bottom: 0;
    transform: translateY(calc(100% + 10px));
    transition: transform 0.2s ease-out;
    z-index: 999;
}
#fixedBtn.jsShow{
    bottom: 0;
    transform: none;
    background: #1c1c1c;
    color: #fff;
}
#fixedBtn.jsShow::before{
    content: "";
    width: 700px;
    height: 180px;
    background: url(../img/bgFixedBtn.png) center top no-repeat;
    position: absolute;
    top: 0;
    left: calc(50% - 960px);
}
#fixedBtn .wrapper{
    width: 1370px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
#fixedBtn .img{
    width: 346px;
    position: absolute;
    top: -12px;
    left: calc(50% - 390px);
}
#fixedBtn .txt{
    width: 418px;
    margin: 36px 0 0 650px;
}
#fixedBtn .btn{
    margin-top: 39px;
}
@media only screen and (max-width:1420px){
    #fixedBtn .txt{
        margin: 0 0 0 47%;
    }
    #fixedBtn .btn{
        margin: 0 0 0 20px;
    }
    #fixedBtn .wrapper{
        height: 100%;
        align-items: center;
    }
}
@media only screen and (max-width:767px){
    #fixedBtn{
        width: 100%;
        right: 0;
        height: 73px;
        transform: translateY(calc(100% + 10px));
    }
    #fixedBtn.jsShow{
        background: url(../img/bgFixedBtn_sp.gif) center top / cover no-repeat;
    }
    #fixedBtn.jsShow::before{
        display: none;
    }
    #fixedBtn .wrapper{
        width: 96%;
        max-width: 414px;
    }
    #fixedBtn .img{
        width: 107px;
        height: 78px;
        left: calc(50% - 207px);
        top: auto;
        bottom: 0;
    }
    #fixedBtn .txt{
        width: 148px;
        margin-left: 108px;
        flex-grow: 2;
    }
    #fixedBtn .btn{
        width: 85px;
        margin-left: 15px;
        flex-grow: 1;
    }
}
@media only screen and (max-width:414px){
    #fixedBtn .wrapper{
        margin: 0;
    }
    #fixedBtn .img{
        left: 0;
    }
}