@charset "UTF-8";
/* ===================================================================
CSS information

 file name  : common.css
 author     : Ability Consultant
 style info : 基本・共通設定
=================================================================== */
#footer .con_footer .box_footer, .wrp_post, .footer_note .container {
  max-width: 1200px;
  margin: auto;
}
@media only screen and (max-width: 1024px) {
  #footer .con_footer .box_footer, .wrp_post, .footer_note .container {
    width: 95%;
  }
}

#header .con_header:after, #footer .con_footer .box_footer:after, .wrp_post:after, .footer_note:after {
  content: "";
  display: table;
  clear: both;
}

/* -----------------------------------------------------------
	基本設定、リンクカラーなど
----------------------------------------------------------- */
html {
  font-size: small;
  line-height: 1.5;
}

body {
  color: #000;
  background: #fff;
  -webkit-text-size-adjust: none;
  font-size: 100%;
}
.ie body {
  font-size: 98%;
}
@media only screen and (max-width: 640px) {
  body {
    font-size: 93%;
  }
}
body a {
  color: #1a1a1a;
  text-decoration: none;
}
.mouse body a:hover, .touch body a.touchstart {
  text-decoration: underline;
  color: #333333;
}
body img {
  max-width: 100%;
  -webkit-touch-callout: none;
}

body, pre, input, textarea, select {
  font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","MS Ｐゴシック","MS PGothic",sans-serif;
}

input, select, textarea {
  font-size: 100%;
}

html.ie8 .view_tab,
html.ie8 .view_tab_sp,
html.ie8 .view_sp {
  display: none !important;
}
html.ie8 #page {
  min-width: 1200px !important;
  margin: auto;
  font-size: 100% !important;
}

@media only screen and (min-width: 1025px) {
  body .view_tab-sp, body .view_tab {
    display: none !important;
  }
}
@media print {
  body .view_tab-sp, body .view_tab {
    display: none !important;
  }
}
.ie8 body .view_tab-sp, .ie8 body .view_tab {
  display: none !important;
}
@media only screen and (min-width: 641px) {
  body .view_sp {
    display: none !important;
  }
}
@media print {
  body .view_sp {
    display: none !important;
  }
}
.ie8 body .view_sp {
  display: none !important;
}
@media only screen and (max-width: 1024px) {
  body .view_pc {
    display: none !important;
  }
}
@media only screen and (max-width: 640px) {
  body .view_pc-tab, body .view_tab {
    display: none !important;
  }
}

.mouse .over {
  -moz-transition: opacity 200ms ease-in;
  -o-transition: opacity 200ms ease-in;
  -webkit-transition: opacity 200ms ease-in;
  transition: opacity 200ms ease-in;
}
.mouse .over:hover, .touch .over.touchstart {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.touch .over {
  -webkit-tap-highlight-color: transparent;
}
.touch .over.touchend {
  -moz-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* -----------------------------------------------------------
	#page
----------------------------------------------------------- */
@media only screen and (min-width: 641px) {
  #page {
    font-size: 100% !important;
    padding-bottom: 80px;
  }
}
@media print {
  #page {
    font-size: 100% !important;
    padding-bottom: 80px;
  }
}
.ie8 #page {
  font-size: 100% !important;
  padding-bottom: 80px;
}
@media only screen and (max-width: 640px) {
  #page {
    padding-bottom: 35%;
  }
}

/* -----------------------------------------------------------
	#header
----------------------------------------------------------- */
#header {
  background: #000;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 500;
}
#header .con_header {
  max-width: 1340px !important;
  margin: auto;
  padding: 10px 0;
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  #header .con_header {
    width: 95%;
  }
}
#header .con_header h1 {
  float: left;
}
@media only screen and (max-width: 1024px) {
  #header .con_header h1 {
    width: 80%;
  }
}
#header .con_header div.nav_pc {
  float: right;
}
@media only screen and (max-width: 1024px) {
  #header .con_header div.nav_pc {
    display: none;
  }
}
#header .con_header div.nav_pc ul {
  overflow: hidden;
  margin: 15px 0 0;
}
#header .con_header div.nav_pc ul li {
  float: left;
  color: #fff;
}
#header .con_header div.nav_pc ul li a {
  margin: 0 5px;
  color: #fff;
}
#header .con_header div.nav_sp {
  display: none;
  float: left;
  width: 100%;
  margin: 10px 0 0;
}
#header .con_header div.nav_sp ul li {
  display: block;
}
#header .con_header div.nav_sp ul li a {
  display: block;
  color: #fff;
  position: relative;
  padding: 10px 0;
  font-size: 116%;
}
#header .con_header div.nav_sp ul li a:after {
  content: '\f105';
  position: absolute;
  right: 10px;
  top: 10px;
  font-family: 'FontAwesome';
}
#header .con_header .mobile-toggle-btn {
  cursor: pointer;
  float: right;
}
#header .con_header .mobile-toggle-btn button {
  background: none;
  border: 1px solid #fff;
  color: #fff;
  padding: 5px;
}

/* -----------------------------------------------------------
	#contents
----------------------------------------------------------- */
#contents {
  margin: 70px 0 0;
}
@media only screen and (max-width: 640px) {
  #contents {
    margin: 48px 0 0;
  }
}

/* -----------------------------------------------------------
	#footer
----------------------------------------------------------- */
#footer .con_footer {
  background: #000;
}
#footer .con_footer .box_footer {
  color: #fff;
  overflow: hidden;
  padding: 15px 0;
}
#footer .con_footer .box_footer .nav_footer {
  float: left;
}
@media only screen and (max-width: 640px) {
  #footer .con_footer .box_footer .nav_footer {
    width: 100%;
    text-align: center;
    margin: 10px auto;
  }
}
#footer .con_footer .box_footer .nav_footer ul {
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  #footer .con_footer .box_footer .nav_footer ul {
    display: inline-block;
  }
}
#footer .con_footer .box_footer .nav_footer ul li {
  float: left;
}
@media only screen and (max-width: 640px) {
  #footer .con_footer .box_footer .nav_footer ul li {
    display: inline-block;
    float: none;
  }
}
#footer .con_footer .box_footer .nav_footer ul li a {
  color: #fff;
  margin: 0 5px;
}
#footer .con_footer .box_footer #copyright {
  float: right;
  font-size: 85%;
}
@media only screen and (max-width: 640px) {
  #footer .con_footer .box_footer #copyright {
    width: 100%;
    text-align: left;
  }
}

/* -----------------------------------------------------------
	内部ページ共通スタイル
----------------------------------------------------------- */
.wrp_post {
  overflow: hidden;
  padding: 50px 0 0;
  /* -----------------------------------------------------------
  	#box_post
  ----------------------------------------------------------- */
  /* -----------------------------------------------------------
  	#box_side
  ----------------------------------------------------------- */
}
@media only screen and (min-width: 641px) and (max-width: 1024px) {
  .wrp_post {
    padding: 30px 0 0;
  }
}
@media only screen and (max-width: 640px) {
  .wrp_post {
    padding: 20px 0 0;
  }
}
.wrp_post h3.tit {
  float: left;
  width: 100%;
  margin: 0 0 20px;
  font-size: 100%;
  font-weight: normal;
  line-height: 100%;
}
.wrp_post h3.tit img {
  vertical-align: bottom;
}
@media only screen and (max-width: 640px) {
  .wrp_post h3.tit img {
    width: 50%;
  }
}
.wrp_post h3.tit span {
  display: inline-block;
  margin: 20px 0 0 20px;
  font-size: 139%;
}
@media only screen and (max-width: 640px) {
  .wrp_post h3.tit span {
    font-size: 124%;
    display: block;
    margin: 12px 0;
  }
}
.wrp_post #box_post {
  float: left;
  width: 70.83333%;
}
@media only screen and (max-width: 640px) {
  .wrp_post #box_post {
    width: 100%;
  }
}
.wrp_post #box_side {
  float: right;
  width: 25%;
}
.wrp_post #box_side .box_news, .wrp_post #box_side .box_fb1, .wrp_post #box_side .box_fb2, .wrp_post #box_side .box_schedule {
  margin: 0 0 40px;
}
@media only screen and (min-width: 641px) and (max-width: 1024px) {
  .wrp_post #box_side .box_news, .wrp_post #box_side .box_fb1, .wrp_post #box_side .box_fb2, .wrp_post #box_side .box_schedule {
    margin: 0 0 15px;
  }
}
@media only screen and (max-width: 640px) {
  .wrp_post #box_side .box_news, .wrp_post #box_side .box_fb1, .wrp_post #box_side .box_fb2, .wrp_post #box_side .box_schedule {
    margin: 0 0 20px;
  }
}
.wrp_post #box_side .box_news h3, .wrp_post #box_side .box_fb1 h3, .wrp_post #box_side .box_fb2 h3, .wrp_post #box_side .box_schedule h3 {
  line-height: 0;
  margin: 0 0 10px;
  text-align: center;
}
.wrp_post #box_side .box_banner {
  margin: 0 0 30px;
}
@media only screen and (min-width: 641px) and (max-width: 1024px) {
  .wrp_post #box_side .box_banner {
    margin: 0 0 30px;
  }
}
@media only screen and (max-width: 640px) {
  .wrp_post #box_side .box_banner {
    margin: 0 0 20px;
  }
}
.wrp_post #box_side .box_banner p {
  margin-bottom: 10px;
}
.wrp_post #box_side .box_banner p:last-child {
  margin-bottom: 0;
}
.wrp_post #box_side .box_banner p:hover {
  opacity: 0.8;
}
.wrp_post #box_side .box_news {
  background: #e9eef4;
  padding: 20px 10px;
}
.wrp_post #box_side .box_news h3 {
  margin: 0 0 20px;
}
.wrp_post #box_side .box_news ul {
  margin: 0 0 20px;
}
.wrp_post #box_side .box_news ul li {
  margin: 0 0 5px;
  display: block;
}
.wrp_post #box_side .box_news ul li a, .wrp_post #box_side .box_news ul li span {
  display: block;
  background: #fff;
  padding: 10px;
}
.wrp_post #box_side .box_news ul li a:hover {
  text-decoration: none;
  background: #cfd5dc;
}
.wrp_post #box_side .btn {
  text-align: center;
  line-height: 2em;
  font-size: 108%;
}
@media only screen and (max-width: 1024px) {
  .wrp_post #box_side .btn {
    font-size: 85%;
  }
}
.wrp_post #box_side .btn a {
  display: inline-block;
  color: #2f6bb9;
  border: 1px solid #3b74bd;
  border-radius: 4px;
  padding: 10px 0;
  width: 230px;
}
@media only screen and (max-width: 1024px) {
  .wrp_post #box_side .btn a {
    width: 100%;
  }
}
.wrp_post #box_side .btn a i {
  margin-right: 5px;
}
.wrp_post #box_side .btn a:hover {
  text-decoration: none;
  background: #2f6bb9;
  color: #fff;
}
.wrp_post #box_side .box_schedule .btn a {
  color: #000;
  border-color: #000;
  width: 300px;
}
.wrp_post #box_side .box_schedule .btn a:hover {
  text-decoration: none;
  background: #000;
  color: #fff;
}

/* -----------------------------------------------------------
	テーブル
----------------------------------------------------------- */
table.tbl_basic {
  width: 100%;
}
table.tbl_basic th, table.tbl_basic td {
  border: 1px solid #cfd5dc;
  padding: 9px 19px;
  font-size: 124%;
}
@media only screen and (max-width: 1024px) {
  table.tbl_basic th, table.tbl_basic td {
    display: block;
    width: 100%;
  }
}
@media only screen and (min-width: 641px) and (max-width: 1024px) {
  table.tbl_basic th, table.tbl_basic td {
    font-size: 116%;
  }
}
@media only screen and (max-width: 640px) {
  table.tbl_basic th, table.tbl_basic td {
    font-size: 100%;
  }
}
table.tbl_basic th {
  background: #cfd5dc;
  text-align: center;
  font-weight: normal;
}
@media only screen and (max-width: 1024px) {
  table.tbl_basic th {
    background: none;
    border: none;
    border-bottom: 1px solid  #cfd5dc;
    height: 0;
    padding: 0;
  }
}
table.tbl_basic th.th_lst {
  border-bottom: 1px solid #fff;
}
@media only screen and (max-width: 1024px) {
  table.tbl_basic th.th_lst {
    border-bottom: 1px solid  #cfd5dc;
  }
}
@media only screen and (max-width: 1024px) {
  table.tbl_basic th.th_content {
    background: #cfd5dc;
    border: none;
    padding: 9px 19px;
    height: auto;
  }
}
@media only screen and (max-width: 1024px) {
  table.tbl_basic td {
    float: left;
    border: none;
  }
}
table.tbl_basic td.empty {
  border: none;
}
table.tbl_basic td.lst {
  border-top: 0;
}
table.tbl_basic td.visibility {
  visibility: hidden;
}
@media only screen and (max-width: 1024px) {
  table.tbl_basic td.visibility {
    visibility: visible;
  }
}
table.tbl_basic td.display {
  display: none;
}
@media only screen and (max-width: 1024px) {
  table.tbl_basic td.display {
    display: block;
  }
}
@media only screen and (max-width: 1024px) {
  table.tbl_basic td.td_line {
    border-top: 1px solid  #cfd5dc;
  }
}
table.tbl_basic td a {
  color: #2f6bb9;
}
table.tbl_basic td a:hover {
  color: #2f6bb9;
}
@media only screen and (max-width: 1024px) {
  table.tbl_basic tr.two td {
    width: 50%;
  }
  table.tbl_basic tr.three td {
    width: 33%;
  }
  table.tbl_basic tr.four td {
    width: 25%;
  }
}

.footer_note {
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  background: #cfd5dc;
}
@media only screen and (min-width: 641px) {
  .footer_note {
    height: 80px;
  }
}
@media print {
  .footer_note {
    height: 80px;
  }
}
.ie8 .footer_note {
  height: 80px;
}
@media only screen and (max-width: 640px) {
  .footer_note {
    padding: 15px 10px;
  }
}
.footer_note .container {
  width: 100%;
}
@media only screen and (min-width: 641px) {
  .footer_note .container {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media print {
  .footer_note .container {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.ie8 .footer_note .container {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 1025px) {
  .footer_note .note_text {
    font-size: 124%;
  }
}
@media print {
  .footer_note .note_text {
    font-size: 124%;
  }
}
.ie8 .footer_note .note_text {
  font-size: 124%;
}
@media only screen and (min-width: 641px) and (max-width: 1024px) {
  .footer_note .note_text {
    font-size: 116%;
  }
}
@media only screen and (max-width: 640px) {
  .footer_note .note_text {
    font-size: 100%;
    text-align: center;
  }
}
.footer_note .note_button {
  max-width: 180px;
  width: 100%;
}
@media only screen and (min-width: 1025px) {
  .footer_note .note_button {
    margin-left: 80px;
  }
}
@media print {
  .footer_note .note_button {
    margin-left: 80px;
  }
}
.ie8 .footer_note .note_button {
  margin-left: 80px;
}
@media only screen and (min-width: 641px) and (max-width: 1024px) {
  .footer_note .note_button {
    margin-left: 40px;
  }
}
@media only screen and (max-width: 640px) {
  .footer_note .note_button {
    margin: 10px auto 0;
  }
}
.footer_note .note_button a {
  display: inline-block;
  width: 100%;
  padding: 10px 0;
  color: #2f6bb9;
  border: 1px solid #3b74bd;
  border-radius: 4px;
  box-sizing: border-box;
  text-align: center;
}
.footer_note .note_button a:hover {
  text-decoration: none;
  background: #2f6bb9;
  color: #fff;
}
