@charset "UTF-8";
/* CSS Document */

/* ---------------------------------------------------------
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%;font-weight: normal;vertical-align:baseline;background:transparent}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}

/* ---------------------------------------------------------
common
----------------------------------------------------------*/
* {
  box-sizing: border-box;
}
html,body {
  font-size: 62.5%;
  line-height: 1;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.show-pc {
  display: none;
}

/* ---------------------------------------------------------
#main
----------------------------------------------------------*/
#main {
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
}
#main .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.3);
}
#main .logo {
  position: absolute;
  top: 0;
  left: 50%;
  width: 43%;
  padding-top: 18%;
  margin-left: -21.5%;
  z-index: 2;
}
h1 {
  position: absolute;
  top: 0;
  left: 50%;
  width: 63.9%;
  background: url(../img/gift/title_sp.png) no-repeat center bottom;
  background-size: contain;
  padding-top: 74%;
  margin-left: -31.9%;
  z-index: 2;
}
h1 img {
  display: none;
}
#main .slider-box {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#main .slider-box ul,
#main .slider-box ul div {
  height: 100%;
}
#main .slider .slide {
  position: relative;
  width: 100%;
  overflow: hidden;
}
/*@media (max-width:767px) {*/

  #main .slider .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
/*}*/
.slick-slider {
  margin-bottom: 0;
}
.slick-dots {
  bottom: 15px;
}
.slick-dots li,
.slick-dots li button,
.slick-dots li button:before {
  content: '';
  width: 6px;
  height: 6px;
  padding: 0;
  box-sizing: border-box;
  border-radius: 3px;
}
.slick-dots li button {
  border: 1px solid #fff;
}
.slick-dots li.slick-active button {
  background-color: #fff;
}
#main .icon-prev,
#main .icon-next {
  position: absolute;
  top: 50%;
  width: 7.8%;
  margin-top: -3.9%;
}
#main .icon-prev {
  left: 15px;
}
#main .icon-next {
  right: 15px;
}
#main .txt1,
#main .txt2,
#main .txt3,
#main .txt4 {
  visibility: hidden;
  height: 0;
  overflow: hidden;
}

/* ---------------------------------------------------------
header
----------------------------------------------------------*/
header nav ul {
  border-bottom: 1px solid #dec0c1;
  box-shadow: 0px 3px 5px -6px #000000;
}
header ul:after {
  content: "";
  clear: both;
  display: block;
}
header nav li {
  float: left;
  width: 50%;
}
header nav li a {
  position: relative;
  display: block;
  width: 100%;
  height: 75px;
  text-align: center;
  background: url(../img/gift/special/icon_illust.png) no-repeat center 10px;
  background-size: 20px auto;  
  padding: 37px 0 0;
}
/* ---------------------------------------------------------
番号・サイズ変更
----------------------------------------------------------*/
header nav li:nth-child(1),
header nav li:nth-child(2) {
  border-bottom: 1px solid #eee;
}
header nav li img {
  width: 105px;
}
header nav li:nth-child(4) img {
  width: 100px;
}
header nav li a {
  background: url(../img/gift/special/icon_illust.png) no-repeat center 8px;
  background-size: 18px auto;
}
header nav li:nth-child(2) a {
  background: url(../img/gift/myself/icon_illust.png) no-repeat center 10px;
  background-size: 14px auto;  
}
header nav li:nth-child(4) a {
  background: url(../img/gift/women/icon_illust.png) no-repeat center 4px;
  background-size: 8px auto;  
}
header nav li:nth-child(3) a {
  background: url(../img/gift/men/icon_illust.png) no-repeat center 6px;
  background-size: 9px auto;  
}
header nav li a:before {
  content: '';
  position: absolute;
  top: 58px;
  left: 50%;
  width: 9px;
  height: 5px;
/* ---------------------------------------------------------
画像フォルダ名変更
----------------------------------------------------------*/
  background: url(../img/gift/special/icon_arrow.png) no-repeat;
  background-size: contain;
  margin-left: -4px;
}
header nav li:nth-child(2) a:before {
  background: url(../img/gift/myself/icon_arrow.png) no-repeat;
  background-size: contain;
}
header nav li:nth-child(3) a:before {
  background: url(../img/gift/men/icon_arrow.png) no-repeat;
  background-size: contain;
}
header nav li:nth-child(4) a:before {
  background: url(../img/gift/women/icon_arrow.png) no-repeat;
  background-size: contain;
}
header nav li:nth-child(odd) a:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 1px;
  height: 75px;
  background-color: #eee;
}

/* ---------------------------------------------------------
.sec
----------------------------------------------------------*/
.sec {
  background:
    url(../img/gift/women/bg_top.jpg) no-repeat center top,
    url(../img/gift/women/bg_bottom.jpg) no-repeat center bottom;
  background-size: contain;
  padding: 30px 0 0;
}
.sec h2 {
  width: 57.3%;
  background: url(../img/gift/women/icon_illust.png) no-repeat center top;
  background-size: 3.9% auto;
  text-align: center;
  padding-top: 12.1%;
  margin: 0 auto 11px;
}
.sec .subttl {
  position: relative;
  text-align: center;
  margin: 0 auto 23px;
}
.sec .subttl:before,
.sec .subttl:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 22px;
  height: 1px;
  background: url(../img/gift/women/line_subttl.png) no-repeat;
  background-size: 22px 1px;
  margin-left: -58px;
}
.sec .subttl:after {
  margin-left: 40px
}
.sec .subttl small {
  display: block;
  font-size: 1rem;
  font-style: italic;
  color: #666;
  text-align: center;
  letter-spacing: 0.1em;
  transform: scale(0.65);
  transform-origin: center;
}
.sec .lead {
  font-size: 1rem;
  line-height: 1.4;
  color: #b75f71;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
}
.sec .slider-box {
  position: relative;
  margin-bottom: 15px;
}
.sec .icon-prev,
.sec .icon-next {
  position: absolute;
  bottom: 32.8%;
  left: -3.9%;
  width: 7.8%;
}
.sec .icon-next {
  left: inherit;
  right: -3.9%;
}

.sec .slide {
  border: 1px solid #eee;
}
.sec .slick-dots li button {
  border: 1px solid #b76271;
}
.sec .slick-dots li.slick-active button {
  background-color: #b76271;
}

.sec .box1,
.sec .box2 {
  padding: 0 6.25% 10px;
}
.sec .box2 {
  border-top: 1px solid #eee;
  padding-top: 17px;
}
.sec h3 {
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
}
.sec .number {
  font-size: 1rem;
  color: #aaa;
  transform: scale(0.8);
  transform-origin: center;
  text-align: center;
  letter-spacing: 0.1em;
  padding: 10px 0 12px;
}
.sec .txt {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-bottom: 15px;
}
.sec .btn-buy a,
.sec .btn-detail a {
  display: block;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #b76271;
  padding: 12px 0;
  margin-bottom: 10px;
}
.sec .btn-detail a {
  color: #b76271;
  background-color: #fff;
  border: 1px solid #b76271;
}

/* ---------------------------------------------------------
#men
----------------------------------------------------------*/
#men {
  background:
    url(../img/gift/men/bg_top.jpg) no-repeat center top,
    url(../img/gift/men/bg_bottom.jpg) no-repeat center bottom;
  background-size: contain;
}
#men h2 {
  background: url(../img/gift/men/icon_illust.png) no-repeat center top;
  background-size: 4.9% auto;
}
#men .subttl:before,
#men .subttl:after {
  background: url(../img/gift/men/line_subttl.png) no-repeat;
  background-size: 22px 1px;
}
#men .lead {
  color: #6a92b0;
}
#men .btn-buy a,
#men .btn-detail a {
  background-color: #6a92b0;
}
#men .btn-detail a {
  color: #6a92b0;
  background-color: #fff;
  border: 1px solid #6a92b0;
}
#men .slick-dots li button {
  border: 1px solid #6a92b0;
}
#men .slick-dots li.slick-active button {
  background-color: #6a92b0;
}

/* ---------------------------------------------------------
#special
----------------------------------------------------------*/
#special {
  background:
    url(../img/gift/special/bg_top.jpg) no-repeat center top,
    url(../img/gift/special/bg_bottom.jpg) no-repeat center bottom;
  background-size: contain;
}
#special h2 {
  background: url(../img/gift/special/icon_illust.png) no-repeat center top;
  background-size: 10.8% auto;
  padding-top: 10%;
}
#special .subttl:before,
#special .subttl:after {
  background: url(../img/gift/special/line_subttl.png) no-repeat;
  background-size: 22px 1px;
  margin-left: -76px;
}
#special .subttl:after {
  margin-left: 55px
}
#special .lead {
  color: #8572a5;
}
#special .btn-buy a,
#special .btn-detail a {
  background-color: #8572a5;
}
#special .btn-detail a {
  color: #8572a5;
  background-color: #fff;
  border: 1px solid #8572a5;
}
#special .slick-dots li button {
  border: 1px solid #8572a5;
}
#special .slick-dots li.slick-active button {
  background-color: #8572a5;
}

/* ---------------------------------------------------------
#myself
----------------------------------------------------------*/
#myself {
  background:
    url(../img/gift/myself/bg_top.jpg) no-repeat center top,
    url(../img/gift/myself/bg_bottom.jpg) no-repeat center bottom;
  background-size: contain;
}
#myself h2 {
  background: url(../img/gift/myself/icon_illust.png) no-repeat center top;
  background-size: 8.1% auto;
  padding-top: 11%;
}
#myself .subttl:before,
#myself .subttl:after {
  background: url(../img/gift/myself/line_subttl.png) no-repeat;
  background-size: 22px 1px;
}
#myself .lead {
  color: #789f99;
}
#myself .btn-buy a,
#myself .btn-detail a {
  background-color: #789f99;
}
#myself .btn-detail a {
  color: #789f99;
  background-color: #fff;
  border: 1px solid #789f99;
}
#myself .slick-dots li button {
  border: 1px solid #789f99;
}
#myself .slick-dots li.slick-active button {
  background-color: #789f99;
}

/* ---------------------------------------------------------
footer
----------------------------------------------------------*/
footer {
  background: url(../img/gift/bg_footer.jpg) no-repeat center bottom;
  background-size: contain;
  padding: 20px 0 0;
}
footer .logo {
  width: 24.8%;
  margin: 0 auto 20px;
}
footer .txt1,
footer .txt2,
footer .txt3 {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
  padding: 0 6.25%;
  margin-bottom: 10px;
}
footer .btn-shop {
  padding: 0 6.25%;
  margin-bottom: 15px;
}
footer .btn-shop a {
  display: block;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #789f99;
  padding: 12px 0;
  margin-bottom: 10px;
}
footer .txt3 {
  width: 100%;
  transform: scale(0.8);
  transform-origin: center;
  padding: 0;
  margin: 0 -3% 24px;
}
footer .txt-bottom {
  position: relative;
  min-height: 107px;
}
footer .txt-link {
  position: absolute;
  top: 75px;
  left: 6.25%;
  background: url(../img/gift/myself/icon_link.png) no-repeat left center;
  background-size: 4px auto;
  padding-left: 9px;
}
footer .txt-link a {
  display: block;
  font-size: 1rem;
  color: #000;
  text-decoration: none;
  letter-spacing: 0.1em;
  transform: scale(0.8);
  transform-origin: left center;
}
footer .sns-box {
  width: 106px;
  margin: 0 auto;
}
footer .sns-box:after {
  content: "";
  clear: both;
  display: block;
}
footer .sns-box p {
  font-size: 1rem;
  color: #78a09c;
  text-align: center;
  background:
    url(../img/gift/line_share_left.png) no-repeat left top,
    url(../img/gift/line_share_right.png) no-repeat right top;
  background-size: 6px auto;
  padding: 2px 0 0;
  margin-bottom: 14px;
}
footer .sns-box .btn-tw,
footer .sns-box .btn-fb,
footer .sns-box .btn-line {
  float: left;
}
footer .sns-box .btn-tw {
  width: 21px;
  margin: 0 15px 0 9px;
}
footer .sns-box .btn-fb {
  width: 17px;
  margin-right: 15px;
}
footer .sns-box .btn-line {
  width: 20px;
}
footer .btn-pagetop {
  position: absolute;
  top: 62px;
  right: 6.4%;
  width: 25px;
}
footer .copyright {
  height: 20px;
  background-color: #fff;
  padding-top: 5px;
}
footer .copyright small {
  display: block;
  font-size: 1rem;
  color: #789f9b;
  text-align: center;
  transform: scale(0.7);
  transform-origin: center;
}


/* ---------------------------------------------------------
PC
----------------------------------------------------------*/
@media (min-width:768px) {
  
  /* ---------------------------------------------------------
  body
  ----------------------------------------------------------*/
  body {
    
  }
  
  .show-pc {
    display: block;
  }
  .show-sp {
    display: none;
  }
  .icon-prev,
  .icon-next,
  .btn-buy,
  .btn-detail,
  .btn-shop,
  .btn-pagetop,
  .sns-box a  {
    transition: opacity .3s;
  }
  .icon-prev:hover,
  .icon-next:hover,
  .btn-buy:hover,
  .btn-detail:hover,
  .btn-shop:hover,
  .btn-pagetop:hover,
  .sns-box a:hover {
    opacity: .8;
  }
  .txt-link:hover {
    text-decoration: underline;
  }

  /* ---------------------------------------------------------
  #main
  ----------------------------------------------------------*/
  #main {
    position: relative;
    height: 670px;
    padding: 0;
    overflow: hidden;
  }
  #main .logo {
    position: absolute;
    top: 162px;
    width: 276px;
    padding-top: 0;
    margin-left: -138px;
  }
  h1 {
    position: absolute;
    top: 488px;
    left: 50%;
    width: 748px;
    background: none;
    padding-top: 0;
    margin-left: -374px;
  }
  h1 img {
    display: block;
  }
  #main .slider-box {
    width: 100%;
  }
  #main .slider .slide {
    width: 100%;
    height: 670px;
    display: flex;
    align-items: center;
  }
  #main .slider .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .slick-slider {
    margin-bottom: 0;
  }
  .slick-dots {
    bottom: 30px;
  }
  .slick-dots li {
    margin: 0 10px;
  }
  .slick-dots li,
  .slick-dots li button,
  .slick-dots li button:before {
    width: 10px;
    height: 10px;
    border-radius: 5px;
  }
  #main .icon-prev,
  #main .icon-next {
    width: 50px;
    margin-top: -25px;
    cursor: pointer;
  }
  #main .icon-prev {
    left: 30px;
  }
  #main .icon-next {
    right: 30px;
  }
  #main .txt1,
  #main .txt2,
  #main .txt3,
  #main .txt4 {
    display: none;
    position: absolute;
    top: 50%;
    margin-top: -80px;
    visibility: visible;
    height: auto;
    overflow: inherit;
  }
  #main .txt4 {
    margin-top: -92px;
  }
  #main .txt-left {
    left: 113px;
    opacity: 1;
  }
  #main .txt-right {
    right: 113px;
    opacity: 1;
  }
  
  /* ---------------------------------------------------------
  header
  ----------------------------------------------------------*/
  header nav ul {
    border-bottom: 1px solid #dec0c1;
    box-shadow: 0px 3px 5px -6px #000000;
  }
  header nav li {
    width: 25%;
  }
  header nav li a {
    height: 90px;
    background: none;
    padding: 25px 0 0;
    transition: background-color .3s;
  }
  header nav li:nth-child(1),
  header nav li:nth-child(2) {
    border-bottom: none;
  }
  header nav li img {
    width: 167px;
  }
  header nav li:nth-child(4) img {
    width: 188px;
  }
  header nav li:nth-child(2) a,
  header nav li:nth-child(3) a,
  header nav li:nth-child(4) a {
    background: none;
  }
  header nav li a:before {
    top: 59px;
    width: 18px;
    height: 9px;
    margin-left: -9px;
  }
  header nav li a:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 1px;
    height: 90px !important;
    background-color: #eee;
  }
  header nav li:last-child a:after {
    display: none;
  }
  
  header nav li a:hover {
    background-color: #f8eff1;
  }
  header nav li:nth-child(2) a:hover {
    background-color: #f0f4f7;
  }
  header nav li:nth-child(3) a:hover {
    background-color: #f3f1f6;
  }
  header nav li:nth-child(4) a:hover {
    background-color: #f1f5f5;
  }

  /* ---------------------------------------------------------
  .sec
  ----------------------------------------------------------*/
  .sec {
    background:
      url(../img/gift/women/bg_top.jpg) no-repeat center top,
      url(../img/gift/women/bg_bottom.jpg) no-repeat center bottom;
    background-size: contain;
    padding: 80px 30px;
  }
  .sec h2 {
    width: 367px;
    background-size: 14px auto;
    text-align: center;
    padding-top: 80px;
    margin: 0 auto 28px;
  }
  .sec .subttl {
    position: relative;
    text-align: center;
    margin: 0 auto 80px;
  }
  .sec .subttl:before,
  .sec .subttl:after {
    width: 45px;
    background-size: 45px 1px;
    margin-left: -118px;
  }
  .sec .subttl:after {
    margin-left: 78px
  }
  .sec .subttl small {
    font-size: 1.3rem;
    transform: scale(1);
  }
  .sec .box1,
  .sec .box2 {
    position: relative;
    max-width: 1000px;
    padding: 0;
    margin: 0 auto;
  }
  .sec .box1 {
    margin-bottom: 80px;
  }
  .sec .box2 {
    border-top: none;
    padding-top: 0;
  }  
  .sec .lead {
    position: absolute;
    top: 0;
    width: 24%;
    height: 550px;
    text-indent: 100%;
    white-space: nowrap;
    text-align: left;
    margin-bottom: 18px;
    overflow: hidden;
  }
  .sec .lead br {
    display: none;
  }
  .sec .box1 .lead {
    right: 0;
    background: url(../img/gift/women/txt_slider_01.png) no-repeat center top;
    background-size: contain;
  }
  .sec .box2 .lead {
    left: 0;
    background: url(../img/gift/women/txt_slider_02.png) no-repeat center top;
    background-size: contain;
  }
  .sec .slider-box {
    margin-bottom: 69px;
  }
  .sec .slider {
    width: 70%;
  }  
  .sec .box2 .slider {
    margin-left: 30%;
  }
  .sec .icon-prev,
  .sec .icon-next {
    position: absolute;
    bottom: 50%;
    left: 0;
    width: 50px;
    margin: 0 0 -25px -25px;
    cursor: pointer;
  }
  .sec .icon-next {
    left: 70%;
  }
  .sec .box2 .icon-prev {
    left: 30%;
  }
  .sec .box2 .icon-next {
    left: 100%;
  }
  .sec .slick-dots li button {
    border: 1px solid #b76271;
  }
  .sec .slick-dots li.slick-active button {
    background-color: #b76271;
  }
  .sec h3 {
    font-size: 3rem;
  }
  .sec .number {
    font-size: 1.3rem;
    transform: scale(1);
    padding: 24px 0 33px;
  }
  .sec .txt {
    font-size: 1.4rem;
    line-height: 2;
    text-align: center;
    margin-bottom: 53px;
  }
  .sec .btn-box:after {
    content: "";
    clear: both;
    display: block;
  }
  .sec .btn-buy a,
  .sec .btn-detail a {
    position: relative;
    width: 48%;
    font-size: 1.6rem;
    padding: 27px 0;
    margin-bottom: 0;
  }
  .sec .btn-buy a:after,
  .sec .btn-detail a:after {
    content: url(../img/gift/icon_link_white.png);
    position: absolute;
    top: 50%;
    left: 94%;
    margin-top: -8px;
  }
  .sec .btn-detail a:after {
    content: url(../img/gift/women/icon_link.png);
  }
  .sec .btn-buy a {
    float: left;
  }
  .sec .btn-detail a {
    float: right;
    color: #b76271;
    background-color: #fff;
    border: 1px solid #b76271;
  }
  
  
  /* ---------------------------------------------------------
  #men
  ----------------------------------------------------------*/
  #men .subttl:before,
  #men .subttl:after {
    background-size: 45px 1px;
    margin-left: -108px;
  }
  #men .subttl:after {
    margin-left: 63px;
  }
  #men .box1 .lead {
    background: url(../img/gift/men/txt_slider_01.png) no-repeat center top;
    background-size: contain;
  }
  #men .box2 .lead {
    background: url(../img/gift/men/txt_slider_02.png) no-repeat center top;
    background-size: contain;
  }
  #men .btn-detail a:after {
    content: url(../img/gift/men/icon_link.png);
  }

  /* ---------------------------------------------------------
  #special
  ----------------------------------------------------------*/
  #special h2 {
    padding-top: 64px;
  }
  #special .subttl:before,
  #special .subttl:after {
    background-size: 45px 1px;
    margin-left: -153px;
  }
  #special .subttl:after {
    margin-left: 108px
  }
  #special .box1 .lead {
    background: url(../img/gift/special/txt_slider_01.png) no-repeat center top;
    background-size: contain;
  }
  #special .box2 .lead {
    background: url(../img/gift/special/txt_slider_02.png) no-repeat center top;
    background-size: contain;
  }
  #special .btn-detail a:after {
    content: url(../img/gift/special/icon_link.png);
  }

  /* ---------------------------------------------------------
  #myself
  ----------------------------------------------------------*/
  #myself h2 {
    padding-top: 73px;
  }
  #myself .subttl:before,
  #myself .subttl:after {
    background-size: 45px 1px;
  }
  #myself .box1 .lead {
    background: url(../img/gift/myself/txt_slider_01.png) no-repeat center top;
    background-size: contain;
  }
  #myself .box2 .lead {
    background: url(../img/gift/myself/txt_slider_02.png) no-repeat center top;
    background-size: contain;
  }
  #myself .btn-detail a:after {
    content: url(../img/gift/myself/icon_link.png);
  }

  /* ---------------------------------------------------------
  footer
  ----------------------------------------------------------*/
  footer {
    background: url(../img/gift/bg_footer.jpg) no-repeat center bottom;
    background-size: 1400px auto;
    background-size: cover;
    padding: 80px 0 0;
  }
  footer .logo {
    width: 159px;
    margin: 0 auto 73px;
  }
  footer .txt1,
  footer .txt2,
  footer .txt3 {
    font-size: 1.4rem;
    text-align: center;
    padding: 0;
    margin-bottom: 30px;
  }
  footer .txt2 {
    margin-bottom: 53px;
  }
  footer .btn-shop {
    width: 480px;
    padding: 0;
    margin: 0 auto 26px;
  }
  footer .btn-shop a {
    display: block;
    font-size: 1.4rem;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background: #789f99 url(../img/gift/icon_link_white.png) no-repeat 94% center;
    padding: 27px 0;
    margin-bottom: 0;
  }
  footer .txt3 {
    font-size: 1.3rem;
    transform: scale(1);
    margin: 0 0 73px;
  }
  footer .txt-bottom {
    position: relative;
    max-width: 1000px;
    min-height: 107px;
    margin: 0 auto;
  }
  footer .txt-link {
    position: absolute;
    top: 52px;
    left: 0;
    background: url(../img/gift/myself/icon_link.png) no-repeat left center;
    background-size: 6px auto;
    padding-left: 18px;
  }
  footer .txt-link a {
    font-size: 1.2rem;
    transform: scale(1);
  }
  footer .sns-box {
    width: 178px;
  }
  footer .sns-box p {
    font-size: 1.6rem;
    background-size: 11px auto;
    padding: 3px 0 21px;
    margin-bottom: 0;
  }
  footer .sns-box .btn-tw,
  footer .sns-box .btn-fb,
  footer .sns-box .btn-line {
    float: left;
  }
  footer .sns-box .btn-tw {
    width: 30px;
    margin: 0 29px 0 19px;
  }
  footer .sns-box .btn-fb {
    width: 25px;
    margin-right: 29px;
  }
  footer .sns-box .btn-line {
    width: 28px;
  }
  footer .btn-pagetop {
    position: absolute;
    top: 14px;
    right: 0;
    width: 50px;
  }
  footer .copyright {
    height: 40px;
    padding-top: 15px;
  }
  footer .copyright small {
    font-size: 1.1rem;
    transform: scale(1);
  }
}