
@charset "UTF-8";

/*= top FV============================================*/
.fv {position: relative;} .fv img { width: 100%;} p{letter-spacing:1.6;}
.slideclip { width: 1920px; margin: 0 auto; overflow: hidden; padding-left: 0px;}
.sp_br{display: none;}
/* SCROLL */
.pleasescroll { position: absolute; display: none; width: 140px; margin: auto; left:0; right:0;}
.pleasescroll p { z-index: 999;
	position: absolute; margin: auto;
	left:0; right:0; top: 16px;
	text-align: center; vertical-align: middle;
	font-size:100%; letter-spacing: 1px;
	font-weight: 400; font-family: 'Montserrat', sans-serif; color: #333;
}
.scrollarrow {margin: 0 auto 50px; width: 140px;  height: 70px; position: relative;}
.scrollarrow:before {
    border-top: 50px solid #333;
    border-left: 70px solid transparent; border-right: 70px solid transparent;
    content: ""; position: absolute; bottom: -1px;
    left: 50%; margin-left: -70px;
}
.scrollarrow:after {
    border-top: 50px solid #fff; border-left: 70px solid transparent; border-right: 70px solid transparent;
    content: ""; position: absolute;  bottom: 0; left: 50%; margin-left: -70px;}

/*= top contents=*/
/*========================================================*/
.text {text-align: justify; font-size: 14px; line-height: 1.86; color: #333;
    letter-spacing: 0.6px;
}
.topttl {
    text-align: center; color: #ee228c;
    letter-spacing: 1.5px; font-size: 62px; position: relative;
    z-index: 15; font-family: 'Montserrat', sans-serif; font-weight: 700;
}
/*201608　変更*/
.andft { font-size: 86%; font-family: 'Montserrat', sans-serif; font-weight: 700;}
.promotions{ width: 960px; margin: 0 auto; text-align: center; position: relative;}
.promobox { width: 218px; display: inline-block; vertical-align: top; margin: 0 0 0 22px;}
.circle a {
    display: block; font-family: 'Montserrat', sans-serif;
    font-weight: 800;  font-size: 40px;
    letter-spacing: 3px; line-height: 1.7;
    color: #333;  width: 180px; height: 180px;
    vertical-align: middle; padding: 30% 0 0;
    margin: 0 auto; position: relative; border: solid 1px #333;  border-radius: 100px;
}
.circle a:hover{background: #333; color: #fff; cursor: pointer;}
.circle a::before,
.circle a::after {position: absolute; z-index: -1; display: block; content: '';}
.circle a,
.circle a::before,
.circle a::after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box;
	box-sizing: border-box; -webkit-transition: all .6s; transition: all .6s;}
.promobox:first-child{margin: 0;} .promobox img {width: 100%;}
.promobox .cap { font-size: 22px; font-weight: bold;
    letter-spacing: 0.2px; margin: 7% 0 5.5%; line-height: 1.45;}
.topbtn {
    display: inline-block; width: 500px;  margin: 0 auto;
    font-size: 32px; font-family: 'Montserrat', sans-serif;
    letter-spacing: 1.8px;  border-radius: 5px;
    text-align: center;  vertical-align: midle;
    line-height: 2;  height: 65px;
    background: none; border:solid 2px #ee228c; color: #ee228c;
}
.topbtn span, .newstext span{font-family: 'Montserrat', sans-serif; font-weight: 400;}
.topbtn:hover{ background: #ee228c; color: #fff;}
.topbtn::before,
.topbtn::after { position: absolute; z-index: -1; display: block; content: '';}
.topbtn,.topbtn::before,
.topbtn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;box-sizing: border-box;
	-webkit-transition: all .6s;transition: all .6s;
}
.webpromotion { text-align: center; margin: 0;}

/*202204 変更*/
.topttl.promo {vertical-align: middle; width: 615px; margin: 64px auto 66px;}
/*202207 変更*/
.promobox_bnr { margin: 65px auto 15px; width: 640px; visibility: hidden;}
.promobox_bnr a img{width: 100%;} .promobox_bnr a {opacity: 0;}
/*.promobox_bnr a {width: 520px; display: block; margin: 0 auto;}*/
.promobox_bnr.fix a {animation: bnranm 1.6s both;}
.promobox_bnr a img{transition: all .3s;}
.promobox_bnr a img:hover{filter:contrast(110%);}
/*.promobox_bnr p{margin: 15px 0; color: #666; font-size: 17px; font-weight: 700; letter-spacing: 0.5px;}*/
.promobox_bnr p{margin: 15px 0; color: #CC2F7C; font-size: 17px; font-weight: 800; letter-spacing: 0.5px;}
@keyframes bnranm {
    0%{opacity:0} 100%{opacity:1}
}

/*= top works=*/
/*========================================================*/
.worksall { background: #f0f0f0; margin: 100px 0 0;
  padding: 0 0 85px; text-align: center; overflow: hidden;}
.workswrap {width: 960px; margin: 0 auto; position: relative;}d
.triangle { text-align: center; top: 0; z-index: 0;}
.bg {
    display: inline-block; position: absolute; width: 0; height: 0;
    border-top: 200px solid #f5f5f5;
    border-right: 400px solid transparent;
    border-bottom: 200px solid transparent;
    border-left: 400px solid transparent;
    text-align: center; left: 8%; top: 0;
}

.minimam {
    display: inline-block; position: absolute; width: 0; height: 0;
    border-top: 200px solid #fbfbfb;
    border-right: 100px solid transparent;
    border-bottom: 200px solid transparent;
    border-left: 100px solid transparent;
    text-align: center; left: 39.2%; top: 0;
}
.worksall .topttl {padding: 70px 0 0;}
.works_list { width: 960px; margin: 6% auto 4%;}
.workbox {
    display: inline-block; margin: 0 0 0.6% 0.1%; width: 315px;
    overflow: hidden; position: relative; vertical-align: middle;
}
.workpull {
    position: absolute; width: 100%; height: 100%; background: rgba(0,0,0,0.6);
    top: 0; color: #fff; margin: 0; padding: 0; vertical-align: middle;
    text-align: center; display: block; display: none;
}
.workpull a {display: table; height: 100%; vertical-align: middle; text-align: center; margin: 0 auto;}
.worknm {
    vertical-align: middle;
    text-align: center; display: inline; font-size: 14px;
    line-height: 1.58; letter-spacing: 0.4px; position: relative;
    top: 0; left: 0; width: 80%; display: table-cell; margin: 0 auto;
}
.worknm.var2{top: 21%;} .hv {font-size: 22px; font-weight: bold;}

/*= power works=*/
/*========================================================*/
.power {position: relative;}
.ourpower { position: relative; padding: 85px 0 80px; width: 960px; margin: 0 auto;}
.minttl {
    width: 240px; margin: 3% auto 0; color: #333;
    text-align: center; font-size: 18px; letter-spacing: 2px;
    border-top: solid 1px #aaa; position: relative; z-index: 15;
}
.minttl span { position: absolute; left: 21%; top: -8px; background: #fefefe; width: 60%;}
.poweritem {
    width: 280px; display: inline-block;
    vertical-align: top; text-align: center;
    margin: 0 0 0 52px; position: relative; z-index: 15;
}
.poweritem:first-child{margin: 0;}
.power_list {text-align: center;  margin: 65px 0 0;}
.pwimg { color: #aaa; width: 185px; vertical-align: middle;
    line-height: 8; padding: 0 0 3%; margin: 0 auto;}
.pwimg img{width: 100%;} .pw_ttl span {display: block;}
.pw_ttl {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700; font-size: 28px; letter-spacing: 1.0px; line-height: 1.3; color: #ee228c;
}
.pw_ttl span {display: block;  font-size: 15px; font-weight: bold; letter-spacing: 1.0px; margin: 3% 0 5%; color: #333;}

/*= gr8form =*/
/*========================================================*/
.response {
    width: 100%; height: 450px; transition: all .3s;
    position: relative; overflow: hidden; background: #eaeff5;
}
.responsive{
    margin: 0 auto; width: 100%; position: relative;
    background: url(/images/top/gr8formview2.jpg) no-repeat;
    background-size: 100%; background-size: 100%;
}
.gr8form_cap_pink {text-align: center;}
.gr8form_area_inner {
    position: absolute; transition: all .3s; top: 50.5%; right: 7%;
    transform: translateY(-50%);
    width: 46%; max-width: 450px; min-width: 450px;
}
.gr8form_promo_logo {width: 85%; max-width: 360px; margin: 8px auto 18px;}
.gr8form_cap_pink p { font-size: 16px; color: #db2a82; display: inline-block;}
.gr8form_cap_pink .maxtxt {
    font-size: 1.16em; color: #fff; background: #db2a82;
    padding: 5px 8px 5.5px; margin: 6px 4px; display: inline-block;
}
.gr8form_area .price{width: 50%; margin: 15px auto;}
    
@media screen and (min-width: 1600px) { .gr8form_area_inner{right: 20%;} .responsive{background-size: 95%;} }
@media screen and (max-width: 1280px) { .gr8form_promo_logo{width: 76%;}}
@media screen and (max-width: 980px) {.response {width: 980px; margin: 0 auto;} .responsive{background-size: 105%;}}
_:-ms-input-placeholder, :root .gr8form_cap_pink .maxtxt {
 padding-bottom: 0;  margin: 7px;
}
.gr8form_list {display: flex; flex-wrap: wrap; justify-content: center; margin: 12px 0 0;}
.gr8form_list li{ width: 100px; padding: 5px 0; font-weight: 600;
    line-height: 1.32; margin: 4px; border-radius: 15px; text-align: center;
    color: #fff; font-size: 12px; transition: all 0.3s ease 0s;
}
@media screen and (min-width: 1600px) {.responsive{background: url(/images/top/gr8formview3.jpg) no-repeat; background-size: 85%; background-position: 12%; }}

/*= gr8form =*/
/*========================================================*/
.gr8_list_point {
    color: rgb(255, 255, 255); border-width: 2px;  border-style: solid; border-color: rgb(157, 184, 225); background: rgb(157, 184, 225);
}
.gr8_list_form {color: rgb(255, 255, 255); border-width: 2px;  border-style: solid; border-color: rgb(23, 170, 230); background: rgb(23, 170, 230);}
.gr8_list_receipt { color: rgb(255, 255, 255); border-width: 2px;  border-style: solid; border-color: rgb(224, 175, 40); background: rgb(224, 175, 40);}
.gr8_list_instant { color: rgb(255, 255, 255); border-width: 2px; border-style: solid; border-color: rgb(245, 151, 122); background: rgb(245, 151, 122);}
.gr8_list_present { color: rgb(255, 255, 255); border-width: 2px; border-style: solid; border-color: rgb(190, 218, 140); background: rgb(190, 218, 140);}
.gr8_list_friend {color: rgb(255, 255, 255); border-width: 2px; border-style: solid; border-color: rgb(249, 145, 158); background: rgb(249, 145, 158);}
.gr8_list_stamp {color: rgb(255, 255, 255); border-width: 2px; border-style: solid; border-color: rgb(210, 183, 240); background: rgb(210, 183, 240);}
.gr8_list_contest {color: rgb(255, 255, 255); border-width: 2px;  border-style: solid;  border-color: rgb(151, 211, 195); background: rgb(151, 211, 195);}

/*= IE 11 , 10=========================================*/

/*= news=========================================*/
.newswrap {width: 950px; margin: 70px auto 80px;}
.newstext {border-bottom: solid 1px #d5d2d2; padding: 2% 0 1.8%;}
.news {margin: 35px 0 100px; min-height: 500px;}
.type { width: 105px; text-align: center;
    border-radius: 10px; line-height: 1.5; font-size: 13px;
    color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 400;
    letter-spacing: 2px; float: left; margin: 0 3% 0 0;}
.type.info {background: #333;}
.type.news { background: #888; min-height: auto;}
.type.release {background: #e94299;}
.deta {color: #888; font-size: 12px; line-height: 1.65; float: left;  margin: 0 3% 0 0;}
.box { color: #333; float: left; font-size: 15px; line-height: 1.68;  width: 720px; letter-spacing: 1.2px; margin: -0.2% 0 0;}
.newsbtn {
    display: block; width: 500px; height: 65px;
    margin: 0 auto; margin-top: 6%; font-size: 32px; font-family: 'Montserrat', sans-serif;
    letter-spacing: 1.8px; border-radius: 5px; text-align: center; vertical-align: midle; line-height: 2;
    border:solid 1px #333;  background: #fff; color: #333;
}
.newsbtn span{font-family: 'Montserrat', sans-serif;}
.newsbtn:hover{background: #333; color: #fff; }
.newsbtn::before, .newsbtn::after { position: absolute; z-index: -1; display: block; content: '';}
.newsbtn, .newsbtn::before, .newsbtn::after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; transition: all .6s;}

/*= スライド =*/
/*========================================================*/

.slide {width: 100%; height: 450px; /*201608変更*/
  position: relative;  overflow: hidden;}
.content-slider li img{width: 100%;}
.lSAction > .lSPrev {z-index: 99;}
.lSAction > .lSNext { z-index: 99;}
header {z-index: 999;}
/*** ページナビ ***/ .lSPager {display: none;}
/***キャプション   201608変更***/
.content-slider p {
    display: block; width: 100%; height: auto; position: absolute;
    bottom: 0; padding: 16px 24px; display: none; margin: 0;
    color: #fff; line-height: 1.46; font-size: 15px;
}
.content-slider .ttl{ font-size: 22px; color: #fff; padding: 0 0 0.5%;  display: block; font-weight: bold; letter-spacing: 2px;}
.content-slider .active+li p { display: block; }
/*****白黒****/
.content-slider li {position:relative; display:block;}
.content-slider li { opacity: 0.7; } .content-slider .active+li { opacity: 0.95; }
.content-slider .active+li img.BWFilter, .content-slider .active+li canvas.BWfade { visibility:hidden; }
.lslide img {vertical-align: top;}

/*= サイズ幅調整 　スライダー=*/
/*========================================================*/
.slide-in{position: relative; left: 0 ; margin: 0 auto !important;}
@media screen and (min-width: 1920px) {.slide-in{ left: 0 !important;}}
@media screen and (max-width: 1919px) {.slideclip{ width: 100%; }}
/*= 201608追加　=================================*/
#content-slider{height: 400px !important;}
.slide { width: 100%; height: 400px; position: relative;
    overflow: hidden; background: #dcdcdc; background: #111;}
.btn_res {font-size: 15px; margin-top: 20px;}
.btn_res a { display: block;  width: 48%;
    margin: 0; margin-top: 3%; font-family: 'Montserrat', sans-serif;
    border-radius: 5px; text-align: center; vertical-align: midle;
    line-height: 2.2; border: solid 1px #333; color: #424242;
}
.btn_res a:hover{background: #333; color: #fff; cursor: pointer;}
.btn_res a::before, .btn_res a::after {position: absolute; z-index: -1; display: block; content: '';}
.btn_res a,
.btn_res a::before,
.btn_res a::after {-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box; box-sizing: border-box;
	-webkit-transition: all .6s;transition: all .6s;
}
.content-slider p { display: block; width: 100%;
    height: auto; position: absolute; padding: 0 24px 10px;
    display: none; margin: 0; line-height: 3; font-size: 14px;
    bottom: -52px; text-align: center; color: #fff;}
/*=アニメーション=====================================*/
.wrapper {overflow: hidden;}
.circlebox {position: relative; height: 180px;}
.circle {position: absolute; left: 50%; margin-left: -90px;}
.promotions .cap, .promotions .text, .promotions .topbtn {opacity: 0;}
.pacemaker {opacity: 0;}
/*202204 変更*/
.circle.circle1 a { background: #fbe392;}
.circle.circle2 a { background: #abeab7;}
.circle.circle3 a { background: #d4eff9;}
.circle.circle4 a { background: #d2ccfc;}

