@charset "UTF-8";
/**
 * Viber
 * Copyright (c) @2014 Rakuten.Inc
 */
.campaign-table .campaign-row, .campaign-table .campaign-row.box, .campaign-table .campaign-row.box > dd .campaign-inner, .section.download .dl-column, .header-viber, .header-viber .header-inner, .nav-wrap .nav-inner, .nav-wrap .nav-list, .hotels .hotels-column, .hotels .hotels-step-list .item .item-body .btn-column {
  *zoom: 1;
}
.campaign-table .campaign-row:after, .campaign-table .campaign-row.box:after, .campaign-table .campaign-row.box > dd .campaign-inner:after, .section.download .dl-column:after, .header-viber:after, .header-viber .header-inner:after, .nav-wrap .nav-inner:after, .nav-wrap .nav-list:after, .hotels .hotels-column:after, .hotels .hotels-step-list .item .item-body .btn-column:after {
  content: " ";
  display: block;
  clear: both;
}

.btn-right-arrow, .btn-download, .btn-white, .btn-link, .btn-top, .btn-entry, .freecall-entry .btn-radius-entry, .btn-default, .float-box .float-item, .icon-popup, .nav-wrap .nav-list .nav-item.has-toggle span i {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

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, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-weight: inherit;
  font-style: normal;
}

body {
  line-height: 1.3;
  color: #333333;
  font-family: "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block;
}

ul, ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, select {
  vertical-align: middle;
}

img {
  vertical-align: bottom;
}

a {
  text-decoration: none;
  color: #004e99;
  cursor: pointer;
}
a:hover {
  text-decoration: underline;
}

i {
  display: block;
}

.btn-right-arrow, .btn-download {
  min-width: 220px;
  padding: 0 30px;
  line-height: 60px;
  background-color: #6da24a;
  background-repeat: no-repeat;
  background-image: url(/img/pc/common/bg_btn_arrow_right.png);
  background-repeat: no-repeat;
  background-position: 95% 50%;
  border-radius: 3px;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  font-size: 150%;
  font-weight: bold;
}
.btn-right-arrow.medium, .medium.btn-download {
  font-size: 16px;
}
.btn-right-arrow small, .btn-download small {
  font-size: 82%;
}
.btn-right-arrow.short, .short.btn-download {
  background-position: 90% 50%;
  font-weight: normal;
}
.btn-right-arrow:hover, .btn-download:hover {
  text-decoration: none;
}

.btn-download {
  min-width: 280px;
  padding: 0;
  font-weight: normal;
  font-size: 130%;
}
.btn-download .btn-inner {
  display: block;
  background-repeat: no-repeat;
}
.btn-download .btn-inner.iphone {
  background-position: 16px center;
  background-image: url(/img/pc/common/bg_icon_iphone.png);
}
.btn-download .btn-inner.android {
  background-position: 12px center;
  background-image: url(/img/pc/common/bg_icon_android.png);
}
.btn-download .btn-inner.windows {
  background-position: 9px center;
  background-image: url(/img/pc/common/bg_icon_windows.png);
}
.btn-download .btn-inner.blackberry {
  background-position: 8px center;
  background-image: url(/img/pc/common/bg_icon_blackberry.png);
}
.btn-download .btn-inner.pc {
  background-position: 9px center;
  background-image: url(/img/pc/common/bg_icon_pc.png);
}

.btn-white {
  padding: 0 30px;
  line-height: 30px;
  background-color: #fff;
  background-image: url(/img/pc/common/bg_btn_arrow_down.png);
  background-repeat: no-repeat;
  background-position: 98% 50%;
  border: 1px solid #655cac;
  border-radius: 3px;
  text-align: center;
  color: #333333;
  font-size: 90%;
  text-decoration: none;
  cursor: pointer;
}
.btn-white:hover {
  text-decoration: none;
}

.btn-link {
  padding: 10px 50px 10px 40px;
  line-height: 30px;
  background-color: #fff;
  background-image: url(/img/pc/common/bg_btn_arrow_right_purple.png);
  background-repeat: no-repeat;
  background-position: 95% 50%;
  border: 1px solid #655cac;
  border-radius: 3px;
  text-align: center;
  color: #655cac;
  font-size: 130%;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
}
.btn-link:hover {
  text-decoration: none;
}

.btn-top {
  -webkit-transition-property: all;
          transition-property: all;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  padding: 0 60px 0 0;
  background-image: url(/img/pc/common/btn_top.png);
  background-repeat: no-repeat;
  background-position: 100% 0;
  text-decoration: none;
  cursor: pointer;
}
.btn-top .btn-inner {
  display: block;
  line-height: 50px;
  margin-left: -5px;
  padding: 0 0 0 25px;
  background-image: url(/img/pc/common/btn_top.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  text-align: center;
  color: #655cac;
  font-size: 112%;
  font-weight: bold;
}
.btn-top:hover {
  opacity: 0.8;
  *filter: alpha(opacity=80);
  *zoom: 1;
  text-decoration: none;
}

.btn-entry {
  min-width: 280px;
  line-height: 60px;
  background-color: #ef0000;
  background-image: url(/img/pc/common/bg_btn_arrow_right.png);
  background-repeat: no-repeat;
  background-position: 90% 50%;
  border-radius: 3px;
  text-align: center;
  color: #ffffff;
  font-size: 150%;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
}
.btn-entry:hover {
  text-decoration: none;
}
.btn-entry.disabled {
  background-color: #b5b5b5;
  background-image: none;
  cursor: default;
}

.freecall-entry .btn-radius-entry {
  width: 787px;
  padding: 9px 0;
  font-size: 54px;
  font-weight: bold;
  text-align: center;
  background-image: url(/img/pc/common/bg_btn_arrow_right_large.png);
  background-repeat: no-repeat;
  background-position: 95% 50%;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  background-color: #6da24a;
  border-radius: 25px;
}
.freecall-entry:hover {
  text-decoration: none;
}
.freecall-entry .entry-finish {
  font-size: 24px;
  background-color: #bf0000;
  background-image: none;
  cursor: default;
}
.freecall-entry .entry-end {
  font-size: 24px;
  background-color: #bf0000;
  background-image: none;
  cursor: default;
}
.freecall-entry .entry-end span {
  font-size: 35px;
}

.btn-default {
  line-height: 60px;
  min-width: 100px;
  padding: 0 30px;
  background-color: #ef0000;
  border-radius: 3px;
  text-align: center;
  color: #ffffff;
  font-size: 150%;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
}
.btn-default:hover {
  text-decoration: none;
}
.btn-default.disabled {
  background-color: #b5b5b5;
  cursor: default;
}

.campaign-table {
  margin-top: 40px;
  padding-bottom: 80px;
}
.campaign-table h3 {
  padding: 3px;
  background-color: #666;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
}
.campaign-table strong {
  color: #bf0000;
}
.campaign-table .campaign-row {
  margin-top: 1px;
  background-image: url(/img/pc/common/bg_campaign_table.gif);
  background-repeat: repeat-y;
  border-bottom: 1px solid #cccccc;
}
.campaign-table .campaign-row > dt {
  float: left;
  width: 270px;
  padding: 15px;
}
.campaign-table .campaign-row > dd {
  float: left;
  width: 620px;
  padding: 15px 0 15px 12px;
}
.campaign-table .campaign-row > dd a {
  text-decoration: underline;
}
.campaign-table .campaign-row .campaign-caution-list > li {
  margin-left: 1em;
  text-indent: -1em;
}
.campaign-table .campaign-row .campaign-caution-list .important {
  color: #ff0000;
}

.campaign-table {
  margin-top: 0;
  padding-bottom: 0;
}
.campaign-table .important-red {
  color: #ff0000;
}
.campaign-table .campaign-row dt {
  font-size: 18px;
}
.campaign-table .campaign-row dd {
  font-size: 16px;
}
.campaign-table .campaign-row.box {
  border-bottom: none;
}
.campaign-table .campaign-row.box > dt {
  float: left;
  width: 130px;
  padding: 15px;
}
.campaign-table .campaign-row.box > dd {
  float: left;
  width: 790px;
  padding: 0;
}
.campaign-table .campaign-row.box > dd .campaign-inner {
  border-left: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
}
.campaign-table .campaign-row.box > dd .campaign-inner > dt {
  float: left;
  width: 110px;
  padding: 15px;
}
.campaign-table .campaign-row.box > dd .campaign-inner > dd {
  float: left;
  width: 620px;
  padding: 15px 0 15px 12px;
}

#main {
  position: relative;
}
#main .mb-0 {
  margin-bottom: 0px;
}
#main .mb-5 {
  margin-bottom: 5px;
}
#main .mb-10 {
  margin-bottom: 10px;
}
#main .mb-15 {
  margin-bottom: 15px;
}
#main .mb-20 {
  margin-bottom: 20px;
}
#main .mb-25 {
  margin-bottom: 25px;
}
#main .mb-30 {
  margin-bottom: 30px;
}
#main .mb-35 {
  margin-bottom: 35px;
}
#main .mb-40 {
  margin-bottom: 40px;
}
#main .mb-45 {
  margin-bottom: 45px;
}
#main .mb-50 {
  margin-bottom: 50px;
}
#main .mb-55 {
  margin-bottom: 55px;
}
#main .mb-60 {
  margin-bottom: 60px;
}
#main .mb-65 {
  margin-bottom: 65px;
}
#main .mb-70 {
  margin-bottom: 70px;
}
#main .mb-75 {
  margin-bottom: 75px;
}
#main .mb-80 {
  margin-bottom: 80px;
}
#main .mb-85 {
  margin-bottom: 85px;
}
#main .mb-90 {
  margin-bottom: 90px;
}
#main .mb-95 {
  margin-bottom: 95px;
}
#main .mb-100 {
  margin-bottom: 100px;
}
#main .pb-0 {
  padding-bottom: 0px;
}
#main .pb-5 {
  padding-bottom: 5px;
}
#main .pb-10 {
  padding-bottom: 10px;
}
#main .pb-15 {
  padding-bottom: 15px;
}
#main .pb-20 {
  padding-bottom: 20px;
}
#main .pb-25 {
  padding-bottom: 25px;
}
#main .pb-30 {
  padding-bottom: 30px;
}
#main .pb-35 {
  padding-bottom: 35px;
}
#main .pb-40 {
  padding-bottom: 40px;
}
#main .pb-45 {
  padding-bottom: 45px;
}
#main .pb-50 {
  padding-bottom: 50px;
}
#main .pb-55 {
  padding-bottom: 55px;
}
#main .pb-60 {
  padding-bottom: 60px;
}
#main .pb-65 {
  padding-bottom: 65px;
}
#main .pb-70 {
  padding-bottom: 70px;
}
#main .pb-75 {
  padding-bottom: 75px;
}
#main .pb-80 {
  padding-bottom: 80px;
}
#main .pb-85 {
  padding-bottom: 85px;
}
#main .pb-90 {
  padding-bottom: 90px;
}
#main .pb-95 {
  padding-bottom: 95px;
}
#main .pb-100 {
  padding-bottom: 100px;
}

em {
  color: #ff0000;
}

img {
  vertical-align: bottom;
}

.caution-text {
  margin-left: 1em;
  text-indent: -1em;
}

.link-center {
  text-align: center;
  font-size: 90%;
}

.visual {
  background-repeat: repeat-x;
  background-position: 0 100%;
}
.visual .visual-inner {
  width: 910px;
  margin: 0 auto;
  font-weight: bold;
}
.visual h1 {
  font-size: 200%;
}

.contents {
  overflow: hidden;
}
.contents .contents-inner {
  width: 950px;
  margin: 0 auto;
  padding-top: 30px;
  background-color: #ffffff;
  background-repeat: repeat-x;
  background-position: 0 0;
}
.contents .contents-inner.contents-inner-wide {
  width: 100%;
}

.section .sub-title {
  margin-bottom: 10px;
  padding: 10px 10px 6px;
  *padding: 13px 10px 3px;
  text-align: center;
  color: #333333;
  font-size: 115%;
}
.section .text {
  margin-bottom: 15px;
  text-align: center;
}
.section .text .sub {
  vertical-align: baseline;
  font-size: 55%;
}
.section .text .small {
  font-size: 80%;
}
.section .caution-wrap {
  text-align: center;
}
.section .caution-wrap .caution-list {
  display: inline-block;
  text-align: left;
}
.section .caution-list {
  margin-top: 10px;
  font-size: 80%;
}
.section .caution-list .important {
  color: #ff0000;
}
.section .btn-box {
  margin-bottom: 20px;
  text-align: center;
}
.section.download .sub-title {
  margin-bottom: 0;
  text-align: center;
  font-size: 115%;
}
.section.download .dl-column {
  margin-bottom: 30px;
  text-align: center;
}
.section.download .dl-column .dl-column-left, .section.download .dl-column .dl-column-right {
  float: left;
}
.section.download .dl-column .btn-right-arrow, .section.download .dl-column .btn-download {
  width: 180px;
  margin: 5px 10px;
}
.section.download .dl-column .btn-download {
  margin: 0;
}
.section.download .dl-column .dl-text {
  padding-left: 50px;
  line-height: 60px;
  font-size: 150%;
}

.float-box {
  font-size: 0;
}
.float-box .float-item {
  width: 49.99999999%;
  vertical-align: top;
  font-size: 16px;
  text-align: center;
}
.float-box .float-item .item-inner {
  border: 1px solid #cccccc;
}

.hover-overlay {
  position: relative;
  display: inline-block;
  vertical-align: bottom;
}
.hover-overlay:hover:after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.2);
  z-index: 1;
}

.align-center-box {
  text-align: center;
}

.icon-popup {
  margin-left: 5px;
  background-image: url(/img/pc/common/sprite.png?20170404);
  background-position: -300px -114px;
  width: 11px;
  height: 11px;
}

.announce-block {
  display: none;
  width: 910px;
  margin: 30px auto 0;
  padding: 20px;
  border: 2px solid #ff9b9b;
  background-color: #ffecec;
  border-radius: 3px;
}
.announce-block.show {
  display: block;
}

.back-link {
  padding: 20px 0;
  text-align: right;
}
.back-link > a {
  position: relative;
  color: #655cac;
  font-weight: bold;
  text-decoration: none;
}
.back-link > a:after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
  background-image: url(/img/pc/common/sprite.png?20170404);
  background-position: -300px -60px;
  width: 26px;
  height: 26px;
}

.breadcrumb {
  font-size: 13px;
  margin-bottom: 20px;
}
.breadcrumb .breadcrumb-item:after {
  content: '>';
  margin: 0 6px;
}
.breadcrumb .breadcrumb-item:last-child:after {
  content: none;
}
.breadcrumb .breadcrumb-link {
  font-size: 13px;
  text-decoration: underline;
}

.closing {
  margin: 20px auto 200px;
}
.closing .closing-box {
  margin-bottom: 30px;
  padding: 50px 0;
  border: 1px solid #a9a9a9;
  background-color: #ffffff;
}
.closing .text-wrap {
  text-align: center;
}
.closing .main-text {
  display: inline-block;
  text-align: left;
  color: #655cac;
  font-size: 24px;
  font-weight: bold;
}
.closing .main-text.center {
  text-align: center;
}
.closing .sub-text {
  display: inline-block;
  text-align: left;
  font-size: 20px;
}

.outside {
  margin: 80px auto 200px;
}
.outside .main-text {
  text-align: left;
  color: #323232;
  font-size: 24px;
  font-weight: bold;
}
.outside .sub-text {
  display: inline-block;
  text-align: left;
  font-size: 20px;
}


/**
 * Header
 */

.header-viber {
  position: relative;
  padding-top: 3px;
  border-bottom: 1px solid #ededed;
  background-color: #f7f7f7;
  z-index: 10;
}
.header-viber .logo {
  position: absolute;
  top: 16px;
}
.header-viber .logo img {
  background-image: url(/img/pc/common/logo_pc_32px@2x.png);
  background-size: 184px 32px;
  width: 184px;
  height: 32px;
}
.header-viber .header-inner {
  width: 950px;
  margin: 0 auto;
}
.header-viber.no-nav .header-inner {
  height: 40px;
}

.nav-wrap {
  float: right;
}
.nav-wrap .nav-inner {
  width: 878px;
  margin: 0 auto;
}
.nav-wrap .nav {
  float: right;
}
.no-menu .nav-wrap .nav {
  display: none;
}
.nav-wrap .nav-list {
  float: left;
}
.nav-wrap .nav-list .nav-item {
  float: left;
  margin-right: 25px;
}
.nav-active-top .nav-wrap .nav-list .nav-item.nav-top a, .nav-active-download .nav-wrap .nav-list .nav-item.nav-download a, .nav-active-campaign .nav-wrap .nav-list .nav-item.nav-campaign a, .nav-active-news .nav-wrap .nav-list .nav-item.nav-news a, .nav-active-faq .nav-wrap .nav-list .nav-item.nav-faq a, .nav-active-viber_out .nav-wrap .nav-list .nav-item.nav-viber_out a {
  color: #655cac;
  font-weight: bold;
}
.nav-wrap .nav-list .nav-item a {
  display: block;
  line-height: 60px;
  color: #333333;
  font-size: 87%;
}
.nav-wrap .nav-list .nav-item.has-toggle {
  position: relative;
  z-index: 10;
}
.nav-wrap .nav-list .nav-item.has-toggle span {
  display: block;
  position: relative;
  line-height: 40px;
  padding-right: 15px;
  color: #333333;
  font-size: 87%;
  cursor: default;
}
.nav-wrap .nav-list .nav-item.has-toggle span i {
  content: '';
  width: 0;
  height: 0;
  border-top: 5px solid #bca3d0;
  border-right: 5px solid transparent;
  border-bottom: 0 dotted;
  border-left: 5px solid transparent;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -5px;
  *margin-top: -13px;
}
.nav-wrap .nav-list .nav-item.has-toggle .nav-sub {
  display: none;
  position: absolute;
  left: 0;
  border: 1px solid #ededed;
  border-top: none;
  background-color: #f7f7f7;
  z-index: 10;
}
.nav-wrap .nav-list .nav-item.has-toggle .nav-sub .nav-sub-item a {
  display: block;
  min-width: 120px;
  line-height: 1;
  padding: 10px;
}
.nav-wrap .ichiba-link {
  float: right;
}
.nav-wrap .ichiba-link a {
  line-height: 60px;
  font-size: 82%;
  color: #655cac;
}
.nav-wrap .social-list {
  float: right;
  margin-right: 12px;
  padding: 20px 0;
}
.nav-wrap .social-list li {
  -webkit-transition-property: all;
          transition-property: all;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  position: relative;
  float: left;
  margin-left: 10px;
  overflow: hidden;
}
.nav-wrap .social-list li:hover {
  opacity: 0.6;
  *filter: alpha(opacity=60);
  *zoom: 1;
}
.nav-wrap .social-list li:first-child {
  margin-left: 0;
}
.nav-wrap .social-list li.twitter {
  background-image: url(/img/pc/common/sprite.png?20170404);
  background-position: -366px -60px;
  width: 20px;
  height: 20px;
}
.nav-wrap .social-list li.facebook {
  background-image: url(/img/pc/common/sprite.png?20170404);
  background-position: -336px -60px;
  width: 20px;
  height: 20px;
}
.nav-wrap .social-list li a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  filter: alpha(opacity=0);
  zoom: 1;
}

noscript .js-attention {
  margin: -7px 0 10px;
  padding: 10px;
  border-top: 2px solid #dc2437;
  border-bottom: 2px solid #dc2437;
  font-size: 82%;
  background-color: #f8d4d8;
}


/**
 * Footer
 */

.footer {
  position: relative;
  text-align: center;
  overflow: hidden;
  width: 100%;
  position: absolute;
  top: 100%;
}
.ie8 .footer, .oldie .footer {
  background-color: #655cac;
}
.footer svg {
  max-height: 100%;
  display: block;
  width: 100%;
  height: 100%;
}
.footer svg * {
  vector-effect: non-scaling-stroke;
}
.footer object {
  display: block;
}
.ie8 .footer object, .oldie .footer object {
  display: none;
}
.footer .footer-inner {
  width: 950px;
  margin: 0 auto;
  padding: 20px;
  background-color: #655cac;
}
.footer .footer-copy {
  line-height: 50px;
  color: #ffffff;
  font-size: 68%;
}

.footer a.settlement {
  position: absolute;
  top: 65%;
  right: 14%;
  color: #ffffff;
  font-size: 75%;
}

.footer-rakuten {
  padding: 20px 0;
  background: #dddddd;
  font-size: 75%;
}
.footer-rakuten a {
  text-decoration: underline;
}
.footer-rakuten a:hover {
  text-decoration: none;
}
.footer-rakuten .footer-inner {
  width: 950px;
  margin: 0 auto;
  line-height: 1;
}
.footer-rakuten .title {
  margin-bottom: 14px;
  border-bottom: 1px solid #dddddd;
}
.footer-rakuten .title dt {
  display: inline;
  font-size: 152%;
}
.footer-rakuten .title dd {
  display: inline;
  vertical-align: bottom;
}
.footer-rakuten .title dd a {
  margin-left: 15px;
}
.footer-rakuten .service-list {
  overflow: hidden;
  zoom: 1;
}
.footer-rakuten .service-list dl {
  overflow: hidden;
  line-height: 1.6;
  margin-bottom: 13px;
  zoom: 1;
}
.footer-rakuten .service-list dt {
  float: left;
  width: 100px;
}
.footer-rakuten .service-list dd {
  float: right;
  width: 840px;
}
.footer-rakuten .service-list ul {
  overflow: hidden;
  zoom: 1;
}
.footer-rakuten .service-list li {
  float: left;
  margin-right: 10px;
  word-break: keep-all;
  word-wrap: normal;
}
.footer-rakuten .company-footer {
  overflow: hidden;
  width: 950px;
  margin: 20px auto 0;
}
.footer-rakuten .company-footer .copyright {
  float: left;
}

