@charset "UTF-8";
/* key */
/* font */
/* grey */
/* background */
/* Information */
/* pink */
/* Font */
/*
 ----------------------------------------------------------------------
# bootstrap layout
 ----------------------------------------------------------------------
*/
.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}
.row {
  margin-right: -15px;
  margin-left: -15px;
}

.row:after {
  display: block;
  clear: both;
  content: '';
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-11 {
  width: 91.66666667%;
}

.col-xs-10 {
  width: 83.33333333%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-8 {
  width: 66.66666667%;
}

.col-xs-7 {
  width: 58.33333333%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-5 {
  width: 41.66666667%;
}

.col-xs-4 {
  width: 33.33333333%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-2 {
  width: 16.66666667%;
}

.col-xs-1 {
  width: 8.33333333%;
}

@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }

  .col-sm-12 {
    width: 100%;
  }

  .col-sm-11 {
    width: 91.66666667%;
  }

  .col-sm-10 {
    width: 83.33333333%;
  }

  .col-sm-9 {
    width: 75%;
  }

  .col-sm-8 {
    width: 66.66666667%;
  }

  .col-sm-7 {
    width: 58.33333333%;
  }

  .col-sm-6 {
    width: 50%;
  }

  .col-sm-5 {
    width: 41.66666667%;
  }

  .col-sm-4 {
    width: 33.33333333%;
  }

  .col-sm-3 {
    width: 25%;
  }

  .col-sm-2 {
    width: 16.66666667%;
  }

  .col-sm-1 {
    width: 8.33333333%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }

  .col-md-12 {
    width: 100%;
  }

  .col-md-11 {
    width: 91.66666667%;
  }

  .col-md-10 {
    width: 83.33333333%;
  }

  .col-md-9 {
    width: 75%;
  }

  .col-md-8 {
    width: 66.66666667%;
  }

  .col-md-7 {
    width: 58.33333333%;
  }

  .col-md-6 {
    width: 50%;
  }

  .col-md-5 {
    width: 41.66666667%;
  }

  .col-md-4 {
    width: 33.33333333%;
  }

  .col-md-3 {
    width: 25%;
  }

  .col-md-2 {
    width: 16.66666667%;
  }

  .col-md-1 {
    width: 8.33333333%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }

  .col-lg-12 {
    width: 100%;
  }

  .col-lg-11 {
    width: 91.66666667%;
  }

  .col-lg-10 {
    width: 83.33333333%;
  }

  .col-lg-9 {
    width: 75%;
  }

  .col-lg-8 {
    width: 66.66666667%;
  }

  .col-lg-7 {
    width: 58.33333333%;
  }

  .col-lg-6 {
    width: 50%;
  }

  .col-lg-5 {
    width: 41.66666667%;
  }

  .col-lg-4 {
    width: 33.33333333%;
  }

  .col-lg-3 {
    width: 25%;
  }

  .col-lg-2 {
    width: 16.66666667%;
  }

  .col-lg-1 {
    width: 8.33333333%;
  }
}
/*
 ----------------------------------------------------------------------
# bootstrap override
 ----------------------------------------------------------------------
*/
/* reset bootstrap */
.container {
  padding-right: 15px;
  padding-left: 15px;
  padding-top: 0px;
}

/* set container limit */
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container-wide {
    width: 1170px;
  }
}
@media (min-width: 768px) {
  .container-small {
    width: 750px;
  }
}
/* col間の余白を15にする */
.row {
  margin-left: -7.5px;
  margin-right: -7.5px;
}

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
  padding-left: 7.5px;
  padding-right: 7.5px;
}

@media (min-width: 768px) {
  .visible-xs {
    display: none !important;
    visibility: hidden !important;
  }
}
.row div[class^="col-"] img {
  width: 100%;
}

/*
 ----------------------------------------------------------------------
# bootstrap extend
 ----------------------------------------------------------------------
*/
@media (max-width: 767px) {
  /* bootstrapでxsのとき両脇の余白を消す */
  .col-xs-full {
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-left: -7.5px;
    margin-right: -7.5px;
  }

  /* xsで非表示 */
  .invisible-xs {
    display: none !important;
    visibility: hidden !important;
  }
}
/*
 ----------------------------------------------------------------------
# 余白
 ----------------------------------------------------------------------
*/
/* ページ全体の余白 */
.layout-page-top {
  margin-top: 60px;
}

.layout-page-bottom {
  margin-bottom: 60px;
}

@media (max-width: 767px) {
  .layout-page-top {
    margin-top: 40px;
  }

  .layout-page-bottom {
    margin-bottom: 40px;
  }
}
@media (max-width: 767px) {
  .layout-page-top.style-nomargin-sp {
    margin-top: 0px;
  }
}
@media (min-width: 768px) {
  .row.layout-sidemenu > div[class^="col-"]:first-child,
  .row.layout-sidemenu .layout-first-child {
    padding-right: 20px !important;
  }

  .row.layout-sidemenu > div[class^="col-"]:last-child,
  .row.layout-sidemenu .layout-last-child {
    padding-left: 25px !important;
  }
}
@media (min-width: 768px) {
  .row.layout-wide > div[class^="col-"]:first-child,
  .row.layout-wide .layout-first-child {
    padding-right: 30px !important;
  }

  .row.layout-wide > div[class^="col-"]:last-child,
  .row.layout-wide .layout-last-child {
    padding-left: 30px !important;
  }
}
@media (min-width: 768px) {
  .row.layout-reverse > div[class^="col-"] {
    float: right !important;
  }

  .row.layout-sidemenu.layout-reverse > div[class^="col-"]:first-child {
    padding-left: 25px !important;
  }

  .row.layout-sidemenu.layout-reverse > div[class^="col-"]:last-child {
    padding-right: 20px !important;
  }

  .row.layout-reverse.layout-wide > div[class^="col-"]:first-child,
  .row.layout-reverse.layout-wide .layout-first-child {
    padding-left: 30px !important;
    padding-right: 7.5px !important;
  }

  .row.layout-reverse.layout-wide > div[class^="col-"]:last-child,
  .row.layout-reverse.layout-wide .layout-last-child {
    padding-right: 30px !important;
    padding-left: 7.5px !important;
  }
}
/* 上下余白 */
.layout-margin-small {
  margin-top: 10px;
  margin-bottom: 10px;
}

.layout-margin-normal {
  margin-top: 20px;
  margin-bottom: 20px;
}

.layout-margin-large {
  margin-top: 40px;
  margin-bottom: 40px;
}

.layout-margin-exlarge {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media (max-width: 767px) {
  .layout-margin-exlarge {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
/* 上に余白 */
.layout-margin-small-top {
  margin-top: 10px !important;
}

.layout-margin-normal-top {
  margin-top: 20px !important;
}

.layout-margin-large-top {
  margin-top: 40px !important;
}

.layout-margin-exlarge-top {
  margin-top: 60px !important;
}

@media (max-width: 767px) {
  .layout-margin-exlarge-top {
    margin-top: 40px;
  }
}
/* 下に余白 */
.layout-margin-small-bottom {
  margin-bottom: 10px;
}

.layout-margin-normal-bottom {
  margin-bottom: 20px;
}

.layout-margin-large-bottom {
  margin-bottom: 40px;
}

.layout-margin-exlarge-bottom {
  margin-bottom: 60px;
}

@media (max-width: 767px) {
  .layout-margin-exlarge-bottom {
    margin-bottom: 40px;
  }
}
/* アクションエリア */
.layout-action-normal {
  margin-top: 20px;
}

.layout-action-large {
  margin-top: 40px;
}

@media (max-width: 767px) {
  .layout-action-normal,
  .layout-action-large {
    margin-top: 0px;
  }

  .layout-action-normal div[class^="col-"],
  .layout-action-large div[class^="col-"] {
    margin-top: 15px;
  }
}
@media (max-width: 767px) {
  .layout-margin-action div[class^="col-"] {
    margin-top: 15px;
  }

  .layout-margin-action div[class^="col-"]:first-child {
    margin-top: 0px;
  }
}
@media (min-width: 768px) {
  .layout-action-force-right .row div[class^="col-"] {
    float: right;
  }
}
.layout-margin-normal-row .row {
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .layout-margin-normal-row .row {
    margin-bottom: 10px;
  }
}
@media (max-width: 767px) {
  .layout-contents-block {
    padding-top: 50px;
  }
}

.row.layout-text p {
  font-size: 15px;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .row.layout-text .layout-title-article {
    margin-top: 66px;
  }
}
.row.layout-text .layout-title-article img {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .row.layout-text .layout-title-article img {
    width: 80%;
    display: block;
    margin: 0 auto;
    margin-bottom: 20px;
  }
}
.row.layout-text img.style-title {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .row.layout-text img.style-small {
    width: 80%;
    display: block;
    margin: 0 auto;
    margin-bottom: 20px;
  }
}
.row.layout-text img.style-small-force {
  width: 50% !important;
  display: block;
  margin: 0 auto;
  margin-bottom: 20px;
}
.row.layout-text img.style-left {
  margin: 0 0;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .row.layout-text img.style-exsmall {
    width: 50%;
    display: block;
    margin: 0 auto;
    margin-bottom: 20px;
  }
}

.row.layout-h1-image {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .row.layout-h1-image {
    margin-bottom: 40px;
  }
}
.row.layout-h1-image img {
  width: 100%;
  height: auto;
}

.visibility-hidden {
  display: none !important;
  visibility: hidden !important;
}

div img {
  max-width: 100%;
  height: auto;
}
