@charset "UTF-8";

@import url(https://fonts.googleapis.com/css?family=Noto+Sans);

/* ========================================
 * BASE
 * HEADER
 * CONTENTS
 * MAIN
 * MAIN - content
 * NAVI
 * FOOTER
 * PRODUCTS-LIST
 * BRAND-CONTAINER
 * PRELOADER
======================================== **/

/*===============================================================================================*/
/**
 * BASE
 *
 */
.on-js #contents { visibility: hidden;  }
.no-js #contents { visibility: visible; }
.on-js .lt-ie8 #contents { visibility: visible; }

a {
  -webkit-transition: color 0.3s ease-out;
          transition: color 0.3s ease-out;
}

#container {
  position: relative;
  /*background: url("../img/_grid.gif") repeat-y 50% 0;*/
  /* #brand-container height */
  padding-bottom: 160px;
  z-index: 1;
}

ul.container,
ol.container { list-style-type: none; }

.navigation {
  display: inline-block;
  list-style-type: none;
  font-size: 10px;
  font-size: 1.0rem;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.navigation > li {
  float: left;
  display: inline;
  line-height: 1;
}
.navigation > li > a {
  display: block;
}

.img-holder {
  display: block;
}
.tween-holder {
  overflow: hidden;
}
.tween-box {
  display: block;
  overflow: hidden;
}

.container {
  position: relative;
  text-align: left;
  margin: 0 auto;
 }

.icon {
  font-family: Arial;
}
.icon-arrow-right:before {
  content: "\0025ba";
}

/**
 *
 *
 */
.mark img {
  vertical-align: top;
}

/**
 * よくある左右で縦中央揃え
 *
 */
.table {
  position: relative;
  display: table;
  table-layout: fixed;
}
ul.table,
ol.table {
  margin-left: 0;
  list-style-type: none;
}
.table .table-cell {
  display: table-cell;
  vertical-align: middle;
}
.table.zwei { width: 100%; }
.table.zwei .table-cell { width: 50%; }
.table.top    .table-cell { vertical-align: top; }
.table.middle .table-cell { vertical-align: middle; }
.table.bottom .table-cell { vertical-align: bottom; }
.table img { max-width: none; }
.table ul:last-child,
.table ol:last-child { margin-bottom: 0; }
.table  p:last-child { margin-bottom: 0; }

/**
 * 黒丸に白矢印
 *
 */
a.mark-arrow {
  text-decoration: none;
  padding: 0 0 0 16px;
  background: transparent url("../../common/img/mark-arrow.gif") no-repeat 0 50%;
}
a.mark-arrow:hover {
  color: #fc4389;
  text-decoration: underline;
  background-color: transparent;
}

/**
 * ピンク四角に白矢印
 *
 */
a.mark-arrow-pink {
  color: #fc4389;
  text-decoration: none;
  padding: 0 0 0 16px;
  background: transparent url("../../common/img/mark-arrow-pink.gif") no-repeat 0 50%;
}
a.mark-arrow-pink:hover {
  color: #fc4389;
  text-decoration: underline;
  background-color: transparent;
}

/**
 * 丸数字リスト
 *
 */
ol.decimal {
  margin-left: 0;
  list-style-type: none;
}
ol.decimal li { line-height: 1.6; }
ol.decimal .dec1 { padding-left: 22px; background: url('../img/mark_dec_1.gif') no-repeat 0 0.1em; }
ol.decimal .dec2 { padding-left: 22px; background: url('../img/mark_dec_2.gif') no-repeat 0 0.1em; }
ol.decimal .dec3 { padding-left: 22px; background: url('../img/mark_dec_3.gif') no-repeat 0 0.1em; }
ol.decimal .dec4 { padding-left: 22px; background: url('../img/mark_dec_4.gif') no-repeat 0 0.1em; }

/**
 * ※リスト
 *
 */
ul.footnote {
  color: #333;
  text-align: left;
  list-style: url('../img/mark_notes.gif') outside;
}

/**
 * ピンク丸
 *
 */
ul.disc-pink {
  text-align: left;
  list-style: url('../img/mark_disc-pink.gif') outside;
}

/**
 * ピンク四角
 *
 */
ul.square-pink {
  text-align: left;
  list-style: url('../img/mark_square-pink.gif') outside;
}


/**
 * ずらし用アンカー
 *
 */
.anchor {
  position: absolute;
  top: -80px; /** global-header.height + alpha */
}

/**
 * ページトップボタン
 *
 */
.pagetop {
  clear: both;
  position: relative;
  width: 100%;
  margin: 40px 0 40px;
  border-bottom: 1px solid #d9d9d9;
  /*background: url('../img/pagetop-bground.gif') no-repeat 50% 100%;*/
}
.pagetop a {
  position: absolute;
  top: -21px; right: 20px;
  width: 99px; height: 22px;
  background: url("../img/pagetop-button.gif") no-repeat 0 0;
}

/**
 * 黄色地にクチュールカラーと王冠
 *
 */
.couture-color {
  font-weight: bold;
  background: url("../img/mark-crown.gif") no-repeat 100% 50%;
  margin: 0 7px 0 5px;
  padding: 2px;
  padding-right: 22px;
}


/*===============================================================================================*/
/**
 * HEADER
 *
 */
#header {
  position: relative;
  width: 100%;
  z-index: 999;
  -webkit-box-shadow: 0 0 8px rgba(0,0,0,0.3);
     -moz-box-shadow: 0 0 8px rgba(0,0,0,0.3);
      -ms-box-shadow: 0 0 8px rgba(0,0,0,0.3);
       -o-box-shadow: 0 0 8px rgba(0,0,0,0.3);
          box-shadow: 0 0 8px rgba(0,0,0,0.3);
}
#header h1 { margin: 0; }

  #global-header { background-color: #000; }
  #global-header .container .inner {
    height: 60px;
  }
  #brand-logo {
    position: absolute;
    top: 10px; left: 0;
    display: block;
    width: 160px; height: 40px;
    z-index: 9;
  }
  #sofina-logo {
    position: absolute;
    top: 10px; right: 0;
    display: block;
    width: 40px; height: 40px;
    z-index: 9;
  }

  #global-header a { color: #fff; }
  #global-header a:hover { color: #fc4389; text-decoration: underline; }

  #global-navigation {
    position: absolute;
    bottom: 0; right: 0;
    text-align: right;
    width: 100%;
    margin: 0;
    z-index: 8;
  }
  #global-navigation .navigation { vertical-align: bottom; }
  #global-navigation .navigation > li {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0.8;
  }
  #global-navigation .navigation > li a {
    height: 28px;
    padding: 8px 11px;
  }
  #global-navigation .navigation > li a:hover,
  #global-navigation .navigation > li a.active { color: #fc4389; text-decoration: none; }

  #breadcrumbs {
    position: absolute;
    top: 3px; right: 5px;
    float: right;
    height: 20px;
    z-index: 7;
  }
  #breadcrumbs .navigation { vertical-align: bottom; }
  #breadcrumbs li {
    color: #fc4389;
    font-size: 10px;
    font-size: 1.0rem;
    font-weight: bold;
    background: url('../img/breadcrumbs-arrow.gif') no-repeat 0 2px;
    padding: 5px 6px 5px 11px;
    height: 20px;
    line-height: 1;
  }
  #breadcrumbs li a {
    font-weight: normal;
    color: #ccc;
  }
  #breadcrumbs li.sofina   {
    background: none;
    padding-left: 0;
  }


/*===============================================================================================*/
/**
 * CONTENTS
 *
 */
#contents {
  position: relative;
  z-index: 777;
}
#main {
  position: relative;
  margin-bottom: 20px;
  z-index: 9;
}
#main:after {
  content: " ";
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 3px;
  background: url("../img/main-shadow.png") repeat-x 50% 100%;
  z-index: 9999;
}
/* ページ内ナビが来るので打ち消し */
.products #main { margin-bottom: 0; }


/*===============================================================================================*/
/**
 * MAIN
 *
 */
#main { /**/ }

/**
 * 製品ページ、システムページ等のコンテンツ部分
 *
 */
.banner { margin-bottom: 30px; }
#contents-banner .banner { margin-bottom: 0; }

/**
 * 製品ページ、システムページ等のコンテンツ部分
 *
 * #body .container > .grid > .column > #sectionXX.inner.content が1セクションとなる
 */
#body .container > .grid > .column > .content {
  padding: 0 20px;
  background: url("../img/content-bground.gif") no-repeat 0 0;
}
#body .content > .title {
  margin-bottom: 6px;
}
#body .content .title {
  color: #fc4389;
  font-size: 14px; font-size: 1.4rem;
}

/**
 * アンカー
 *
 */
#body .content a {
  color: #fc4389;
  text-decoration: underline;
  background-color: transparent;
}
#body .content a:hover {
  color: #fc4389;
  text-decoration: underline;
  background-color: #ffdbe7;
}

/**
 * 強調
 *
 */
#body .content em {
  color: #fc4389;
  font-weight: normal;
  font-style: normal;
}

/**
 * 水平線
 *
 */
#body .content hr {
  width: 90%;
  height: 1px;
  margin: 10px auto;
  padding: 0;
}
#body .content hr.dotted {
  border: none;
  border-top: 1px dotted #ccc;
}
#body .content hr.dashed {
  border: none;
  border-top: 1px dashed #ccc;
}

/**
 * 比較系
 *
 */
#body .content .compare { margin: 0 auto; }
#body .content .compare .title {
  font-size: 12px; font-size: 1.2rem;
  margin-bottom: 4px;
  padding: 5px 10px;
}
#body .content .compare .good .title { color: #fc4389; background-color: #ffdbe7; }
#body .content .compare .bad  .title { color: #000000; background-color: #cccccc; }
#body .content .compare .table-cell p:last-child { padding: 0 5px; }

/**
 * Questions
 *
 */
#body .content .questions {
  margin: 0;
  list-style-type: none;
}
#body .content .questions > .question {
  margin-bottom: 10px;
}
#body .content .questions > .question > .title {
  min-height: 42px;
  margin-bottom: 10px !important;
  padding: 8px 4px 8px 40px;
  background: #efefef url("../img/mark-question.gif") no-repeat 4px 50%;
  border: 1px solid #d3d3d3;
}
#body .content .questions .frequently {
  margin-left: 26px;
}


/*===============================================================================================*/
/**
 * FOOTER
 *
 */
#footer {
  position: relative;
  width: 100%;
  padding: 0;
  z-index: 888;
}

#banner {
  text-align: center;
}
#banner .navigation {
  margin: 0 -5px 20px;
  vertical-align: bottom;
}
#banner .navigation li {
  padding: 0 5px;
}
#banner .navigation.brand-site {
  margin-left: -10px;
  margin-right: -10px;
}
#banner .navigation.brand-site li {
  padding: 0 10px;
}


#sitemap {
  display: table;
  width: 100%;
  margin-bottom: 20px;
  border: 1px solid #d9d9d9;
}
#text-navigation { display: table-cell; vertical-align: top; width: auto; min-width: 210px; }
#products-list   { display: table-cell; vertical-align: top; width: auto; }

#text-navigation { padding: 20px; }
#text-navigation .brand-logo { margin-bottom: 20px; }
#text-navigation .navigation { display: block; }
#text-navigation .navigation > li { float: none; display: block; line-height: 2; }
#text-navigation .navigation a { display: inline; font-size: 12px; font-size: 1.2rem; padding-top: 1px; }


/**
 * PRODUCTS-LIST
 *
 */
#products-list {
  padding: 20px;
  border-left: 1px solid #d9d9d9;
}
#products-list ul { list-style-type: none; }
#products-list .title {
  font-size: 12px; font-size: 1.2rem;
}
#products-list > .title {
  margin-bottom: 5px;
  padding: 4px 10px 4px 26px;
  background: url("../img/sitemap/mark_square-pink.gif") no-repeat 10px 50%;
}
#products-list .products {
  padding: 0 10px;
}
#products-list .products .title { margin: 15px 0 5px; }
#products-list .products .list {
  font-size: 10px; font-size: 1.0rem;
  padding-left: 0;
  letter-spacing: 0;
}
#products-list .products .list > li {
  line-height: 1.8;
}

/**
 * BRAND-CONTAINER
 *
 */
#brand-container {
  position: absolute;
  bottom: 0; left: 0;
  width: 100%;
  z-index: 9;
}
#brand-container iframe {
  vertical-align: bottom;
}


/**
 * PRELOADER
 *
 */
#preloader {
  position: absolute;
  top: 0; left: 0;
  bottom: 0; right: 0;
  display: block;
  width: 100%; height: 100%;
  text-align: center;
  background: url("../img/preloader-bground.gif") repeat-x 50% 50%;
  background: rgba(255,255,255,0.5);
  z-index: 999;
}
#preloader.transparent {
  background: transparent;
}
#preloader .progress {
  position: absolute;
  top: 250px; left: 50%;
  display: block;
  width: 48px; height: 48px;
  margin: -24px 0 0 -24px;
  background: url("../img/distractor.gif") no-repeat 50% 50%;
}


/*===============================================================================================*/
/**
 * PLUG-IN
 *
 */
/***** bxslider *****/
.bxslider {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  list-style-type: none;
}
.bxslider li {
  max-width: 1280px;
}
.bx-wrapper .bx-pager {
  position: absolute;
  bottom: 5px;
  width: 100%;
  text-align: center;
  z-index: 9999;
}
.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  display: block;
  width: 16px; height: 16px;
  margin: 5px;
  background: #fff;
  text-indent: -9999px;
  outline: 0;
  border: 2px solid #fc4389;
  border-radius: 8px;
  -webkit-border-radius: 8px;
     -moz-border-radius: 8px;
      -ms-border-radius: 8px;
       -o-border-radius: 8px;
          border-radius: 8px;
  -webkit-box-shadow: 0 0 2px rgba(0,0,0,.5);
     -moz-box-shadow: 0 0 2px rgba(0,0,0,.5);
      -ms-box-shadow: 0 0 2px rgba(0,0,0,.5);
       -o-box-shadow: 0 0 2px rgba(0,0,0,.5);
          box-shadow: 0 0 2px rgba(0,0,0,.5);
}
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #fc4389;
}
.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 50%;
  width: 30px; height: 30px;
  margin-top: -15px;
  outline: 0;
  z-index: 9999;
}
.bx-wrapper .bx-prev { left:  -30px; }
.bx-wrapper .bx-next { right: -30px; }

/***** colorbox *****/
#colorbox, #cboxOverlay, #cboxWrapper { position:absolute; top:0; left:0; z-index:9999; overflow:visible !important; }
#cboxOverlay { position:fixed; width:100%; height:100%; }
#cboxMiddleLeft, #cboxBottomLeft { clear:left; }
#cboxContent { position:relative; }
#cboxLoadedContent { overflow:auto; -webkit-overflow-scrolling: touch; }
#cboxTitle { margin:0; }
#cboxLoadingOverlay, #cboxLoadingGraphic { position:absolute; top:0; left:0; width:100%; height:100%; }
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow { cursor:pointer; }
.cboxPhoto { float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic; }
.cboxIframe { width:100%; height:100%; display:block; border:0; }
#colorbox, #cboxContent, #cboxLoadedContent { box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box; }

#cboxOverlay { background:url("../img/overlay.png") repeat 0 0; }
#colorbox{ outline:0; }
  #cboxContent{ text-align:center; padding:10px; padding-bottom:46px; background:#fff; }
    #cboxLoadedContent { visibility:hidden; }
    .cboxIframe { background:transparent; }
    #cboxError { /**/ }
    #cboxLoadingOverlay { /**/ }
    #cboxLoadingGraphic { background:url("../img/distractor.gif") no-repeat 50% 50%; }

    #cboxTitle {
      position: absolute;
      display: none;
    }
    #cboxPrevious, #cboxNext, #cboxClose { padding:0; background: url('../img/preview-ui.png') no-repeat 0 0; border:none; outline:0; }
    #cboxPrevious { position: absolute; bottom: 10px; left: 10px; width: 70px; height: 26px; background-position:   0   0; }
    #cboxNext     { position: absolute; bottom: 10px; left: 90px; width: 70px; height: 26px; background-position: -70px 0; }
    #cboxClose {
      position: absolute;
      bottom: 10px; right: 10px;
      width: 70px; height: 26px;
      background-position: -140px 0;
    }
