@charset "utf-8";

body {
  color:#000;
  background:#ff407f url(../img/bg_pattern.gif);
  background-size:6%;
  font-size:14px;
  line-height:1.8;
  font-family:"メイリオ", "Hiragino Kaku Gothic Pro", sans-serif;
  -webkit-text-size-adjust: none;
  word-wrap: break-word;
}

@media screen and (min-width: 768px) {
    body {
      background-size:auto;
    }
}
@media screen and (min-width: 992px) {
    body {
      font-size:20px;
    }
}

a:link {
  color:#0066cc;
  text-decoration:none;
}
a:visited {
  color:#00aeec;
}
a:hover {
  color:#00aeec;
  text-decoration:underline;
}

.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}
.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 768px) {
  .container {
    padding-left: 50px;
    padding-right: 50px;
  }
}

@media screen and (min-width: 1200px) {
  .container {
    width: 1060px;
  }
}

.bevel {
  padding-bottom:10px;
  background:
        	-webkit-linear-gradient(45deg,  transparent 10px, #fff 10px),
	        -webkit-linear-gradient(135deg, transparent 10px, #fff 10px),
        	-webkit-linear-gradient(225deg, transparent 10px, #fff 10px),
	        -webkit-linear-gradient(315deg, transparent 10px, #fff 10px);
  background:
        	-moz-linear-gradient(45deg,  transparent 10px, #fff 10px),
	        -moz-linear-gradient(135deg, transparent 10px, #fff 10px),
        	-moz-linear-gradient(225deg, transparent 10px, #fff 10px),
	        -moz-linear-gradient(315deg, transparent 10px, #fff 10px);
  background:
        	-o-linear-gradient(45deg,  transparent 10px, #fff 10px),
	        -o-linear-gradient(135deg, transparent 10px, #fff 10px),
        	-o-linear-gradient(225deg, transparent 10px, #fff 10px),
	        -o-linear-gradient(315deg, transparent 10px, #fff 10px);
  background:
        	-ms-linear-gradient(45deg,  transparent 10px, #fff 10px),
	        -ms-linear-gradient(135deg, transparent 10px, #fff 10px),
        	-ms-linear-gradient(225deg, transparent 10px, #fff 10px),
	        -ms-linear-gradient(315deg, transparent 10px, #fff 10px);
  background-position: bottom left, bottom right, top right, top left;
  background-size: 51% 51%;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
.bevel {
  padding-bottom:20px;
  background:
        	-webkit-linear-gradient(45deg,  transparent 20px, #fff 20px),
	        -webkit-linear-gradient(135deg, transparent 20px, #fff 20px),
        	-webkit-linear-gradient(225deg, transparent 20px, #fff 20px),
	        -webkit-linear-gradient(315deg, transparent 20px, #fff 20px);
  background:
        	-moz-linear-gradient(45deg,  transparent 20px, #fff 20px),
	        -moz-linear-gradient(135deg, transparent 20px, #fff 20px),
        	-moz-linear-gradient(225deg, transparent 20px, #fff 20px),
	        -moz-linear-gradient(315deg, transparent 20px, #fff 20px);
  background:
        	-o-linear-gradient(45deg,  transparent 20px, #fff 20px),
	        -o-linear-gradient(135deg, transparent 20px, #fff 20px),
        	-o-linear-gradient(225deg, transparent 20px, #fff 20px),
	        -o-linear-gradient(315deg, transparent 20px, #fff 20px);
  background:
        	-ms-linear-gradient(45deg,  transparent 20px, #fff 20px),
	        -ms-linear-gradient(135deg, transparent 20px, #fff 20px),
        	-ms-linear-gradient(225deg, transparent 20px, #fff 20px),
	        -ms-linear-gradient(315deg, transparent 20px, #fff 20px);
  background-position: bottom left, bottom right, top right, top left;
  background-size: 51% 51%;
  background-repeat: no-repeat;
}
}

.bevel:not(:target) {
  background:#fff\9;
}

.container-fluid {
  padding-right: 40px;
  padding-left: 40px;
  margin-right: auto;
  margin-left: auto;
}

.container-fluid.no-gutters {
  padding-right: 0px;
  padding-left: 0px;
}
.row {
  margin-left: -20px;
  margin-right: -20px;
}
.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.row.no-gutters > [class^="col-"],
.row.no-gutters > [class*=" col-"] {
  padding-left: 0;
  padding-right: 0;
}
.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-left: 20px;
  padding-right: 20px;
}
.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.66666666666666%;
}
.col-xs-10 {
  width: 83.33333333333334%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666666666666%;
}
.col-xs-7 {
  width: 58.333333333333336%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666666666667%;
}
.col-xs-4 {
  width: 33.33333333333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.666666666666664%;
}
.col-xs-1 {
  width: 8.333333333333332%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666666666666%;
}
.col-xs-pull-10 {
  right: 83.33333333333334%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666666666666%;
}
.col-xs-pull-7 {
  right: 58.333333333333336%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666666666667%;
}
.col-xs-pull-4 {
  right: 33.33333333333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.666666666666664%;
}
.col-xs-pull-1 {
  right: 8.333333333333332%;
}
.col-xs-pull-0 {
  right: 0%;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666666666666%;
}
.col-xs-push-10 {
  left: 83.33333333333334%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666666666666%;
}
.col-xs-push-7 {
  left: 58.333333333333336%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666666666667%;
}
.col-xs-push-4 {
  left: 33.33333333333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.666666666666664%;
}
.col-xs-push-1 {
  left: 8.333333333333332%;
}
.col-xs-push-0 {
  left: 0%;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666666666666%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333333334%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666666666666%;
}
.col-xs-offset-7 {
  margin-left: 58.333333333333336%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666666666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.666666666666664%;
}
.col-xs-offset-1 {
  margin-left: 8.333333333333332%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media screen and (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.66666666666666%;
  }
  .col-sm-10 {
    width: 83.33333333333334%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666666666666%;
  }
  .col-sm-7 {
    width: 58.333333333333336%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666666666667%;
  }
  .col-sm-4 {
    width: 33.33333333333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.666666666666664%;
  }
  .col-sm-1 {
    width: 8.333333333333332%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666666666666%;
  }
  .col-sm-pull-10 {
    right: 83.33333333333334%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666666666666%;
  }
  .col-sm-pull-7 {
    right: 58.333333333333336%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666666666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.666666666666664%;
  }
  .col-sm-pull-1 {
    right: 8.333333333333332%;
  }
  .col-sm-pull-0 {
    right: 0%;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666666666666%;
  }
  .col-sm-push-10 {
    left: 83.33333333333334%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666666666666%;
  }
  .col-sm-push-7 {
    left: 58.333333333333336%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666666666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.666666666666664%;
  }
  .col-sm-push-1 {
    left: 8.333333333333332%;
  }
  .col-sm-push-0 {
    left: 0%;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666666666666%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333333334%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666666666666%;
  }
  .col-sm-offset-7 {
    margin-left: 58.333333333333336%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666666666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.666666666666664%;
  }
  .col-sm-offset-1 {
    margin-left: 8.333333333333332%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media screen and (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.66666666666666%;
  }
  .col-md-10 {
    width: 83.33333333333334%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666666666666%;
  }
  .col-md-7 {
    width: 58.333333333333336%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666666666667%;
  }
  .col-md-4 {
    width: 33.33333333333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {

    width: 16.666666666666664%;
  }
  .col-md-1 {
    width: 8.333333333333332%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666666666666%;
  }
  .col-md-pull-10 {
    right: 83.33333333333334%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666666666666%;
  }
  .col-md-pull-7 {
    right: 58.333333333333336%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666666666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.666666666666664%;
  }
  .col-md-pull-1 {
    right: 8.333333333333332%;
  }
  .col-md-pull-0 {
    right: 0%;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666666666666%;
  }
  .col-md-push-10 {
    left: 83.33333333333334%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666666666666%;
  }
  .col-md-push-7 {
    left: 58.333333333333336%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666666666667%;
  }
  .col-md-push-4 {
    left: 33.33333333333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.666666666666664%;
  }
  .col-md-push-1 {
    left: 8.333333333333332%;
  }
  .col-md-push-0 {
    left: 0%;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666666666666%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333333334%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666666666666%;
  }
  .col-md-offset-7 {
    margin-left: 58.333333333333336%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666666666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.666666666666664%;
  }
  .col-md-offset-1 {
    margin-left: 8.333333333333332%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media screen and (min-width: 1400px) {
  .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.66666666666666%;
  }
  .col-lg-10 {
    width: 83.33333333333334%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666666666666%;
  }
  .col-lg-7 {
    width: 58.333333333333336%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666666666667%;
  }
  .col-lg-4 {
    width: 33.33333333333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.666666666666664%;
  }
  .col-lg-1 {
    width: 8.333333333333332%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666666666666%;
  }
  .col-lg-pull-10 {
    right: 83.33333333333334%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666666666666%;
  }
  .col-lg-pull-7 {
    right: 58.333333333333336%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666666666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.666666666666664%;
  }
  .col-lg-pull-1 {
    right: 8.333333333333332%;
  }
  .col-lg-pull-0 {
    right: 0%;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666666666666%;
  }
  .col-lg-push-10 {
    left: 83.33333333333334%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666666666666%;
  }
  .col-lg-push-7 {
    left: 58.333333333333336%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666666666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.666666666666664%;
  }
  .col-lg-push-1 {
    left: 8.333333333333332%;
  }
  .col-lg-push-0 {
    left: 0%;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666666666666%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333333334%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666666666666%;
  }
  .col-lg-offset-7 {
    margin-left: 58.333333333333336%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666666666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.666666666666664%;
  }
  .col-lg-offset-1 {
    margin-left: 8.333333333333332%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}

.hidden-xs-up {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .hidden-xs-down {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .hidden-sm-up {
    display: none !important;
  }
}

@media screen and (max-width: 991px) {
  .hidden-sm-down {
    display: none !important;
  }
}

@media screen and (min-width: 992px) {
  .hidden-md-up {
    display: none !important;
  }
}

@media screen and (max-width: 1199px) {
  .hidden-md-down {
    display: none !important;
  }
}

@media screen and (min-width: 1200px) {
  .hidden-lg-up {
    display: none !important;
  }
}

.hidden-lg-down {
  display: none !important;
}

.title-01 {
  font-size:18px;
  color:#ff407f;
  font-weight:bold;
  text-align:center;
  padding-bottom:5px;
  margin-bottom:30px;
  border-bottom:2px solid;
}
.title-02 {
  font-size:16px;
  font-weight:bold;
  padding:30px 0 10px;
}

@media screen and (min-width: 768px) {
    .title-02 {
      font-size:24px;
    } 
}
.title-03 {
  font-size:18px;
  margin-bottom:10px;
}
.title-04 {
  font-size:16px;
  margin-bottom:10px;
}

p + .title-02,
ul + .title-02,
ol + .title-02,
table + .title-02,
.box + .title-02,
p + .title-03,
ul + .title-03,
ol + .title-03,
table + .title-03,
.box + .title-03 {
  margin-top:40px;
}

.title-01,
.title-02,
.title-03,
.title-04 {
  clear:both;
  line-height:1.8;
}

.title-sub {
  font-weight:normal;
  color:#FFFFFF;
  padding:4px 10px;
  vertical-align:middle;
  font-size:50%;
}

.title-sub-red {background:#c80012;}
.title-sub-gray {background:#999;}

.title-line {
  text-align:center;
  padding:15px 0 0;
  border-top:1px solid #000;
}

@media screen and (min-width: 768px) {
    .title-01 {
      font-size:26px;
    }
    .title-02 {
      font-size:24px;
    }
    .title-line {
      padding:0;
      border:none;
      position: relative;
    }

    .title-line:before {
      border-top:1px solid #000;
      content:"";
      position:absolute;
      top:50%;
      left:0;
      width:100%;
     }

    .title-line span {
      background:#FFF;
      display:inline-block;
      padding: 0 10px;
      position: relative;
     }
}

.text-center {text-align:center;}

@media screen and (min-width: 992px) {
  .text-center-md {
    text-align:center;
  }
}

.text-right {text-align:right;}
.text-left {text-align:left;}

.font-sm {font-size:80%;}
.font-default {font-size:100%;}
.font-lg {font-size:140%;}
.font-normal {font-weight:normal;}

.color-red {color:#c80012;}
.color-gray {color:#949495;}

.br-none-xs br,
.br-none-sm br {
  display:none;
}

@media screen and (min-width: 768px) {
    .br-none-xs br {
      display:block;
    }
}

@media screen and (min-width: 992px) {
    .br-none-sm br {
      display:block;
    }
}

.nowrap {
  white-space:nowrap;
}

.img-thumbnail {
  border:2px solid #000;
  padding:6px;
  background:#fff;
}

.img-circle {
  border-radius: 50%;
}

.img-shadow {
  box-shadow:rgba(0, 0, 0, 0.0470588) 5px 5px 0px 0px;
}

.figcaption {
  margin:10px 0 10px;
}

.f-left {float:left;}
.f-right {float:right;}
.f-left-margin {
  float:left;
  margin:0 20px 15px 0;
}
.f-right-margin {
  float:right;
  margin:0 0 15px 20px;
}

@media screen and (min-width: 768px) {
    .f-left-margin {
      margin:0 40px 15px 0;
    }
    
    .f-right-margin {
      margin:0 0 15px 40px;
    }
}

.clear {clear:both;}

@media screen and (max-width: 767px) {
    .f-none-xs {
      display:block;
      float:none !important;
      margin:0 auto 20px !important;
      text-align:center;
    }
}

@media screen and (max-width: 991px) {
    .f-none-sm {
      display:block;
      float:none !important;
      margin:0 auto 20px !important;
      text-align:center;
    }
}

.ul,
.ul-horizontal,
.ul-note,
.ul-anchor,
.ol,
.ol-flow,
.ol-flow-block,
.dl,
.dl-horizontal,
.dl-faq,
.blockquote,
.q,
.table,
.list-group,
.panel,
.box,
.bar {
  margin-bottom:20px;
}

.ul ul,
.ol ol {
  margin-bottom:5px;
}

.ul li,
.ul-horizontal li,
.ul-note li,
.ol li,
.dl dd,
.dl-horizontal dt,
.dl-horizontal dd {
  margin-bottom:2px;
}

.ul {
  list-style:disc;
  padding-left:25px;
  overflow:hidden;
}

.ul-horizontal {
  list-style:disc;
  padding-left:20px;
  overflow:hidden;
}

@media screen and (min-width: 768px) {
    .ul-horizontal-col-3,
    .ul-horizontal-col-4 {
      margin-right:-60px;
    }
     
    .ul-horizontal-col-3 li,
    .ul-horizontal-col-4 li {
      padding-right:60px;
      width:50%;
      float:left;
     }
}

@media screen and (min-width: 992px) {
     .ul-horizontal-col-3 li {
       width:25%;
      }
      
     .ul-horizontal-col-4 li {
       width:33.33333333333333%;
      }
      
     .ul-horizontal-col-6 {
       margin-right:-60px;
     }
       
     .ul-horizontal-col-6 li {
       padding-right:60px;
       width:50%;
       float:left;
      }
}

.ul-note {
  overflow:hidden;
}

.ul-note li {
  padding-left:1em;
  text-indent:-1em;
}

.ul-anchor {
  overflow:hidden;
  border-top:1px solid #e5e5e5;
  border-bottom:1px solid #e5e5e5;
  font-size:16px;
}

@media screen and (min-width: 768px) {
    .ul-anchor {
      overflow:hidden;
      }

    .ul-anchor li {
      float:left;
      }
}

.ul-anchor li a {
  text-decoration:none;
  color:#0066cc;
  display:block;
  padding:5px 15px;
}

.ul-anchor li a:hover {
  background:#f5f5f5;
}

.ul-anchor li a:before {
  font-family: FontAwesome;
  content: "\f0d7";
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display:inline-block;
  margin-right:10px;
}

.ol {
  padding-left:26px;
  overflow:hidden;
 }
 
.ol-flow {
  list-style:none;
  counter-reset:item;
}

.ol-flow > li {
  border:1px solid #e5e5e5;
  margin-bottom:30px;
  border-radius:5px;
  clear:both;
  display:table;
  width:100%;
  padding-right:15px;
  position:relative;
}

.ol-flow > li *:last-child {
  margin-bottom:10px !important;
}

.ol-flow > li:before {
  counter-increment: item;
  content: counter(item);
  background:#f5f5f5;
  color:#999;
  font-size:18px;
  display:table-cell;
  padding:0px;
  width:40px;
  text-align:center;
  border-right:20px solid #fff;
  font-family:Arial, Helvetica, sans-serif;
}

.ol-flow > li:after {
  font-family: FontAwesome;
  content: "\f0d7";
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  color:#e5e5e5;
  font-size:30px;
  position:absolute;
  bottom:-32px;
  left:50%;
}

.ol-flow > li:last-child:after {
  content:normal;
}

.ol-flow-block {
  list-style:none;
  overflow:hidden;
}

.ol-flow-block li {
  padding:5px 15px;
  color:#FFF;
  background:#c80012;
  margin-bottom:30px;
  border-radius:3px;
  position:relative;
  text-align:center;
}

.ol-flow-block li:after {
  font-family: FontAwesome;
  content: "\f0d7";
  font-weight: normal;
  font-style: normal;
  color:#e5e5e5;
  font-size:30px;
  line-height:1;
  position:absolute;
  bottom:-30px;
  left:50%;
}

@media screen and (min-width: 768px) {
  .ol-flow-block li {
    float:left;
    margin-right:40px;
    margin-bottom:20px;
  }
  
  .ol-flow-block li:after {
    content: "\f0da";
    margin-right:-40px;
    bottom:auto;
    left:auto;
    right:12px;
  }
}

.ol-flow-block li:last-child:after {
  content:normal;
}

.dl dt {
  font-weight:bold;
}

.dl dd {
  word-wrap: break-word;
}

.dl-horizontal dt {
  font-weight:bold;
}

.dl-horizontal dd {
  margin-bottom:10px;
}

@media screen and (min-width: 768px) {
    .dl-horizontal dt {
      clear:both;
      float:left;
      width:8em;
     }

    .dl-horizontal dd {
      padding-left:9em;
     }
}

.blockquote {
  color:#999;
  padding:0 0 0 40px;
  position:relative;
  display:block;
}

.blockquote:before {
  content:"“";
  font-size:65px;
  line-height:1.1;
  font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  color:#e5e5e5;
  position:absolute;
  left:0px;
  top:0px;
}

.q {
  color:#999;
  margin:0 5px;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #e5e5e5;
}

.list-group-item:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.list-group-item a {
  text-decoration:none;
}

.list-group-item a:before {
  display:block;
  float:left;
  font-family: FontAwesome;
  content: "\f105";
  font-weight: normal;
  font-style: normal;
  padding-right:10px;
}

.link,
.link-anchor {
  text-decoration:none;
}

.link:before {
  font-family: FontAwesome;
  content: "\f105";
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  margin-right:6px;
  color:#000;
}

.link-anchor:before {
  font-family: FontAwesome;
  content: "\f107";
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  margin-right:6px;
  color:#000;
}

.link-external:after {
  font-family: FontAwesome;
  content: "\f14c";
  font-weight: normal;
  font-style: normal;
  font-size:12px;
  display: inline-block;
  margin-right:6px;
  margin-left:6px;
  color:#ccc;
}

a[href $='.pdf']:after {
  font-family: FontAwesome;
  content: "\f1c1";
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  margin-right:6px;
  margin-left:6px;
}

a[href $='.xlsx']:after {
  font-family: FontAwesome;
  content: "\f1c3";
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  margin-right:6px;
  margin-left:6px;
}

.table {
  width:100%;
  border:1px solid #e5e5e5;
}

.table td *:last-child {
  margin-bottom:0 !important;
}

.table caption {
  padding-bottom:5px;
  font-weight:bold;
}

.table th {
  text-align:left;
  background:#f5f5f5
}

@media screen and (min-width: 768px) {
  .table th {
    white-space:nowrap;
  }
}

.table thead th {
  text-align:center;
}

.table th,
.table td {
  padding:20px;
  vertical-align:top;
}

.table-narrow th,
.table-narrow td {
  padding:10px 15px;
  border-top:1px solid #e5e5e5;
  border-left:1px solid #e5e5e5;
  vertical-align:top;
}

@media screen and (max-width: 767px) {
    .table-scroll-xs {
      width: 100%;
      margin-bottom: 15px;
      overflow-x: scroll;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      -ms-overflow-style: -ms-autohiding-scrollbar;
     }

    .table-scroll-xs > table {
      margin-bottom: 0;
    }

    .table-scroll-xs > table th {
      white-space: nowrap;
    }

    .table-vertical-xs {
      border-top:none;
      border-left:none;
    }

    .table-vertical-xs th,
    .table-vertical-xs td {
      display:block;
    }
}

.panel{
  background:#fff;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
}

.panel-body {
  padding: 20px;
}

.panel-body *:last-child {
  margin-bottom:0 !important;
}

.panel-heading {
  padding: 10px 20px;
  border-bottom: 1px solid transparent;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  background-color: #f5f5f5;
  border-color: #e5e5e5;
}

.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  color: inherit;
}

.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #e5e5e5;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.panel > .list-group {
  margin-bottom: 0;
}

.panel > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}

.panel > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

.panel > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}

.box {
  clear:both;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  padding:19px;
}

.box > *:last-child {
  margin-bottom:0 !important;
}

.box-gray {
  border:none;
  background:#f5f5f5;
}

.bar {
  clear:both;
  border-top:1px solid #e5e5e5;
  border-left:1px solid #e5e5e5;
  overflow:hidden;
}

.bar li {
  float:left;
  width:100%;
  border-right:1px solid #e5e5e5;
  border-bottom:1px solid #e5e5e5;
}

@media screen and (min-width: 768px) {
    .bar li {
      text-align:center;
      width:50%;
    }

    .bar-col-4 li {
      width:33.33333333333333%;
    }
}

@media screen and (min-width: 992px) {
    .bar-col-3 li {
      width:25%;
    }

    .bar-col-6 li {
      width:50%;
    }
}

.bar li a {
  padding:10px 20px ;
  display:block;
  text-decoration:none;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.bar li a:hover,
.bar li.current {
  background:#f5f5f5;
}

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}

.embed-responsive.embed-responsive-4by3 {
  padding-bottom: 75%;
}

.label {
  font-size:80%;
  padding:1px 10px;
  white-space:nowrap;
  vertical-align:middle;
}

.label-red {
  color:#c80012;
  border:1px solid #c80012;
}

.label-gray {
  color:#999;
  border:1px solid #999;
}

#main .tag {
  line-height:1.4;
}

#main .tag a {
  text-decoration:none;
  border-radius:3px;
  font-size:80%;
  color:#fff !important;
  padding:1px 10px;
  white-space:nowrap;
  -webkit-transition: all .2s;
  transition: all .2s;
}

#main .tag a:hover {
  opacity:0.5;
  filter:alpha(opacity=50);
  -ms-filter: "alpha( opacity=50 )";
}

#main .tag-red a {
  background:#c80012;
}

#main .tag-gray a {
  background:#999;
}

#main .tag-lightgray a {
   background:#f5f5f5;
   color:#999 !important;
}

.btn {
  color:#fff !important;
  text-decoration:none !important;
  display:inline-block;
  padding:1px 20px;
  text-align:center;
  position:relative;
  border-radius:100px;
  font-size:16px;
  border:2px solid #000;
}

.btn,
.btn::before,
.btn::after {
  -webkit-transition: all .2s;
  transition: all .2s;
}

.btn:hover {
  text-decoration:none;
  opacity:0.5;
  filter:alpha(opacity=50);
  -ms-filter: "alpha( opacity=50 )";
}

.btn-yellow {
  color:#000 !important;
  background:#fff600;
}

.btn-red {
  background:#c80012;
}

.btn-white {
  background:#fff;
  color:#0066cc !important;
  border:none;
}


.btn-gray {
  background:#999;
}

.btn-lightgray {
  color:#999 !important;
  background-color:#f5f5f5;
}

.btn-white-border {
  border:1px solid #fff;
}

.btn-lg {
  font-size:140%;
}

.btn-xl {
  font-size:160%;
  border:4px solid #000;
}

.btn-sm {
  font-size:12px;
}

.btn-block {
  display: block;
  width: 100%;
}

@media screen and (min-width: 768px) {
    .btn-xl {
      font-size:180%;
    }
}

.line-top {
  margin-top:30px;
  padding-top:30px;
  border-top:1px solid #000;
}

.line-bottom {
  margin-bottom:30px;
  padding-bottom:10px;
  border-bottom:1px solid #000;
}

.line-gray {
  border-top:1px solid #e5e5e5;
}

.breadcrumb {
  clear:both;
  margin-bottom:50px;
}

.breadcrumb ul li {
  display:inline;
  font-size:80%;
}

.breadcrumb ul li a{
  color:#999;
  text-decoration:none;
}

.breadcrumb ul li:before {
  content: "/";
  color:#ccc;
  margin:0 10px;
}

.breadcrumb ul li:first-child:before {
  content:normal;
}

.pagination {
  text-align: center;
  margin-bottom:30px;
}

a.page-numbers,
.pagination .current {
  padding:2px 8px;
  text-decoration: none;
}

.pagination .current {
  background: #fff000;
  color: #000;
}

.pager {
  clear:both;
  margin-bottom:30px;
}

.pager ul {
  overflow:hidden;
  border-top:1px solid #000;
  border-bottom:1px solid #000;
  position:relative;
  margin-bottom:30px;
}

.pager ul:after {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background: #000;
  position:absolute;
  left:50%;
}

.pager li {
  display: inline;
  width:50%;
}

.pager li a {
  border:none;
  display:block;
  padding:5px;
}

.pager .next {
  float: left;
}

.pager .previous {
  float: right;
  text-align:right;
}

.share {
  clear:both;
  margin-top:20px;
  margin-bottom:20px;
}

.share ul li {
  display: inline-block;
  vertical-align:top;
}

.share-horizontal .fb_iframe_widget span {
  vertical-align:top !important;
}

.share-horizontal .twitter-share-button {
  width: 90px !important;
}

.share-horizontal #___plusone_0 {
  width: 60px !important;
}

@media screen and (min-width: 768px) {
    .form th {
      width:300px;
     }
}

.form textarea,
.form input[type="text"],
.form input[type="button"],
.form input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0;
}

.form textarea,
.form input[type="text"] {
  padding:5px 10px;
  width:100%;
  border:2px solid #ccc;
  font-size:16px;
}

.form-inline input[type="text"] {
  width:auto;
}

.form pre {
  font-family:inherit;
  white-space: -moz-pre-wrap;
  white-space: pre-wrap;
}

.form-example {
  font-size:80%;
  color:#999;
  display:block;
}

@media screen and (min-width: 768px) {
    .form textarea,
    .form input[type="text"] {
  width:auto;
  }
    .form-example {
      display:inline;
    }
}

.form input[type="checkbox"] {
  width:30px;
  height:30px;
  -moz-transform: scale( 1.8 , 1.8 );
}

.form input[type="submit"] {
  background:#42be39;
  color:#fff;
  border:none;
  padding:15px 30px;
  cursor:pointer;
  font-size:24px;
  font-weight:bold;
  border-radius:10px;
  box-shadow: 0 5px 0 0 rgba(31, 136, 23, 1);
  width:100%;
}

.form input[type="submit"]:hover {
  background:#5ed256;
  color:#fffc01;
  box-shadow: 0 5px 0 0 rgba(64, 180, 55, 1);
}

.form input[type="submit"]:disabled {
  background: #ccc;
  color:#fff;
  box-shadow: 0 5px 0 0 rgba(177, 177, 177, 1);
  cursor:default;
}

.form select#store {
  font-size:16px;
  width:100%;
}

@media screen and (min-width: 768px) {
    .form input[type="submit"] {
      padding:15px 80px;
      width:auto;
    }
}

.label-required,
.label-optional {
  margin:5px 10px 0 0;
  float:left;
  padding:3px 5px;
  line-height:1;
  font-size:80%;
  font-weight:normal;
  color:#000;
  border-radius:2px;
}

.label-required {
  background:#EF0003;
  color:#FFF;
}

.label-optional {
  background:#fff;
}

.label-required + span,
.label-optional + span {
  display:block;
  overflow:hidden;
}

.error {
  color:#C80012;
  font-weight:bold;
  padding:0 0 2px 0px;
}

.error:before {
  display: inline-block;
  margin-right:5px;
  font-family: FontAwesome;
  font-size:14px;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
   content: "\f071";
}

.mg-0 {margin:0 !important;}
.mb-0 {margin-bottom:0px !important;}
.mb-5 {margin-bottom:5px !important;}
.mb-10 {margin-bottom:10px !important;}
.mb-20 {margin-bottom:20px !important;}
.mb-30 {margin-bottom:30px !important;}
.mb-40 {margin-bottom:40px !important;}
.mb-50 {margin-bottom:50px !important;}
.mt-0 {margin-top:0px !important;}
.mt-5 {margin-top:5px !important;}
.mt-10 {margin-top:10px !important;}
.mt-20 {margin-top:20px !important;}
.mt-30 {margin-top:30px !important;}
.mt-40 {margin-top:40px !important;}
.mt-50 {margin-top:50px !important;}

.pg-0 {padding:0 !important;}
.pb-0 {padding-bottom:0px !important;}
.pb-5 {padding-bottom:5px !important;}
.pb-10 {padding-bottom:10px !important;}
.pb-20 {padding-bottom:20px !important;}
.pb-30 {padding-bottom:30px !important;}
.pb-40 {padding-bottom:40px !important;}
.pb-50 {padding-bottom:50px !important;}

.clearfix:before,
.clearfix:after {
  display: table;
  content: " ";
}
.clearfix:after {
  clear: both;
}
