p{
  color: #11295e;
}


* {
  font-family: 'Crimson Text', serif;
}

html {
  min-height: 100%;
  position: relative;
  font-size : 100%;
}

body {
  background-color: #fff;
  padding: 0 !important;
  margin-bottom: 0px !important;
}

footer {
  bottom: 0;
  position: absolute;
}

.modal {
  z-index: 1000000;
}

.modal-backdrop {
  z-index: 999999;
}

.main_wapper {
  margin: 0 auto;
}

.container {
  width: 100%;
}

.top_main1 {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

.top_main2 {
  width: 960px;
  margin: 0 auto;
}

.row {
  margin-right: 0;
  margin-left: 0;
}


.event .event_dd{
    width: 136px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.main_wapper{
  width: 100%;
  max-width: 960px;
}
/*@media screen and (max-width: 768px) {
  html{
    font-size : 70%;
  }
  .main_wapper{
    width: 768px;
  }
}
*/
h2{
  color: #11295e;
}

h2 span{
  /*color: #cbb297;*/
  color: #999;
}

/*トップメニュー*/
header {
  height: 75px;
  position: fixed;
  z-index: 999999;
  background-color: #11295e !important;
  text-align: center;
  width: 100%;
  margin: 0;
  padding: 10px 0 0;
}

#bs-example-navbar-collapse-1 {
  border: none;
  margin: 0;
  margin: 0 -30px;
}

#bs-example-navbar-collapse-1 li > a {
  font-size: 80%;
  width: 100%;
}

.top_menu {
  border: none !important;
  display: inline-block;
  width: 960px;
  background: transparent;
  box-shadow: none;
}
.top_menu .row {
  line-height: 50px;
  width: 960px;
}

.top_menu .logo {
  width: 50%;
  float: left;
  text-align: center;
}

.top_menu .logo img {
  width: 260px;
}

.top_menu .logo span {
  font-size: 1rem;
  float: left;
  margin-left: 60px;
}

.top_menu ul {
  width: auto;
  float: right;
  margin-top: -32px;
}

nav {
    color: #fff;
    line-height: 1;
}

.bx-wrapper .bx-pager {
  display: none;
}

ul.bxslider > li {
  text-align: center;
}

ul.bxslider > li > img {
  display: inline-block;
}

.top_menu ul a {
  float: left;
  width: auto !important;
  text-align: center;
  margin-top: 70px;
  /*margin: 60px 0 0 5px !important;*/
  color: #fff !important;
  padding: 10px 7px;
}

.top_menu ul a:hover {
  opacity:0.8;
}

.bx-wrapper {
  margin: 70px auto 0;
}
.bx-wrapper .bx-pager {
  padding-top: 0;
  bottom: 0;
}


/*スライドショー*/
#page_wrapper .row .col, .s12, .m12, .l12 {
  padding: 0;
}

#page_wrapper .row .bxslider li img.slide1-text {
  position: relative;
  margin: -44% 0 0 0;
  /*padding: 150px 270px;
  background: #FFF;*/
  /*box-shadow: 15px 15px 15px 15px rgba(0,0,0,0.7);*/
  /*box-shadow:0 0 40px #fff, 0 0 40px #fff, 0 0 40px #fff;
  -webkit-box-shadow:0 0 40px #fff, 0 0 40px #fff, 0 0 40px #fff;
  -moz-box-shadow:0 0 40px #fff, 0 0 40px #fff, 0 0 40px #fff;*/
}

.main_wapper .ven img {
  width: 100%;
}

/*電光掲示板*/

.led_text {
  background-color: #333333;
  color: #FFB400;
  font-size: 7px;
  font-size: 1rem;
  font-weight: bold;
  overflow: hidden;
  padding: 7px 0 7px;
  position: absolute;
  margin: -20px 0 5px;
  width: 100% !important;
}

.led_text:after {
  content: ' ';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /*background: url("img/led_bg.png") repeat scroll 0 0 rgba(0, 0, 0, 0);*/
  background-size: 4px 4px, 4px 4px;
  z-index: 10;
}
.led_text span {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  -webkit-animation-name: ticker-animation;
  -webkit-animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-duration: 30s;
  -webkit-animation-delay: 0;
  -moz-animation-name: ticker-animation;
  -moz-animation-timing-function: linear;
  -moz-animation-iteration-count: infinite;
  -moz-animation-duration: 30s;
  -moz-animation-delay: 0;
}
@-webkit-keyframes ticker-animation {
  from   { -webkit-transform: translate(0%);}
  99%,to { -webkit-transform: translate(-100%);}
}
@-moz-keyframes ticker-animation {
  from   { -moz-transform: translate(0%);}
  99%,to { -moz-transform: translate(-100%);}
}

/*カレンダー*/

.top_main1 .row {
  margin-top: 20px;
}

#calendar {
  width: 67%;
  height: 475px;
  margin : 0 5px;
  background-image: url("/images/login_bg.png");
}

#calendar .calendar_header {
  height: 50px;
  width: 100%;
  position: relative;
}

#calendar .calendar_content {
  width: 100%;
  margin: 20px 5px;
}

.fc-view-container {
  width: 72%;
  background-color: #FFF;
  float: left;
  padding: 65px 10px 10px 10px;
  margin-top: -55px;
}

.fc-left {
  margin-left: 15px;
  margin-top: -10px;
}
.fc-left h2{
  font-size: 2rem;
  color: #0F254b;
  position: relative;
}

.fc-right {
  margin: -60px 20px 0 0;
}

#calendar .fc-right button:focus {
  background-color: none;
}

.fc-toolbar {
  margin-bottom: 0 !important;
}

.fc-basic-view .fc-body .fc-row{
  min-height: 3.8em;
}

.fc-day-grid-container.fc-scroller{
  height: 100%!important;
}

.fc-button-group .fc-corner-right, .fc-corner-left {
  z-index: 9999;
}

.fc-head tr td.fc-head-container {
  border-top: none;
}

.fc-ltr .fc-basic-view .fc-day-number {
  text-align: left;
}

.fc-content-skeleton table thead {
  border-bottom: none;
}

.fc-time {
  display: none;
}

.fc button .fc-icon {
  top: -0.2em;
}

.event {
  width: 24%;
  height: 406px;
  float: right;
  background-color: #FFF;
  margin: -65px 5px 0;
  padding: 0 5px 5px;
}

.event dl {
  height: 133px;
  font-size: .65rem;
  padding: 7px 0;
  margin-bottom: 3px;
  border-bottom: 2px solid #11295e;
  position: relative;
}

.event dl a {
  color: #000;
  font-size: 8px;
  position: absolute;
  bottom: 3px;
  right: 0;
}

.event dl.line {
  border-bottom: none;
}

.event dl img {
  margin-bottom: 5px;
}

.calendar-top {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.calender-icon {
  position: absolute;
  top: 10px;
  left: 10px;
}

.calender-text {
  position: absolute;
  top: 20px;
  left: 40px;
}

/*ログイン*/
#login {
  width: 30%;
  /*background-color: #11295e;*/
  float: right;
  margin: 0 5px;
  padding: 0 25px !important;
  background-image: url("/images/login_bg.png");
  height: 475px;
}

#login .row {
  margin-top: 0;
}

#login p{
  color: #fff;
  /*text-align: center;*/
}

#login a{
  color: #fff;
  margin: 0 auto;
}

#login img {
  margin: 21px 17px;
}

#login form {
  margin-top: 10px;
}

#login .form-group {
  margin-bottom: 17px;
}

.form-group {
  margin-left: -10px;
}

.form-group input {
  background-color: #FFF;
  border-radius: 7px;
  padding: 0 5px;
  border-bottom: 0;
}

#login label {
  color: #FFF;
  font-weight: bold;
  font-size: .85rem;
}

#login input.btn {
  width: 50%;
  margin: 15px 60px 30px 60px;
  font-weight: bold;
  background-image:-moz-linear-gradient(
  top,
  #545355 10%,
  #363637 40%,
  #101112 52%,
  #363637);
  background-image:-webkit-gradient(
  linear,left top,left bottom,
  from(#545355),
  color-stop(0.49,#363637),
  color-stop(0.52,#101112),
  to(#363637));
}

#login input.btn:hover {
  color: #aaa;
}

.checkbox input[type="checkbox"] {
  background-color: #FFF;
  position: static !important;
  visibility: visible !important;
  margin-right: 10px;
}

input[type="email"]:focus:not([readonly]) {
  box-shadow: none;
  border-bottom: none;
}

input[type="password"]:focus:not([readonly]) {
  box-shadow: none;
  border-bottom: none;
}

input[type="checkbox"]:checked {
  margin-top: 3px;
}

#login .waves-effect {
  margin: 0 auto;
  border-radius: 18px;
  -moz-border-radius: 18px;
  -webkit-border-radius: 18px;
  -o-border-radius: 18px;
  -ms-border-radius: 18px;
}

/*２つの特徴*/
#feature #characteristic {
  font-size: 330%;
  margin: 3rem 0 5rem;
  padding-left: 40px;
  line-height: 60px;
}

#feature #characteristic span {
  font-size: 130%;
  display: block;
  float: left;
  margin: 0 0 -10px -10px;
}

#feature .subhead {
  margin: 20px 0 0 20px;
  font-size: 180%;
  /*color: #11295e;
  border-bottom: solid 5px #0b1a38;*/
  display: inline-block;
}

#feature .characteristic-contents {
  margin: 0 0 50px 20px;
}

#feature .characteristic-contents > img {
  margin-left: 20px;
}

#feature p.text {
  font-size: 1rem !important;
  margin: 10px 0 0 20px;
  width: 75%;
}

#feature .subhead img.line1 {
  width: 550px;
}

#feature .subhead img.line2 {
  width: 595px;
}

.top_circle_img {
  position: relative;
}

#feature .top_circle_img_big {
  position: absolute;
  top: 5rem;
  right: 0;
  width: 300px;
}

#feature .top_circle_img_small {
  position:absolute;
  top: 28rem;
  right: 4rem;
}

#service {
  text-align: center;
  position: relative;
}

#service .front {
  position: absolute;
  top: 20px;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
}

#service h2{
  text-align: left;
  font-weight: bold;
  font-size: 260%;
  letter-spacing: 3px;
  margin: 20px 0 160px 60px;
  padding-top: 22px;
}

#service .back_wave {
  position: absolute;
  z-index: -1;
  left: 0;
  margin-top: 20px;
  width: 100%;
}

#service .table_box {
  /*display: table;*/
  width: 100%;
  padding: 40px 0;
  margin-bottom: 40px;
}

#service .cell_box {
  display: table-cell;
  text-align: center;
  width: 30%;
  padding: 0 10px;
}

#service .subject {
  font-size: 170%;
  font-weight: bold;
  margin: 20px 0;
  text-shadow:
    -1px -1px #fff,
    1px -1px #fff,
    -1px 1px #fff,
    1px 1px #fff;
}

#service .content {
  background: rgba(27, 54, 86, .8);
  margin: 0 6px;
  padding: 10px 3px 0;
  font-size: 86%;
  height: 80px;
  /*display: table-cell;*/
  vertical-align: middle;
}
#service .content p {
  color: #fff;
  margin: 5px 0 10px;

}

#feature {
  position: relative;
}

#voice {
  font-size: 3rem !important;
}

p.voice-text {
  font-size: 1.3rem !important;
  margin-top: 20px;
}

.top_other_voice_left {
  color: #776351;
  font-size: 2rem;
}

.top_other_voice_right {
  margin: 12% auto;
  color: #776351;
  font-size: 2rem;
}

.top_other_voice_name {
  font-size: 150%;
  margin: 0 0 0 8%;
}


/*お問い合わせボタン*/
#contact {
    padding: 40px 0 80px;
}

#contact .contact_box {
  background-color: rgb(66, 94, 127);
  border-radius: 5px/5px;
  padding: 10px !important;
  text-align: center;
}
#contact h2 {
  font-size: 190%;
  margin: 20px 0;
  display: inline-block;
  color: #fff;
  text-align: left;
  width: 407px;
}
#contact p {
  font-size: 110%;
  margin-top: 20px;
  display: inline-block;
  color: #fff;
  text-align: left;
  width: 407px;
}

footer {
  background-color: #11295e !important;
  color: #fff;
  width: 100%;
  background-size: 100%;
  clear: both;
}

.copyright {
  color: #fff;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  margin: 0;
  padding: 12px;
  height: 38px;
}

#myModal {
  padding-right: 0 !important;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
}

#myModal .modal-dialog {
  width: 100%;
  height: 100%;
  margin: 0;
}

#myModal .closeBtn {
  box-shadow: none;
  margin-left: 190px;
  width: 100px;
  height: 34px;
}

#myModal .pull-right {
  margin-right: 190px;
}

#myModal .table-responsive table tr td input {
  width: 96%;
  height: 34px;
  border: 1px solid #CCC;
  border-radius: 5px;
  font-size: 14px;
  padding: 0 0 0 15px;
  margin: 0;
}

#myModal .table-responsive table tr td input:focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
  }

.sp-break {
  display: none !important;
}

@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
  .led_text {
      width: 100%;
  }
}

@media screen and (max-width: 960px){
  body {
    overflow-x: hidden;
  }

  .top_main1 {
    width: 100%;
    margin: 0 auto;
  }

  .top_main2 {
    width: 100%;
    margin: 0 auto;
  }

  .top_menu {
    width: 100%;
  }
  
  .top_menu ul a {
    margin-top: 0;
  }

  /*.top_menu ul a {
    margin: 60px 0 0 5px !important;
  }*/

  #feature img.top_circle_img_big {
    width: 33% !important;
    margin-top: -75px;
  }

  #login img {
    margin: 21px 0;
  }

  #login input.btn {
    margin: 14px 50px;
  }

  #service .box {
    width: 100%;
  }

  #service .subject {
    font-size: 150%;
  }

  #service .content {
    padding: 5px;
    font-size: 80%;
  }

  #feature .top_circle_img_small {
    top: 34rem;
    right: 2rem;
  }

  #feature #characteristic {
    font-size: 240%;
  }

  .copyright {
    color: #fff;
    text-align: center;
    font-size: 10px;
    font-weight: bold;
    margin: 0;
    padding: 10px;
  }

  .modal-body {
    padding: 0;
  }
  .modal .modal-content {
    padding: 5px;
  }

  .modal table {
    border: 0;
  }

  .modal form table th, .modal form table td {
    width: 100%;
    display: block;
    border: none;
    padding: 5px;
  }

  #myModal .table-responsive table tr td input {
    width: 90%;
  }

  #myModal .closeBtn {
    wwidth: 100%;
    margin-left: 5px;
  }

  #myModal .pull-right {
    margin-right : 5px;
  }

  #myModal .table-responsive {
    border: 0;
  }

  .pcNone {
    display: block;
  }

  #contact img {
    width: 90%;
  }
}

@media screen and (max-width: 770px){
  img {
    max-width: 100%;
    height: auto;
    width: auto;　
  }

  .top_menu ul a {
    margin: 5px 0 0 5px !important;
  }

  .bx-wrapper {
    margin: 50px auto 0;
  }

  header {
    height: 60px;
  }

  .top_menu .logo {
    width: 35%;
  }

  .top_menu .logo img {
    width: 130px;
    float: left;
    margin-left: 15px;
  }

  .top_menu .logo span {
    font-size: 0.6rem;
    float: left;
    margin-left: 40px;
  }

  .top_menu ul {
    margin-top: 15px;
    margin-left: -70px;
    float: left;
    width: 100%;
    max-width: 680px;
  }

  .top_menu ul a {
    margin-left: 0 !important;
    width: 100% !important;
    color: #fff !important;
    text-align: left;
  }

  #page_wrapper .row .bxslider li img.slide1-text {
    margin: -55% 0 0 0;
    width: 60%;
  }

  .led_text span {
    font-size: 85%;
  }

  #calendar {
    margin: 0 0 0 8.33333% !important;
    width: 83.3333% !important;
    height: 660px;
  }

  #calendar .calendar_content{
    margin: 0;
  }

  .fc-view-container {
    width: 96%;
    margin-left: 2%;
    margin-right: 2%;
  }

  .fc td, .fc th {
    font-size: 10px;
    /*height: 20px;*/
  }

  .calendar-top {
    height: 35px;
    width: 100%;
  }

  .calender-icon {
    top: 5px;
  }

  .calender-text {
    top: 15px;
  }

  .fc-right {
    top: 0;
    padding-top: 15px;
  }

  .fc-left h2 {
    font-size: 1.5rem;
  }

  .event {
    display: inline-block;;
    width: 97%;
    margin: 8px 1% 0;
    padding: 0;
    background: transparent;
    height: 125px;
  }

  .event dl {
    /*display: inline-block;;*/
    /*display: inline-block;*/
    /*width: 28%;*/
    width: 99.6%;
    height: 100px;
    border-bottom: 0;
    font-size: .6rem;
    background: #fff;
    border-right: 2px solid #11295e;
    padding: 5px;
  }


  @media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
    .event dl {
      width: 99.6%;
      /*display: table-cell;*/
      height: 100px;
    }
  }

  .top_main2 {
    width: 100%;
  }

  #service .front {
    margin-top: 20px;
  }

  #service h2 {
    font-size: 120%;
    margin: 0 0 60px 30px;
    padding: 0;
  }

  #service .table_box {
    width: 80%;
    margin: 0 auto;
    padding: 0;
  }

  #service .table_box .cell_box {
    width: 100%;
    display: block;
    margin-top: 30px;
  }

  #service .table_box .cell_box img {
    width: 40%;
    height: auto;
  }

  #service  .subject {
    font-size: 120%;
    margin: 10px 0;
  }

  #service .content {
    margin: 0;
    padding: 0;
    height: 0%;
  }

  #service .content p {
    font-size: 135%;
    letter-spacing: 3px;
    padding: 7px 5px;
    margin: 0;
  }

  #feature {
    margin-top: 60px;
  }

  #feature h2#characteristic {
    font-size: 1.15rem !important;
    line-height: 2rem;
    font-weight: bold;
    padding-left: 20px;
  }

  #feature #characteristic span {
    font-size: 105%;
    margin: 0 0 -10px -3px;
  }

  #feature img.top_circle_img_big {
    width: 33% !important;
    margin-top: -50px;
  }

  #feature img.top_circle_img_small {
    width: 23%;
    top: 21rem;
    right: .8rem;
  }

  .characteristic-contents {
    width: 64%;
  }

  .characteristic-contents img {
    width: 13%;
  }

  #feature #characteristic {
    margin: 0 0 2rem;
  }

  #feature .characteristic-contents {
    margin: 0 0 30px;
  }

  #feature .subhead {
    width: 85%;
    font-size: 1rem;
    margin-top: 5px;
  }

  #feature p.text {
    font-size: .7rem !important;
    margin-top: 10px;
    width: 65%;
  }

  #feature .subhead img.line1, .line2 {
    margin-top: 0 !important;
  }

  #contact {
    margin: 0;
  }

  #contact .row {
    margin: 0;
  }

  #contact h2 {
    font-size: 136%;
    width: 202px;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  #contact p {
    width: 202px;
    font-size: .6rem;
    margin: auto;
  }

  #contact img {
    width: 90%;
    height: auto;
    margin-bottom: 10px;
  }

  #contact .contact_box {
    width: 80%;
    font-size: .6rem;
    margin: 0 10%;
  }

  .spNone {
  display: none;
  }

  header {
    height: 50px !important;
    padding-top: 0;
  }

  .top_menu {
    width: 100%;
    border: none !important;
    height: 50px !important;
  }
  .top_menu .logo {
      float: left;
      text-align: center;
      margin: 10px 0 0 10px;
  }
  .navbar-header {
    margin-right: 0 !important;
  }

  .navbar-default .navbar-toggle {
    border-color: #11295e !important;
  }
  .navbar-default .navbar-toggle .icon-bar {
    background-color: #fff;
  }
  .navbar-default .navbar-toggle:hover {
    background: #11295e !important;
  }
  #bs-example-navbar-collapse-1 ul  {
    float: right;
    margin: 0;
  }
  #bs-example-navbar-collapse-1 li {
    float: right;
    width: 40%;
    margin-left: 100px;
    background-color: #11295e !important;
  }

  #bs-example-navbar-collapse-1 li:hover {
    opacity: .9
  }

  .sp-break {
    display: inline !important;
  }

}

@media screen and (max-width: 480px){


  .top_menu .logo {
    width: 50% !important;
  }
  .top_menu .logo span {
    margin-left: 35px !important;
  }

  #feature img.top_circle_img_big {
    margin-top: -50px;
  }
  .top_menu ul a {
    margin: 0 0 0 5px !important;
  }
  #service .content p {
    font-size: 95%;
    letter-spacing: 1px;
    padding: 7px 5px;
    margin: 0;
  }

  #calendar {
    height: 652px;
  }

  #calendar button:nth-of-type(1) {
    position: absolute;
    right: 30%;
  }

  #calendar button:nth-of-type(2) {
    position: absolute;
    right: 14%;
  }

  .event {
    height: 160px;
  }

}


@media screen and (max-width: 480px){
.spNone { display: none;}
}



#loader-bg {
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #FFF;
  z-index: 1000000;
}
#loader {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 200px;
  height: 200px;
  font-size: 200%;
  text-align: center;
  margin: auto;
  color: #11295e;
  z-index: 1000001;
}

#calendar button:focus {
    background-color: #e6e6e6;
}
