/*
  LAYOUT
========================================================================================================*/
header[role="banner"] {
  background: #333;
}
header .container {
  position: relative;
  box-sizing: border-box;
  width: 1080px;
  margin: 0 auto;
  height: 104px;
  padding: 21px 10px 0; 
}
footer {
  background: #333;
  padding: 50px 0 20px;
  color: #fff;
  font-size: 14px;
  font-weight: 200;
}
footer .container {
  width: 1080px;
  margin: 0 auto;
  padding: 0 10px;
}

@media screen and (max-width:767px) {
  header[role="banner"] {
      position: fixed;
      top: 0;
      z-index: 999;
      width: 100%;
  }
  header .container {
      width: 100%;
      height: 40px;
      padding: 7px 16px 0; 
  }
  main {
      margin-top: 40px;
  }
  footer {
      padding: 20px 0px;
  }
  footer .container {
      box-sizing: border-box;
      width: 100%;
      margin: 0 auto;
  }
}

/*
HEADER
========================================================================================================*/
header[role="banner"] #logo {
  position: relative;
  z-index: 10;
  margin: 0;
  padding: 0;
  line-height: 1;
  text-align: left;
  display: inline-block;
}
header[role="banner"] #logo a {
  display: inline-block;
}
header[role="banner"] #logo img {
  width: 152px;
  height: 62px;
}

header[role="banner"] #sub-nav {
  position: absolute;
  top: 11px;
  right: 43px;
}
header[role="banner"] #sub-nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
header[role="banner"] #sub-nav ul.sub-nav-lang-jp {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
header[role="banner"] #sub-nav ul,
header[role="banner"] #sub-nav ul li {
  margin: 0;
}

header[role="banner"] #sub-nav ul li {
  list-style-type: none;
  margin-left: 50px;
  font-size: 12px;
  font-weight: 200;
  color: #fff;
}
header[role="banner"] #sub-nav ul.sub-nav-lang-jp li {
  margin-left: auto;
}
header[role="banner"] #sub-nav ul.sub-nav-lang-jp li.sub-nav-lang-jp-h1 {
  margin: 0 0 11px auto;
  width: 100%;
}
header[role="banner"] #sub-nav ul.sub-nav-lang-jp li.sub-nav-lang-jp-h1 h1 {
  font-size: 12px;
  margin: 0 0 0 auto;
  text-align: right;
}
header[role="banner"] #sub-nav ul li a {
  color: #fff !important;
  text-decoration: none !important;
}
header[role="banner"] #sub-nav ul li a:hover {
  text-decoration: underline !important;
}
header[role="banner"] #sub-nav ul li a img {
  position: relative;
  top: -3px;
  display: inline-block;
  margin-right: 8px;
  vertical-align: top;
}
header[role="banner"] #sub-nav ul li.language {
  color: #808080;
}
header[role="banner"] #sub-nav ul li.language .separate {
  padding: 0 8px;
}

@media screen and (max-width:767px) {
  header[role="banner"] #logo img {
      width: 65px;
      height: 26.5px;
  }
  header[role="banner"] #sub-nav {
      top: 12px;
      right: 58px;
  }
  header[role="banner"] #sub-nav ul li {
      font-size: 11px;
  }
  header[role="banner"] #sub-nav ul li.mypage a img {
      position: relative;
      top: -2px;
      display: inline-block;
      margin-right: 8px;
      vertical-align: top;
      height: 17px;
  }

  header #sub-nav ul li.visible-logined a img{
      display: none;
  }
}


/*
GLOBAL NAV
========================================================================================================*/
#gnav-pc {
  position: absolute;
  top: 50px;
  right: 0;
  left: 0;
  margin: auto;
}
#gnav-pc ul,
#gnav-pc ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
#gnav-pc h2 {
  margin: 0;
  padding: 0;
}
#gnav-pc > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  
  width: 1080px;
  margin: 0 auto;
  padding: 0;
}
#gnav-pc > ul,
#gnav-pc > ul > li {
  font-size: 16px;
}
#gnav-pc > ul > li > a {
  display: inline-block;
  padding: 18px 20px 0;
  color: #fff !important;
  text-decoration: none;
  font-weight: 200;
  line-height: 100%;
}
#gnav-pc > ul > li > a > span {
  display: block;
  padding-bottom: 13px;
  border-bottom: 7px solid #333;
  font-size: 14px;
}
#gnav-pc > ul > li > a:hover > span,
#gnav-pc > ul > li.active > a > span {
  border-bottom: 7px solid #fff;
}
#gnav-pc > ul > li.gnav-campaign > a:hover > span {
  border-bottom: 7px solid #333;
}
#gnav-pc .gnav-menu {
  display: none;
  z-index: 10;
  position: absolute;
  top: 54px;
  left: 0;
  background: #fff;
  padding-bottom: 9px;
  width: 100%;
  background: url(/common/images/bg-gnav-menu.webp) repeat-x left bottom;
}
#gnav-pc .gnav-menu .gnav-menu-inner {
  background: #fff;
  width: 100%;
}
#gnav-pc .gnav-menu .gnav-menu-container {
  width: 1080px;
  margin: 0px auto;
  padding: 40px 0 0px;
}
#gnav-pc .gnav-menu .gnav-menu-container .gnav-title {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 400;
}
#gnav-pc .gnav-menu .gnav-menu-container > .row {
  margin-bottom: 0;
}
#gnav-pc .gnav-menu .gnav-menu-container ul li {
  margin-bottom: 5px;
}
#gnav-pc .gnav-menu .gnav-menu-container .menu {
  margin-bottom: 40px
}
#gnav-pc .gnav-menu .gnav-menu-container .menu a {
  color: #1a1a1a !important;
  text-decoration: none !important;
}
#gnav-pc .gnav-menu .gnav-menu-container .menu a:hover {
  text-decoration: underline !important;
}
#gnav-pc .gnav-menu .gnav-menu-container .menu-banner ul li {
  margin-bottom: 15px;
}


#gnav-pc .gnav-trip .menu {
  margin-bottom: 20px !important;
}
#gnav-pc .gnav-trip .menu-banner .banner-trip-flight-ticket a {
  background: url(/common/images/gnav-trip-flight-ticket.webp) no-repeat right bottom;
  height: 84px;
  font-size: 14px;
  line-height: 44px;
}
#gnav-pc .gnav-trip .menu-banner .banner-trip-dynamic-package a {
  background: url(/common/images/gnav-trip-dynamic-package.webp) no-repeat right bottom;
  height: 84px;
  font-size: 14px;
}
#gnav-pc .gnav-trip .menu-banner .banner-trip-hotel-stay a {
  background: url(/common/images/gnav-trip-hotel.webp) no-repeat right bottom;
  height: 84px;
  font-size: 14px;
  line-height: 44px;
}
#gnav-pc .gnav-trip .menu-banner .banner-trip-rental a {
  background: url(/common/images/gnav-trip-rental.webp) no-repeat right bottom;
  height: 84px;
  font-size: 14px;
  text-align: center;
}
#gnav-pc .gnav-trip .menu-banner .banner-trip-rental a .link-box-content {
  padding: 8px 20px 20px 20px;
}
#gnav-pc .gnav-trip .menu-banner .banner-trip-active a {
  background: url(/common/images/gnav-trip-active.webp) no-repeat right bottom;
  height: 84px;
  font-size: 14px;
  text-align: center;
}
#gnav-pc .gnav-trip .menu-banner .banner-trip-active a .link-box-content {
  padding: 8px 20px 20px 20px;
}
#gnav-pc .gnav-trip .banner-biz a.btn {
  line-height: 27px;
}
#gnav-pc .gnav-trip .banner-biz img {
  position: relative;
  margin-left: 30px;
  vertical-align: top;
}
#gnav-pc .gnav-trip .banner-reservation a {
background: url(/common/images/gnav-reservation.webp) center center no-repeat;
}
#gnav-pc .gnav-trip .banner-reservation p.btn .icon {
display: none;
}

#gnav-pc .gnav-service .banner-service-concept {
  width: 302px;
}
#gnav-pc .gnav-service .banner-service-concept .link-box-content {
  padding-top: 52px;
}
#gnav-pc .gnav-service .banner-service-concept a {
  background: url(/common/images/gnav-service-concept.webp) no-repeat right bottom;
  height: 170px;
  font-size: 14px;
}


#gnav-pc .gnav-search .search-btn {
  margin-top: 2px;
}
#gnav-pc .gnav-search .search-form {
  display: none;
  position: absolute;
  top: 54px;
  right: 0;
  width: 1080px;
  margin: auto;
  left: 0;
  text-align: right;
  z-index: 10;
}
#gnav-pc .gnav-search .search-form form {
  display: inline-block;
  background: #333;
  padding: 20px;
  font-size: 14px;
}
#gnav-pc .gnav-search .search-form form input[type="text"] {
  box-sizing: border-box;
  width: 325px;
  height: 40px;
  margin: 0;
  vertical-align: top;
}
#gnav-pc .gnav-search .search-form form input[type="submit"] {
  height: 40px;
  padding: 0 11px;
  background: #c9c9c9;
  border: 0;
  vertical-align: top;
}

#gnav-pc .gnav-trip .menu-banner .banner-trip-rental-en a {
  background: url(/common/images/gnav-trip-rental.webp) no-repeat right bottom;
}


@media screen and (max-width:767px) {
  body.slide-menu-open {
      position: fixed;
      width: 100%;
  }

  body.slide-menu-open #slide-menu-overlay {
      position: fixed;
      top: 0;
      z-index: 10;
      width: 100%;
      height: 100%;
      cursor: pointer;
      background-color: rgba(0,0,0,.8);
  }
  #gnav-sp #slide-menu-handle {
      width: 51px;
      height: 40px;
      display: block;
      position: absolute;
      top: -0;
      right: 0;
      z-index: 9999;
  }
  #gnav-sp #slide-menu-handle #slide-menu-line {
      -webkit-transition: background 0s .2s;
      transition: background 0s .2s;
      position: absolute;
      top: 19px;
      left: 16px;
      right: 16px;
      height: 2px;
      display: block;
      background: #fff;
  }

  #gnav-sp #slide-menu-handle #slide-menu-line:after,
  #gnav-sp #slide-menu-handle #slide-menu-line:before {
      -webkit-transition-duration: .2s,.2s;
      transition-duration: .2s,.2s;
      -webkit-transition-delay: .2s,0s;
      transition-delay: .2s,0s;
      content: "";
      position: absolute;
      left: 0;
      display: block;
      background: #fff;
      width: 100%;
      height: 2px;
  }

  #gnav-sp #slide-menu-handle #slide-menu-line:before {
      -webkit-transition-property: top,-webkit-transform;
      transition-property: top,transform;
      top: -7px;
  }

  #gnav-sp #slide-menu-handle #slide-menu-line:after {
      -webkit-transition-property: bottom,-webkit-transform;
      transition-property: bottom,transform;
      bottom: -7px;
  }
  
  #gnav-sp #slide-menu-handle.open #slide-menu-line:before {
      -webkit-transform: translateY(7px) rotate(-45deg);
      transform: translateY(7px) rotate(-45deg);
  }
  #gnav-sp #slide-menu-handle.open #slide-menu-line {
      -webkit-animation: bread-bar .8s forwards;
      animation: bread-bar .8s forwards;
  }
  @-webkit-keyframes bread-bar {
      100% {
          height: 0
      }
  }
  @keyframes bread-bar {
      100% {
          height: 0
      }
  }
  #gnav-sp #slide-menu-handle.open #slide-menu-line:after {
      -webkit-transform: translateY(-5px) rotate(45deg);
      transform: translateY(-5px) rotate(45deg);
  }

  #gnav-sp #slide-menu-content {
      z-index: 20;
      position: fixed;
      top: 40px;
      right: -270px;
      width: 270px;
      height: calc(100% - 40px);
      background: transparent;
      overflow-y: scroll;
      font-size: 13px;
      -webkit-overflow-scrolling: touch;
  }
  #gnav-sp #slide-menu-content > * {
      background: #fff;
      -webkit-transform: translateZ(0px);
  }
#gnav-sp #slide-menu-content > .box a.btn {
  display: block;
}
  #gnav-sp #slide-menu-content ul,
  #gnav-sp #slide-menu-content ul li {
      margin: 0;
      padding: 0;
      font-size: 13px;
  }
  #gnav-sp #slide-menu-content ul li a {
      color: #1a1a1a !important;
      text-decoration: none !important;
  }
  #gnav-sp #slide-menu-content ul li > span,
  #gnav-sp #slide-menu-content ul li > a {
      cursor: pointer;
      position: relative;
      display: block;
      padding: 14px 18px;
  }
  #gnav-sp #slide-menu-content ul li ul li > a,
  #gnav-sp #slide-menu-content ul li ul li > span {
      padding-left: 36px;
      background: #f7f7f7;
  }
  #gnav-sp #slide-menu-content > ul {
      border-top: 1px solid #e2e2e2;
      border-right: 1px solid #e2e2e2;
  }
  #gnav-sp #slide-menu-content > ul > li {
      background: #fff;
      border-bottom: 1px solid #e2e2e2;
      border-left: 1px solid #e2e2e2;
  }
  #gnav-sp #slide-menu-content > ul > li > span:after {
      position: absolute;
      top: -4px;
      bottom: 0;
      right: 16px;
      margin: auto;
      width: 5px;
      height: 5px;
      border-top: 1px solid #333;
      border-right: 1px solid #333;
      content: "";
      vertical-align: middle;
      
      -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
      transform: rotate(135deg);
  }
  #gnav-sp #slide-menu-content > ul > li.active > span:after {
      top: 2px;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
  }
  #gnav-sp #slide-menu-content > ul > li > ul {
      display: none;
      border-top: 1px solid #e2e2e2;
  }
  #gnav-sp #slide-menu-content > ul > li > ul > li {
      border-bottom: 1px solid #e2e2e2;
  }
  #gnav-sp #slide-menu-content > ul > li > ul > li > ul {
      border-top: 1px solid #e2e2e2;
  }    
  #gnav-sp #slide-menu-content > ul > li > ul > li > ul li {
      font-size: 10px;
  }
  #gnav-sp #slide-menu-content > ul > li > ul > li > ul li a {
      background: #ededed;
      padding-top: 10px;
      padding-bottom: 10px;
  }
  #gnav-sp #slide-menu-content > ul > li > ul > li > ul li:first-of-type a {
      padding-top: 18px;
  }
  #gnav-sp #slide-menu-content > ul > li > ul > li > ul li:last-of-type a {
      padding-bottom: 18px;
  }
  #gnav-sp #slide-menu-content > ul > li ul li:last-of-type {
      border: 0;
  }
  
  #gnav-sp .menu-banner .banner-trip-flight-ticket a {
      background: url(/common/images/gnav-trip-flight-ticket-sp.webp) no-repeat right bottom;
      font-size: 10px;
      background-size: 230px auto;
      padding: 7px 0;
  }
  #gnav-sp .menu-banner .banner-trip-dynamic-package a {
      background: url(/common/images/gnav-trip-dynamic-package-sp.webp) no-repeat right bottom;
      background-size: 230px auto;
      font-size: 10px;
  }
  #gnav-sp .menu-banner .banner-service-concept a {
      background: url(/common/images/gnav-service-concept-sp.webp) no-repeat right bottom;
      background-size: 230px auto;
      padding: 33px 0;
      font-size: 10px;
  }
  #gnav-sp .menu-banner .banner-trip-hotel-stay a {
      background: url(/common/images/gnav-trip-hotel.webp) no-repeat right bottom;
      background-size: auto 100%;
      font-size: 10px;
      padding: 7px 0;
  }
  #gnav-sp .menu-banner .btn.btn-white.fs-xs {
      padding: 10px 12px;
  }
  #gnav-sp .menu-banner .banner-trip-rental a {
      background: url(/common/images/gnav-trip-rental.webp) no-repeat right bottom;
      background-size: auto 100%;
      padding: 2px 0 7px;
      text-align: center;
  }
  #gnav-sp .menu-banner .banner-trip-rental a .link-box-content {
      padding: 0 10px 25px;
  }
  #gnav-sp .menu-banner .banner-trip-active a {
      background: url(/common/images/gnav-trip-active.webp) no-repeat right bottom;
      background-size: auto 100%;
      padding: 2px 0 7px;
      text-align: center;
  }
  #gnav-sp .menu-banner .banner-trip-active a .link-box-content {
      padding: 0 10px 25px;
  }

  
  
  #gnav-sp #slide-menu-content .menu-banner {
      padding: 16px 16px 0 16px;
      margin-bottom: 8px;
  }
  #gnav-sp #slide-menu-content .search-form {
      padding: 14px 18px;
      border: 1px solid #ccc;
      border-top: 0;
  }
  #gnav-sp #slide-menu-content .search-form form input[type="text"] {
      float: left;
      display: inline-block;
      box-sizing: border-box;
      width: 70%;
      height: 32px;
      margin: 0;
      vertical-align: top;
      font-size: 13px;
  }
  #gnav-sp #slide-menu-content .search-form form input[type="submit"] {
      display: inline-block;
      width: 30%;
      height: 32px;
      padding: 0 11px;
      background: #c9c9c9;
      border: 0;
      vertical-align: top;
      font-size: 13px;
  }
  #gnav-sp #slide-menu-content .language {
      padding: 14px 18px;
      text-align: center;
      border: 1px solid #ccc;
      border-top: 0;
      color: #dadada !important;
  }
  #gnav-sp #slide-menu-content .language .sepalate {
      padding: 0 10px;
  }
  #gnav-sp #slide-menu-content .language a {
      color: #1a1a1a !important;
      text-decoration: none !important;
  }
  #gnav-sp .menu-banner .banner-trip-rental-en a {
      background: url(/common/images/gnav-trip-rental.webp) no-repeat right bottom;
      background-size: auto 100%;
      padding: 7px 0;
  }
  #gnav-sp #slide-menu-content .sub-nav-lang-jp-h1-sp h1 {
      padding: 5px 18px;
      font-size: 13px;
  }
}


/*
TOPICPATH
========================================================================================================*/
#main > .topicpath {
  position: absolute;
  top: 16px;
  left: 0;
  right: 0;
  width: 1080px;
  margin: 0 auto;
}
.topicpath ul,
.topicpath ul li {
  margin: 0;
  padding: 0;
}
.topicpath ul li {
  /*display: inline-block;*/
  display: inline;
  font-size: 12px;
}
.topicpath ul li strong {
  font-weight: normal;
}

.topicpath ul li > a,
.topicpath ul li > span {
  position: relative;
  display: inline-block;
  padding-right: 20px;
  color: #1a1a1a !important;
  text-decoration: none !important;
}
.topicpath ul li > a:after,
.topicpath ul li > span:after {
  position: absolute;
  top: 1px;
  bottom: 0;
  right: 7px;
  margin: auto;
  width: 5px;
  height: 5px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  content: "";
  vertical-align: middle;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.topicpath ul li a:hover {
  text-decoration: underline !important;
}

.topicpath-white ul li a,
.topicpath-white ul li strong {
  color: #fff !important;
}
.localnav .topicpath-white ul li a,
.localnav .topicpath-white ul li strong {
  color: #1a1a1a !important;
}


.topicpath-white ul li a:hover {
  text-decoration: underline !important;
}
.topicpath-white ul li a:after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.localnav .topicpath-white ul li a:after {
  border-top: 1px solid #333;
  border-right: 1px solid #333;
}



@media screen and (max-width:767px) {
  #main > .topicpath {
      display: none;
  }
}

.localnav {
  margin-top: 64px;    
  margin-bottom: 64px;
  border: 1px solid #ccc;
}
.localnav .topicpath {
  background: #f7f7f7;
  border-bottom: 1px solid #ccc;
  padding: 8px 36px 10px;
}
.localnav-content {
  padding: 0px 36px 4px;
}
.localnav-content a:link,
.localnav-content a:hover,
.localnav-content a:active,
.localnav-content a:visited,
.localnav-content a:visited:hover {
  color: #1a1a1a !important;
}
.localnav-content p {
  margin: 0;
}
.localnav-content ul,
.localnav-content ul li {
  margin: 0;
}
.localnav-content ul {
  margin-top: 10px;
}
.localnav-content ul li {
  display: inline-block;
  margin-right: 40px;
}
.localnav-content ul li:last-of-type {
  margin-right: 0;
}
.localnav-content .localnav-title {
  border-bottom: 1px solid #ccc;
  padding: 20px 0;
  font-size: 16px;
  font-weight: 500;
}
.localnav-content .localnav-block {
  border-bottom: 1px solid #ccc;
  padding: 14px 0;
  font-size: 12px;
}
.localnav-content .localnav-h {
  font-weight: 600;
}
.localnav-content .localnav-block:last-of-type {
  border: 0;
}


@media screen and (max-width:767px) {
  .localnav {
      margin-top: 40px;
      margin-bottom: 40px;
  }
  .localnav .topicpath {
      padding: 6px 18px 7px;
  }
  .localnav-content {
      padding: 0px 18px 0px;
  }
  .localnav-content ul {
      margin-top: 5px;
  }
  .localnav-content ul li {
      display: block;
      margin-right: 0px;
      margin-bottom: 5px;
  }
  .localnav-content .localnav-title {
      padding: 12px 0;
      font-size: 12px;
  }
  .localnav-content .localnav-block {
      padding: 9px 0;
      font-size: 10px;
  }
}




/*
FOOTER
========================================================================================================*/
footer h2 {
  margin: 0;
  padding: 0;
  font-weight: 200;
  margin-bottom: 16px;
  font-size: 32px;
  text-align: center;
}

footer ul,
footer ul li {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
footer a {
  color: #fff !important;
  text-decoration: none !important;
}
footer a:hover {
  text-decoration: underline !important;
}

footer .nav-sns {
  position: relative;
  margin-top: 40px;
  margin-bottom: 20px;
}
footer .nav-sns ul {
  text-align: center;
}
footer .nav-sns ul li {
  display: inline-block;
  margin: 0 10px;
}
footer .nav-sns ul li img {
  width: 40px;
  height: auto;
}
footer .nav-sns .link-wallpaper {
  position: absolute;
  top: 0;
  right: 0;
}

footer .footer-header {
  position: relative;
  padding: 45px 0;
  border-bottom: 1px solid #666;
  font-size: 14px;
}
footer .footer-header .logo {
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;    
}
footer .footer-header .logo {
  margin: 0;
  padding: 0;
  line-height: 1;    
}
footer .footer-header .logo img {
  width: 152px;
  height: 62px;
}
footer .footer-header .row .col {
  margin: 0 14px;
}

html:lang(ja) footer .footer-header {
  position: relative;
  padding: 20px 200px 35px;
  border-bottom: 1px solid #666;
  font-size: 14px;
}
html:lang(ja) footer .footer-header .row .col {
  margin: 5px 15px;
}


footer .footer-body {
  padding: 45px 0 15px;
  border-bottom: 1px solid #666;
}
footer .footer-body .footer-title {
  margin-bottom: 30px;
  font-size: 16px;
}
footer .footer-body ul {
  margin-bottom: 30px;
}
footer .footer-body ul li {
  margin-bottom: 8px;
  font-size: 12px;
}
footer .footer-footer {
  padding: 45px 0;
}
footer .footer-footer ul {
  text-align: center;
  margin-bottom: 30px;
}
footer .footer-footer ul li {
  display: inline-block;
  margin: 0 23px;
}

footer .footer-footer ul.ext {
  margin-bottom: 10px;
}
footer .footer-footer ul.ext li {
  font-size: 12px;
  margin-bottom: 20px;
}

footer .footer-footer .language {
  color: #808080;
  font-size: 12px;
  font-weight: 200;
}
footer .footer-footer .language a {
  color: #fff !important;
  text-decoration: none !important;
}

footer #move-top {
  position: fixed;
  bottom: 0;
  right: 0;
  text-indent: -9999px;
  background: #333;
  width: 55px;
  height: 55px;
  border: 1px solid #666;
}
footer #move-top:after {
  position: absolute;
  top: 7px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  vertical-align: middle;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

footer .copyright {
  margin: 0;
  font-size: 12px;
  text-align: center;
}


@media screen and (max-width:767px) {
  footer h2 {
      margin-bottom: 14px;
      font-size: 20px;
      text-align: center;
  }
  footer .nav-sns {
      margin-bottom: 30px;
      margin-top: 25px;
  }
  footer .nav-sns ul li img {
      width: 24px;
      height: auto;
  }
  footer .nav-sns ul li {
      margin: 0 15px;
  }
  footer .nav-sns .link-wallpaper {
      position: static;
      text-align: center;
      margin: 20px 0;
  }
  footer .footer-header,
  html:lang(ja) footer .footer-header {
      padding: 0;
      margin: 0 -10px;
      border-bottom: 0;
  }
  footer .footer-header .row {
      border-top: 1px solid #666;
  }
  footer .footer-header .row .col,
  html:lang(ja) footer .footer-header .row .col {
      box-sizing: border-box;
      margin: 0;
      border: 0;
  }
  footer .footer-header .row .col:nth-of-type(2n) {
      border-right: 1px solid #666;
  }
  footer .footer-header .row .col {
      padding: 22px 10px;
      border-bottom: 1px solid #666;
      text-align: center;
  }
  footer .footer-footer {
      margin-bottom: 0;
      padding-bottom: 20px;
  }
  footer .footer-footer ul li {
      margin: 0px 15px;
  }
  footer .footer-footer ul.ext li {
      margin-bottom: 6px;
  }
  footer #move-top {
      margin-bottom: 30px;
      font-size: 10px;
      text-align: center;
  }
  footer .copyright {
      font-size: 8px;
  }

  html:lang(ja) footer .footer-header .row .col {
      padding: 22px 5px;
      border-bottom: 1px solid #666;
      text-align: center;
  }
  html:lang(ja) footer .footer-header .row .col:nth-of-type(1n) {
    border-right: 1px solid #666;
  }
}