@charset "UTF-8";
/* ==========================================================================
   Reset
   ========================================================================== */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
  margin: 0;padding: 0;border: 0;outline: 0;font-size: 100%;}
h1,h2,h3,h4,h5,h6 {font-weight: normal;}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section {display: block;}
[hidden] {
  display: none;
}
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
html,button,input,select,textarea {
  font-family: sans-serif;
  color: #222222;
}

body {
  font-family:'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', sans-serif;/*, arial, helvetica*/
  font-size: 62.5%;
  line-height: 1.8;
  font-weight:200;
  letter-spacing:0;
  font-feature-settings:"palt";
  -webkit-text-size-adjust:100%;
  color:#221815;
  background-color:#fff;
}
img {
  border: 0;
	width:100%;
	max-width:100%;
	height:auto;
  -ms-interpolation-mode: bicubic;
	vertical-align:bottom;
}
img[src$=".svg"]{
  width:100%;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td {
  vertical-align: top;
}
ul,ol {
  list-style: none;
  list-style-image: none;
  margin: 0;
  padding: 0;
}
.is_pc{display:block!important;}
.is_sp{display:none!important;}
@media screen and (max-width:768px){
	.is_pc{display:none!important;}
	.is_sp{display:block!important;}
}

/* -------------- link -------------- */
a {display:block;outline: none;-webkit-tap-highlight-color: transparent;}
a img {outline:none;}
a:focus, *:focus {outline:none;}
a:link{text-decoration:none;}
a:visited{text-decoration:none;}
a:active{text-decoration:none;}
a:hover{
  text-decoration:none;
  opacity:0.6;
  transition:0.3s;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

p.red,span.red {
  color:#ff0000;
}
p.bold, span.bold {
  font-weight: bold;
}
p.sup, span.sup {
  font-size: 70%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

/*----------header----------*/
.header{
  position:fixed;
  width:100%;
  height:100px;
  top:0;
  left:0;
  background-color:#fff;
  box-shadow:0px 0px 5px rgba(0,0,0,0.2);
  z-index:1000;
}
.header__inner {
  position:relative;
  margin:0 auto;
  height:100px;
  width:100%;
  max-width:1600px;
}
.header__logo{
  margin-left:50px;
  padding-top:31px;
  width:151px;
  height:auto;
}
.header__txt{
  position:absolute;
  width:441px;
  height:auto;
  left:250px;
  top:50%;
  transform:translate(0,-50%);
  z-index:2;
}
.header__menu{
  position:absolute;
  width:45px;
  height:auto;
  right:50px;
  top:50%;
  transform:translate(0,-50%);
  background-color:#fff;
  z-index:2;
}
@media screen and (max-width:768px){
  .header{
    height:16vw;
  }
  .header__inner {
    height:16vw;
  }
  .header__logo{
    margin-left:4vw;
    padding-top:5.6vw;
    width:16.4vw;
  }
  .header__txt{
    width:46.4vw;
    left:26.4vw;
  }
  .header__menu{
    width:11.466vw;
    height:16vw;
    right:0;
    background-color:#e1e5e8;
  }
  .header__menu img{
    position:absolute;
    width:5.7333vw;
    height:auto;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:2;
  }
}

/*-------------navigation--------------*/
.navigation{
  opacity: 0;
  overflow: scroll;
  position: fixed;
  font-feature-settings:normal;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  background-color:#e1e5e8;
  transition: opacity 300ms ease, z-index 300ms ease;
}
.navigation_menu_close{
  position: absolute;
  width:68px;
  height:auto;
  right:20px;
  top:20px;
  display: block;
  text-align: center;
}
.navigation_image{
  margin:0 auto;
  padding:50px 0;
  width:500px;
  height:auto;
}
.navigation.is-open {
  opacity:1;
  z-index:9999;
}
.navigation_list {
  width:100%;
  text-align:center;
  border-bottom:2px solid #fff;
}
.navigation_list li {
  position:relative;
  display:table;
  width:100%;
  border-top:2px solid #fff;
}
.navigation_list a {
  position:relative;
  padding:25px 20px;
  display:block;
  color:#717071;
  font-size:20px;
  line-height:34px;
}
.navigation_list a.menu_icon::after {
  content:'';
  position:absolute;
  width:25px;
  height:22px;
  top:50%;
  left:50%;
  transform:translate(120px,-50%);
  background-image:url("../imgs/common/icon_window_b.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
  z-index:2;
}
@media screen and (max-width:768px){
  .navigation_menu_close{
    top:3.9vw;
    right:3.9vw;
    width:10.625vw;
  }
  .navigation_image{
    padding:6vw 0;
    width:65vw;
    height:auto;
  }
  .navigation_list {
    border-bottom:1px solid #fff;
  }
  .navigation_list li{
    border-top:1px solid #fff;
  }
  .navigation_list a {
    padding:3.333vw 2.666vw;
    font-size:1rem;
    line-height:1.4rem;
  }
  .navigation_list a.menu_icon::after {
    width:3.333vw;
    height:2.933vw;
    top:50%;
    left:50%;
    transform:translate(24vw,-50%);
  }
}

/*-------------main--------------*/
main {
  display: block;
  width:100%;
  padding-top:100px;
  box-sizing:border-box;
  border-bottom:1px solid #d5d5d5;
  box-shadow:0px 0px 5px rgba(0,0,0,0.2);
}
@media screen and (max-width:768px){
  main {
    padding-top:16vw;
  }
}

/*main_kv*/
.main_kv{
  position:relative;
  width:100%;
  height:880px;
  background-image:url("../imgs/index/cp_main_kv.jpg");
  background-repeat:no-repeat;
  background-position:top 0 center;
  background-size:cover;
}
.main_kv__bnr{
  position:absolute;
  width:960px;
  height:auto;
  left:50%;
  transform:translate(-50%,0);
  bottom:-145px;
  z-index:2;
}
@media screen and (max-width:768px){
  .main_kv{
    height:117.3333vw;
    background-image:url("../imgs/index/cp_main_kv_sp.jpg");
  }
  .main_kv__bnr{
    width:90.6666vw;
    bottom:-12.666vw;
  }
}

/*present*/
.present{
  position:relative;
  width:100%;
  background-image:url("../imgs/index/cp_main_bg.jpg");
  background-repeat:no-repeat;
  background-position:top 0 center;
  background-size:cover;
}
.present_innr{
  position:relative;
  margin:0 auto;
  padding-top:180px;
  padding-bottom:80px;
  width:100%;
  max-width:960px;
}
.cp_main_txt1{
  margin:0 auto;
  padding-bottom:43px;
  width:773px;
  height:auto;
}
.cp_main_txt2{
  margin:0 auto;
  padding-bottom:60px;
  width:818px;
  height:auto;
}
@media screen and (max-width:768px){
  .present{
    background-image:url("../imgs/index/cp_main_bg_sp.jpg");
  }
  .present_innr{
    padding-top:18.666vw;
    padding-bottom:9.066vw;
  }
  .cp_main_txt1{
    padding-bottom:5.733vw;
    width:66.266vw;
    height:auto;
  }
  .cp_main_txt2{
    padding-bottom:6.4vw;
    width:85.333vw;
    height:auto;
  }
}

/*present_conts*/
.present_conts{
  position:relative;
  margin:0 auto 66px auto;
  width:900px;
  background-color:#fff;
  box-shadow:0px 0px 10px rgba(0,0,0,0.2);
}
.present_conts.icon_plus::after{
  content:'';
  position:absolute;
  width:30px;
  height:30px;
  left:50%;
  bottom:-62px;
  transform:translate(0,-50%);
  background-image:url("../imgs/index/icon_plus.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
  z-index:2;
}
.present_conts.present_conts3{
  margin-bottom:0;
}
.icon_present{
  position:absolute;
  width:80px;
  height:auto;
  top:-35px;
  left:-17px;
  z-index:2;
}
.present_list{
  margin:0 auto;
  padding:30px;
  display:flex;
  justify-content:space-between;
}
.present_list li{
  list-style:none;
  vertical-align:top;
}
.present_detail{
  margin-left:20px;
  margin-right:35px;
  width:370px;
  text-align:left;
}
.present_ttl{
  width:370px;
  height:auto;
}
.present_ttl.present_ttl1{
  margin-top:20px;
  margin-bottom:33px;
}
.present_txt1{
  margin-bottom:17px;
  width:370px;
  height:auto;
}
.present_txt2{
  width:370px;
  height:auto;
}
.present_img{
  width:412px;
  height:auto;
}
.present_img.present_img2{
  margin-top:30px;
}
.present_note{
  margin:0 auto;
  width:900px;
  height:auto;
}
.present_note_list{
  margin-top:42px;
  display:block;
}
.present_note_list li{
  display:block;
  list-style:none;
  vertical-align:top;
  text-align:left;
  font-size:12px;
  line-height:20px;
}
@media screen and (max-width:768px){
  .present_conts{
    margin:0 auto 14.8vw auto;
    width:90.666vw;
  }
  .present_conts.icon_plus::after{
    width:6vw;
    height:6vw;
    bottom:-13.444vw;
  }
  .icon_present{
    width:12.8vw;
    height:auto;
    top:-4.666vw;
    left:-2.133vw;
  }
  .present_list{
    padding:5vw 4vw;
    flex-wrap:wrap-reverse;
    justify-content:start;
  }
  .present_list li{
    margin:0 auto; 
  }
  .present_detail{
    margin-left:auto;
    margin-right:auto;
    width:81.066vw;
  }
  .present_ttl{
    margin:0 auto;
    width:81.066vw;
    height:auto;
  }
  .present_ttl.present_ttl1{
    margin-top:0;
    margin-bottom:4.666vw;
  }
  .present_txt1{
    margin:0 auto;
    margin-bottom:2.66vw;
    width:81.066vw;
    height:auto;
  }
  .present_txt2{
    margin:0 auto;
    width:81.066vw;
    height:auto;
  }
  .present_img{
    margin:0 auto;
    padding-bottom:8vw;
    width:66vw;
    height:auto;
  }
  .present_note{
    width:90.666vw;
  }
  .present_note_list{
    margin-top:4.666vw;
  }
  .present_note_list li{
    font-size:0.8rem;
    line-height:1.2rem;
  }
}

/*present_coupon*/
.present_coupon{
  position:relative;
  margin:52px auto 37px auto;
  width:900px;
}
.rstyle_txt1{
  width:900px;
}
.rstyle_txt2{
  margin-top:18px;
  margin-bottom:12px;
  width:900px;
}
.rstyle_present_txt{
  margin:0 auto;
  width:791px;
  height:auto;
}
.rstyle_present_note{
  margin-top:6px;
  width:100%;
  text-align:right;
  font-size:14px;
  line-height:22px;
}
.rstyle_present_list{
  margin-top:12px;
  padding:14px 0 11px 0;
  display:flex;
  justify-content:space-between;
  box-sizing:border-box;
  border-top:2px solid #010101;
  border-bottom:2px solid #010101;
}
.rstyle_present_list li{
  list-style:none;
  vertical-align:top;
}
.rstyle_support_detail{
  width:460px;
}
.rstyle_support_ttl{
  margin-top:6px;
  margin-bottom:13px;
  width:387px;
  height:auto;
}
.rstyle_support_txt{
  text-align:left;
  font-size:15px;
  line-height:23px;
}
.rstyle_support_img{
  width:416px;
  height:auto;
}
.btn_rstyle{
  margin:0 auto;
  width:550px;
  height:auto;
}
@media screen and (max-width:768px){
  .present_coupon{
    position:relative;
    margin:8.666vw auto 5.333vw auto;
    width:90.666vw;
  }
  .rstyle_txt1{
    width:90.666vw;
  }
  .rstyle_txt2{
    margin-top:2.666vw;
    margin-bottom:1.733vw;
    width:90.666vw;
  }
  .rstyle_present_txt{
    width:70.9333vw;
    height:auto;
  }
  .rstyle_present_note{
    margin-top:1.666vw;
    text-align:center;
    font-size:0.6rem;
    line-height:1rem;
  }
  .rstyle_present_list{
    margin-top:4vw;
    padding:2.933vw 0 2vw 0;
    flex-wrap:wrap;
    justify-content:start;
  }
  .rstyle_present_list li{
    list-style:none;
    vertical-align:top;
  }
  .rstyle_support_detail{
    width:90.666vw;
  }
  .rstyle_support_ttl{
    margin:0 auto 2.666vw auto;
    width:70.666vw;
    height:auto;
  }
  .rstyle_support_txt{
    padding-bottom:2.666vw;
    font-size:0.8rem;
    line-height:1.4rem;
  }
  .rstyle_support_img{
    width:90.666vw;
    height:auto;
  }
  .btn_rstyle{
    width:74vw;
    height:auto;
  }
}

/*present__btn*/
.present__btn{
  margin:0 auto;
  text-align:center;
  width:100%;
}
.present__btn_innr{
  padding:120px 0;
}
.present__btn_txt{
  padding-bottom:20px;
  font-size:23px;
  line-height:34px;
  font-weight:bold;
}
.btn_campaign{
  margin:0 auto 50px auto;
  width:446px;
  height:auto;
}
.btn_present{
  margin:0 auto;
  width:446px;
  height:auto;
}
@media screen and (max-width:768px){
  .present__btn_innr{
    padding:12.666vw 0;
  }
  .present__btn_txt{
    padding-bottom:3.333vw;
    font-size:0.9rem;
    line-height:1.4rem;
  }
  .btn_campaign{
    margin:0 auto 8.533vw auto;
    width:59.466vw;
    height:auto;
  }
  .btn_present{
    width:59.466vw;
    height:auto;
  }
}

/*outline*/
.outline{
  margin:0 auto;
  padding:0;
  width:960px;
  color:#000;
  background-color:#e1e5e8;
}
.outline__inner{
  padding:55px 60px;
}
.outline__ttl{
  margin-bottom:60px;
  text-align:center;
  font-size:28px;
  line-height:32px;
  font-weight:bold;
}
.outline__block{
  margin-bottom:50px;
  text-align:left;
}
.outline__block:last-child{
  margin-bottom:0;
}
.outline__subttl{
  position:relative;
  margin-bottom:10px;
  padding-bottom:8px;
  width:100%;
  font-size:20px;
  line-height:30px;
  font-weight:bold;
  border-bottom:2px solid #acaeb0;
}
.outline__txt{
  font-size:14px;
  line-height:24px;
  text-align:left;
}
.outline__list{
  list-style:none;
}
.outline__list li{
  display:block;
  margin-bottom:20px;
  font-size:14px;
  line-height:24px;
  text-align:left;
}
.outline__list li:last-child{
  margin-bottom:0;
}
@media screen and (max-width:768px){
  .outline{
    width:100%;
  }
  .outline__inner{
    padding:8vw 6.666vw;
  }
  .outline__ttl{
    margin-bottom:9.333vw;
    font-size:1.4rem;
    line-height:2rem;
  }
  .outline__block{
    margin-bottom:8vw;
  }
  .outline__subttl{
    margin-bottom:1.866vw;
    padding-bottom:1.8vw;
    font-size:1rem;
    line-height:1.4rem;
    border-bottom:1px solid #acaeb0;
  }
  .outline__txt{
    font-size:0.8rem;
    line-height:1.2rem;
  }
  .outline__list li{
    margin-bottom:4.666vw;
    font-size:0.8rem;
    line-height:1.2rem;
  }
}

/*products_delicia*/
.products_delicia{
  margin:0 auto;
  width:960px;
}
.products_delicia_inner{
  position:relative;
  height:787px;
  background-image:url("../imgs/common/prod_delicia_bg.jpg");
  background-repeat:no-repeat;
  background-position:top 0 center;
  background-size:cover;
}
.products_delicia_inner::before{
  content:'';
  position:absolute;
  width:100%;
  height:6px;
  top:0;
  left:0;
  background-color:#d70a1e;
  z-index:2;
}
.products_delicia_ttl{
  margin:0 auto;
  padding:42px 0 17px 0;
  width:185px;
  height:auto;
}
.products_delicia_txt{
  margin:0 auto;
  padding-bottom:16px;
  width:544px;
  height:auto;
}
.products_delicia_btn{
  margin:0 auto;
  width:400px;
  height:auto;
}
@media screen and (max-width:768px){
  .products_delicia{
    width:100%;
  }
  .products_delicia_inner{
    height:90.666vw;
    background-image:url("../imgs/common/prod_delicia_bg_sp.jpg");
  }
  .products_delicia_inner::before{
    height:0.9333vw;
  }
  .products_delicia_ttl{
    padding:2.9333vw 0 2.666vw 0;
    width:22.666vw;
    height:auto;
  }
  .products_delicia_txt{
    padding-bottom:2.133vw;
    width:72.4vw;
    height:auto;
  }
  .products_delicia_btn{
    width:48vw;
    height:auto;
  }
}

/*mobile_app*/
.mobile_app{
  width:100%;
  background-color:#898989;
}
.mobile_app_inner{
  margin:0 auto;
  padding:27px 0 19px 0;
  width:100%;
  max-width:960px;
}
@media screen and (max-width:768px){
  .mobile_app_inner{
    padding:5.066vw 0 5.6vw 0;
    width:77.3333vw;
  }
}

/*backtotop_btn*/
.backtotop_btn{
  margin:0 auto;
  padding:60px 0 55px 0;
  width:55px;
  height:auto;
}
@media screen and (max-width:768px){
  .backtotop_btn{
    padding:5.866vw 0 5.0666vw 0;
    width:7.334vw;
  }
}

/*footer*/
.footer{
  width:100%;
}
/*footer_primary*/
.footer_primary{
  position:relative;
  width:960px;
  margin:0 auto;
  padding:40px 0 50px;
}
.footer_contact{
  display:table;
  width:660px;
  margin:0 auto;
}
.footer_contact_heading{
  display: table-cell;
  border-right:1px #251e1c solid;
  vertical-align: middle;
  text-align: left;
  width:280px;
  font-size:14px;
  font-weight: bold;
  padding: 0;
}
.footer_contact_body{
  display: table-cell;
  width: 900px;
  text-align: left;
}
.footer_contact_body p{
  position: relative;
  font-size: 14px;
  margin-left: 30px;
  margin-bottom: 10px;
}
.footer_contact_body p span{
  display: inline-block;
}
.footer_contact_text{
  width:190px;
  height: auto;
  font-weight: bold;
  padding-bottom: 0px;
  position: relative;
  top: -7px;
}
.footer_contact_tel{
  font-size:36px;
  line-height:40px;
}
.footer_contact_tel a{
  color:#d70a1e;
  font-weight:bold;
  text-decoration:none;
  pointer-events:none;
}
.footer_contact_list{
  margin-left:28px;
  display:block;
  list-style:none;
}
.footer_contact_list li{
  display:block;
  text-align:left;
  font-size:13px;
  vertical-align:top;
}
.footer_contact_list .left{
  display:inline-block;
  vertical-align:top;
}
.footer_contact_list .right{
  display:inline-block;
  vertical-align:top;
}
@media screen and (max-width:768px){
  .footer_primary{
    width:90vw;
    padding:4.933vw 0 5.333vw;
  }
  .footer_contact{
    width:90vw;
    text-align:center;
  }
  .footer_contact_heading{
    margin:0 auto;
    display:inline-block;
    border-right:none;
    text-align: center;
    width: auto;
    font-size:0.9rem;
    padding-bottom:2vw;
    margin-bottom:2.666vw;
    border-bottom:1px solid #251e1c;
  }
  .footer_contact_body{
    display:block;
    width: 90vw;
    text-align:center;
  }
  .footer_contact_body p{
    position: relative;
    font-size:0.9rem;
    margin-left:0;
    margin-bottom:3.333vw;
  }
  .footer_contact_body p span{
    display: inline-block;
    margin-bottom:2vw;
  }
  .footer_contact_text{
    width:90vw;
    height: auto;
    padding-bottom: 0px;
    top:0;
  }
  .footer_contact_tel{
    font-size:2rem;
    line-height:2.5rem;
  }
  .footer_contact_tel a{
    pointer-events:auto;
  }
  .footer_contact_list{
    margin-left:0;
  }
  .footer_contact_list li{
    text-align:left;
    font-size:0.75rem;
  }
}

/*footer_secondary*/
.footer_secondary{
  padding:40px 0 25px;
  background-color:#000;
  color:#fff;
}
.footer_privacy{
  margin:0 auto 50px auto;
  width:850px;
}
.footer_privacy dt{
  margin-bottom:12px;
  font-size:18px;
  line-height:30px;
  font-weight:bold;
  text-align:center;
}
.footer_privacy dd{
  font-size:12px;
  line-height:20px;
  text-align:center;
}
/*footer_navi*/
.footer_navi{
  margin:0 auto;
  display:flex;
  width:400px;
}
.footer_navi li{
  position:relative;
  /*margin-right:40px;*/
  margin:0 auto;
  padding-right:20px;
  font-size:12px;
  line-height:20px;
}
.footer_navi li:last-child{
  margin-right:0;
}
.footer_navi li::after{
  content:'';
  display:block;
  position:absolute;
  top:4px;
  right:0;
  width:14px;
  height:12px;
  background:url("../imgs/common/icon_window.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size: 14px 12px;
}
.footer_navi li a{
  color:#fff;
  text-decoration:none;
}
.footer_navi li a:hover{
  text-decoration:underline!important;
}
.footer_copyright{
  padding:45px 0 0 0;
  text-align:center;
  font-size:12px;
  line-height:20px;
}
@media screen and (max-width:768px){
  .footer_secondary{
    padding:7.333vw 0;
  }
  .footer_privacy{
    margin:0 auto 8vw auto;
    width:90vw;
  }
  .footer_privacy dt{
    margin-bottom:12px;
    font-size:0.8rem;
    line-height:1.2rem;
  }
  .footer_privacy dd{
    font-size:0.6rem;
    line-height:1.1rem;
  }
  .footer_navi{
    width:90vw;
  }
  .footer_navi li{
    margin-right:5vw;
    padding-right:3vw;
    font-size:0.6rem;
    line-height:1rem;
  }
  .footer_navi li::after{
    top:50%;
    right:0;
    width:2vw;
    height:1.8vw;
    transform: translate(0,-50%);
    background-size:cover;
  }
  .footer_copyright{
    padding:8vw 0 0 0;
    font-size:0.6rem;
    line-height:1.1rem;
  }
}

