@charset "UTF-8";
/* ベースとなる色を与えて、その色の100％でボーダー、30％で背景色を得る */
@font-face {
  font-family: YuGothicM;
  font-weight: normal;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
  /* Windows8.1ではMediumがないのでRegularを指定 */ }
@font-face {
  font-family: YuGothicM;
  font-weight: bold;
  src: local("YoGothic-Bold"), local("Yu Gothic");
  /* Chrome用 */ }
/* バージョン5 */
/* 各ページ共通の CSS
------------------------------------------ */
body {
  color: #222222;
  font-family: "Noto Sans Japanese", Verdana, "游ゴシック Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif, serif;
  font-size: 1rem;
  line-height: 1.6;
  /* font-sizeを基準に相対値 */
  padding-top: 110px;
  /* fixed navbar 利用時必須 */ }

@media (min-width: 768px) {
  body {
    padding-top: 137px;
    /* fixed navbar 利用時必須 */ } }
/* トップページのみ jumbotron との距離を縮めるため */
body#index,
body#test {
  /*padding-top: 80px;*/ }

/* ページ内リンクすると位置がずれるので調整。しかし、アコーディオンの hover が効かない弊害！
.inner_link {
  margin-top: -140px;
  padding-top: 140px;
}	 */
/* メディアクエリ（転記用）モバイルファースト版
--------------------------------- */
/* メディアクエリ（転記用）逆方向版
--------------------------------- */
/* オーバーライト（再定義用） 
--------------------------*/
/* ヘッダの送り行を1remに */
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-bottom: 1rem; }

/* プレースホルダーの色が濃すぎるので */
.form-control::placeholder {
  color: #CCC; }

/* レイアウト 
--------------------------*/
/* レイアウトブロック */
.block {
  margin-bottom: 30px; }

.block_border {
  border: 1px solid #000;
  padding: 30px; }

.block_border_color {
  border: 1px solid #3A5A98;
  border-radius: 8px;
  padding: 30px; }

/* ドットの飾り下線 */
.border_dotted {
  padding-top: 20px;
  margin-bottom: 40px;
  border-bottom: 1px dotted #ddd; }

/* ドットの飾り下線_タブレット以下の時は余白を小さく */
@media only screen and (max-width: 768px) {
  .border_dotted {
    padding-top: 0px;
    margin-bottom: 10px;
    border-bottom: 1px dotted #ddd; } }
/* イメージの回り込み */
img.float-right {
  margin-left: 1rem;
  margin-bottom: 1rem; }

/* 暖色・寒色 */
.bg_light {
  background-color: #FFFFFF; }

.bg_dark {
  /* 無指定 */ }

/* ヘッダー */
header {
  background-color: #FFF;
  border-bottom: 1px solid #CCC; }

/* ペーパーシャドウ（マテリアルデザイン） 
header,
.paper_shadow {
	-webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);
	-moz-box-shadow: 		0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);
	box-shadow: 				0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);
	position: relative;
}*/
/* paper_shadow （bootstrap4 版） */
.paper_shadow {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

/* マップ背景 */
#map {
  background-color: #EEEEEE; }

/* タイポグラフィ 
--------------------------*/
/* フォントサイズ */
h1 {
  font-size: 1.4rem;
  font-weight: 600; }

h2 {
  font-size: 1.2rem;
  font-weight: 500; }

h3 {
  font-size: 1.1rem; }

h4 {
  font-size: 1rem; }

h5 {
  font-size: 0.9rem; }

h6 {
  font-size: 0.85rem; }

h1 .small {
  font-size: 1.2rem; }

h2 .small {
  font-size: 1rem; }

h3 .small {
  font-size: 1rem; }

h4 .small {
  font-size: 0.85rem; }

/* 行間調整 */
.gyokan_00 {
  margin-bottom: 0; }

.gyokan_10 {
  margin-bottom: 10px; }

.gyokan_20 {
  margin-bottom: 20px; }

.gyokan_30 {
  margin-bottom: 30px; }

.gyokan_40 {
  margin-bottom: 40px; }

/* フォントを明朝に */
.mincho {
  letter-spacing: 0.1em;
  line-height: 1.8em;
  font-family: "Times New Roman", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }

/* タイトル */
.title {
  font-weight: 700; }

/* タイトル横の英字 */
.title .english {
  font-family: Arial, Verdana, "Noto Sans Japanese", "游ゴシック Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif, serif;
  color: #bbbbbb; }

p.title {
  border-bottom: dotted 1px #CCC;
  margin-bottom: 4px;
  padding: 2px 0; }

h1.title {
  padding: 4px 0;
  font-size: 2em;
  color: #3A5A98; }

/* リード部分 */
h2.title {
  color: #3A5A98;
  margin-bottom: 10px;
  padding: 8px 0;
  border-bottom: solid 2px #3A5A98; }

h2.title small {
  color: #bbbbbb; }

/* アイテム（アンダーバータイプ） */
h3.title {
  border-bottom: dotted 1px #CCCCCC;
  margin-bottom: 10px;
  padding-bottom: 10px; }

h3.title b,
h3.title strong {
  color: #222222;
  font-size: 140%;
  font-weight: 700; }

h5.title {
  border-bottom: solid 1px #CCCCCC;
  margin-bottom: 10px;
  padding-bottom: 10px; }

/* アイテム */
.item {
  border-bottom: dotted 1px #CCC;
  margin-bottom: 1rem;
  padding: 2px 0;
  color: #3A5A98; }

/* ページヘッダ */
.page_header {
  background-color: #3A5A98;
  background-image: url("../images/bg_page_title.png");
  background-repeat: repeat;
  padding: 2rem 0;
  text-align: center;
  font-weight: 700;
  margin-bottom: 3rem; }

.page_header h1 {
  color: #FFFFFF;
  line-height: 1;
  margin-bottom: 0; }

/* 左右の small がずれているので */
.page_header h1 small {
  padding: 0.2rem 0; }

/* アイテム（大きい数字タイプ） */
.number_title {
  font-size: 5em;
  font-family: Arial, Verdana, "Noto Sans Japanese", "游ゴシック Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif, serif; }

/* アイテム（囲みタイプ） */
p.box_title {
  border: 1px solid #3A5A98;
  color: #3A5A98;
  text-align: center;
  padding: 10px;
  margin-top: 8px; }

/* アイテム（大きい数字タイプ） */
h3.number_title {
  font-size: 3em;
  color: #3A5A98;
  font-family: Arial, Verdana, "Noto Sans Japanese", "游ゴシック Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif, serif; }

.message {
  font-size: 1.8em;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  font-family: "Times New Roman", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }

/* 強調文字 */
.caution {
  font-weight: bold;
  color: #3A5A98; }

/*数字のフォント変更 */
.concept_number {
  font-family: Arial, Verdana, "Noto Sans Japanese", "游ゴシック Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif, serif;
  font-size: 1.5em;
  color: #3A5A98;
  text-shadow: 0 0 3px white, 0 0 6px white;
  /* グローエフェクト */ }

/* リンクカラー */
a {
  color: #007FAB;
  text-decoration: none; }

a:hover,
a:focus {
  color: #183876;
  text-decoration: none; }

a:visited {
  color: #772F6D;
  text-decoration: none; }

/* bootstrap4 で白背景のボタン */
a.btn_white {
  color: #222222;
  background-color: #FFFFFF; }

/* アイコンの色*/
a.btn_white i.fa,
a.btn_white i.fas,
a.btn_white i.far {
  color: #3A5A98; }

a.btn_white:hover,
a.btn_white:focus {
  background-color: rgba(58, 90, 152, 0.15); }

/* ボタンのフォーカスを消す */
.btn.focus,
.btn:focus {
  box-shadow: none; }

/* テーマカラーのボタン */
.btn-theme {
  color: #222222;
  background-color: rgba(58, 90, 152, 0.2); }

/* リンクした画像は hover時 半透明 */
a:hover img,
a:active img {
  opacity: 0.7; }

/* リンクの部品 */
.square_btn {
  position: relative;
  display: inline-block;
  border-radius: 20px;
  padding: 0.5em 2em;
  text-decoration: none;
  color: #fff;
  background: #3A5A98;
  transition: .4s; }

.square_btn:hover {
  background: #ECECEC;
  color: #3A5A98; }

/* リード・キャプション */
.lead {
  font-size: 1.2rem;
  text-align: center;
  background-color: #EEEEEE;
  padding: 20px; }

.lead .caption {
  line-height: 1.6;
  margin-bottom: 0; }

/* フットバナー */
.foot_banner .caption {
  line-height: 1;
  margin-bottom: 0; }

/* インデント（マージン調整版） */
.indent {
  margin-left: 2rem; }

.indent2 {
  margin-left: 4rem; }

.indent3 {
  margin-left: 6rem; }

/* ヘッドライン（少し大きな文字で強調） */
.headline .alert {
  background-color: #3A5A98;
  color: #FFFFFF;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center; }

/* バッジのすれ矯正 */
span.badge {
  vertical-align: text-bottom; }

/* アイコン Font Awesome
------------------------------------------ */
/* Android や iPhone で表示されない時は、FontAwesome の提供する CDN を無効にし、以下の記述を効かせること  
@import url(//use.fontawesome.com/releases/v5.2.0/css/all.css);*/
/* font awesome 右マージン調整 */
.fa,
.fas,
.far {
  margin-right: 6px; }

/* 新たな FontAwesome 5 では使うフォントごとにウェイトが必要 */
.fas {
  font-weight: 900; }

/* fes SOLID の場合 */
.far {
  font-weight: 400; }

/* fer REGULAR の場合 */
/* フッターリンクの頭には矢印をつける */
a.arrow::before,
article a.arrow::before,
.post a.arrow::before {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  width: 1.2em; }

/* ご注意アイコンを付ける */
.warning::before,
article .warning::before,
.post .warning::before {
  content: "\f071";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  width: 1.2em; }

.warning {
  color: #cc0000; }

/* チェックマークアイコン */
.check::before,
article .check::before,
.post .check::before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  width: 1.2em; }

/* 実施要項・申込書のアイコン */
.icon::before {
  /*content: "\f15c"; */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  width: 1.2em; }

/* 大きめアイコン */
.icon.large::before {
  font-size: 1.5rem; }

.icon.pdf::before {
  content: "\f1c1";
  color: #B20000; }

.icon.word::before {
  content: "\f1c2";
  color: #00468C; }

.icon.excel::before {
  content: "\f1c3";
  color: #238C00; }

.icon.zip::before {
  content: "\f1c6";
  color: #779438; }

.icon.info::before {
  content: "\f05a";
  color: #AE7A26; }

.icon.link::before {
  content: "\f0c1";
  color: #055A8E;
  /* 青色 */ }

.icon.docs::before {
  content: "\f15c";
  color: #AE7A26;
  /* 橙色 */ }

/* アイコンを無効化（disabled）したときはアイコンをグレーに */
.icon.disabled.pdf::before,
.icon.disabled.word::before,
.icon.disabled.excel::before,
.icon.disabled.zip::before,
.icon.disabled.info::before,
.icon.disabled.link::before,
.icon.disabled.docs::before {
  color: #bbbbbb; }

/* アイコンを無効化（）したときはバッヂは透明に */
.icon.disabled .badge.badge-warning,
.icon.disabled .badge.badge-default {
  color: #bbbbbb;
  background-color: transparent;
  font-weight: 400; }

/* トップページのインフォメーション */
.info {
  /* 大きめのアイコン */
  /* 頭に矢印をつける */
  /* リンクの頭には別の矢印をつける */
  /* ご注意アイコンを付ける */ }
  .info li {
    border-bottom: dotted 1px #CCCCCC;
    margin-bottom: 6px; }
  .info li a:hover {
    text-decoration: underline; }
  .info .icon:before {
    font-family: FontAwesome;
    display: inline-block;
    width: 1.2em; }
  .info .icon.large:before {
    font-size: 1.5em; }
  .info .icon.arrow:before {
    color: #3A5A98;
    content: "\f138"; }
  .info a.icon.arrow:before {
    color: #3A5A98;
    content: "\f054"; }
  .info .icon.warning:before {
    content: "\f071"; }
  .info .info_date {
    color: #3A5A98;
    margin-right: 10px; }
  @media only screen and (max-width: 479px) {
    .info .info_date {
      /*display: block;*/ } }
  .info .info_text {
    margin-bottom: 6px;
    margin-left: 1.4em; }

/* Back to Top のアイコンは黒ベースに */
.back-to-top {
  color: #2c4473; }

/* ナビゲーション
--------------------------------- */
/* ヘッダ上段のパディング */
header .upper {
  padding: 20px 10px; }

/* ヘッダの電話番号部分の調整 */
header .upper .right .phone .number {
  font-size: 28px;
  font-weight: 600;
  text-align: right;
  line-height: 1;
  margin-bottom: 6px; }

/* ヘッダの電話番号部分の調整（スマホ時） */
@media (max-width: 767.98px) {
  header .upper {
    padding-top: 10px;
    padding-bottom: 4px; }

  header .upper .right .phone .number,
  header .lower .sns_link {
    font-size: 32px;
    margin-bottom: 0; } }
/* ヘッダのアイコンの色 */
header .phone,
header .sns_link {
  /* 電話 */
  /* SNSリンクボタン */ }
  header .phone .fa-phone-square,
  header .sns_link .fa-phone-square {
    color: #3A5A98;
    margin-right: 0; }
  header .phone .fa-facebook-square,
  header .sns_link .fa-facebook-square {
    color: #4267B2; }
  header .phone .fa-twitter-square,
  header .sns_link .fa-twitter-square {
    color: #1DA1F2; }
  header .phone .fa-instagram-square,
  header .sns_link .fa-instagram-square {
    color: #b900b4;
    background: linear-gradient(-135deg, #1400c8, #b900b4, #f50000);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; }
  header .phone .fa-line,
  header .sns_link .fa-line {
    color: #00B900; }

/* lixilアイコンの調整 */
.sns_link a.icon.lixil img {
  margin-bottom: 6px; }

header .time {
  margin-bottom: 0;
  font-size: 12px; }

/* ヘッダの下 navbar 部分の調整 */
header .lower {
  background-color: rgba(58, 90, 152, 0.15); }

/* メインナビが薄いので */
#main_navi.navbar-light .navbar-nav .nav-link {
  color: #222222; }

/* ナビゲーション
--------------------------------- */
/* ナビゲーションの調整 */
.navbar {
  /*min-height: 80px;*/
  padding: 0 1rem; }

/* スマホ時のプルダウンメニューの調整 */
.navbar-light .navbar-toggler {
  color: #333;
  border: none; }

.navbar-toggler {
  padding-left: 0; }

/* ナビのホバー色 */
.lower .navbar-nav > li > a:hover,
.lower .navbar-nav > li > a:focus {
  color: #222222;
  background-color: rgba(58, 90, 152, 0.2); }

/* ナビリンクのpadding 調整 */
@media (min-width: 768px) {
  .navbar-expand-md .navbar-nav .nav-link {
    padding: 10px 20px; } }
.nav-link {
  padding: 1rem 1rem; }

/* トップナビのとき行間が多いので */
.navbar-nav a.nav-link {
  line-height: 1.2; }

/* ラージ、ワイドのときのナビの設定 */
@media (min-width: 992px) {
  /* ナビバーのリンクの幅を広めにした */
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 1rem;
    padding-left: 1rem; } }
/* スマホ、ファブレットのときのナビの設定 */
@media (max-width: 767.98px) {
  /* プルダウンメニューの境界線 */
  .navbar-nav > li.nav-item {
    border-top: dotted 1px #CCCCCC; }

  /* 幅をマイナスマージンで調整 */
  .navbar-collapse {
    margin-left: -1rem;
    margin-right: -1rem; }

  /* 上記をすると文字が左側にくっつくので */
  .navbar-nav > li.nav-item > .nav-link {
    padding-right: 1rem;
    padding-left: 1rem; } }
/* ドロップダウンで active なコンテンツに背景色がつくのをやめる */
.navbar-light .navbar-nav .open .dropdown-menu > .active > a,
.navbar-light .navbar-nav .open .dropdown-menu > .active > a:focus,
.navbar-light .navbar-nav .open .dropdown-menu > .active > a:hover {
  color: #3A5A98;
  background-color: transparent; }

/* ハンバーガーメニューの調整 */
.navbar-toggle {
  margin-top: 13px; }

/* スマホ時ナビゲーションの 上下の幅を広げる */
.navbar-nav > li > a {
  	/*min-height: 59px;
    line-height: unset;
  	padding-top: 15px;
  	padding-bottom: 15px;*/ }

/* ナビゲーションの項目が多いので余白を詰めカラム落ちしないように */
.nav > li > a {
  padding: 15px 11px; }

.dropdown-menu {
  padding: 0;
  box-shadow: none; }

/* ナビゲーション ドロップダウン時の上下の幅を広げる */
.dropdown-menu > li {
  padding: 8px 0px; }

/* ナビバーブランドロゴの上下の余白をなくす */
.navbar-brand {
  padding: 0; }

/* ナビゲーション スマートフォンの時ロゴの左に余白を付ける */
@media only screen and (max-width: 768px) {
  .navbar-brand {
    /*margin-left: 10px;*/ } }
/* ナビゲーションの高さの制限を解除*/
.navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
  max-height: none; }

/* ナビゲーション_スマホ時のドロップダウンのhover */
.navbar-light .navbar-nav .open .dropdown-menu > li > a:hover {
  color: #3A5A98;
  background-color: #fff; }

/* 九州大会 サブナビ 
--------------------------*/
/* サブナビの大きさを調整 */
#sub_navi .nav > li > a {
  padding: 10px 15px; }

/* サブナビの枠を表示 */
#sub_navi .nav-pills > li > a {
  border: solid 1px #CCC; }

/* サブナビ間のマージン調整 */
#sub_navi .nav-pills > li {
  margin-left: 0;
  margin-right: 5px;
  margin-bottom: 5px; }

#sub_navi .nav-pills > li + li {
  margin-left: 0; }

/* ボタンの色を変える */
#sub_navi .nav-pills .nav-link.active,
#sub_navi .nav-pills .show > .nav-link {
  background-color: #3A5A98; }

/* パンくずリストの調整 */
.breadcrumbs {
  font-size: 0.9em; }

.breadcrumbs a {
  color: #183876; }

/* スライダー（fxslider）
--------------------------------- */
/* スライダー背景 */
.slider {
  background-color: #EEE;
  /*padding: 0;*/ }

/* スライダーのボーダー消去・白背景削除 */
.flexslider {
  margin: 0;
  border: none;
  background-color: transparent; }

/* スライダー下の丸いコントロール消去 */
.flex-control-paging {
  display: none; }

/* スライダー左右のコントロール下が切れるので */
.flex-direction-nav a {
  height: 50px; }

/* スライダーのオーバーレイ */
.slider .overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10; }

/* スライダー （bootstrap4 版 カルーセル利用）
------------------------------------------ */
/* 左右のコントロールの位置を両サイドに近づける */
.carousel-control-next,
.carousel-control-prev {
  width: 4%; }

/* HOME
------------------------------------------ */
/* トップナビ */
.top_navi a {
  color: #222222;
  text-align: center;
  border: 0;
  font-size: 1.1rem; }

/* リンク hover 背景色 */
.top_navi a:hover {
  opacity: 0.7; }

.top_navi a.cate_color_01 {
  background-color: rgba(167, 56, 29, 0.2); }

.top_navi a.cate_color_02 {
  background-color: rgba(174, 122, 38, 0.2); }

.top_navi a.cate_color_03 {
  background-color: rgba(182, 172, 43, 0.2); }

.top_navi a.cate_color_04 {
  background-color: rgba(119, 148, 56, 0.2); }

.top_navi a.cate_color_05 {
  background-color: rgba(0, 123, 67, 0.2); }

.top_navi a.cate_color_06 {
  background-color: rgba(0, 125, 122, 0.2); }

.top_navi a.cate_color_07 {
  background-color: rgba(0, 127, 171, 0.2); }

.top_navi a.cate_color_08 {
  background-color: rgba(5, 90, 142, 0.2); }

.top_navi a.cate_color_09 {
  background-color: rgba(53, 42, 111, 0.2); }

.top_navi a.cate_color_10 {
  background-color: rgba(119, 47, 109, 0.2); }

.top_navi a.cate_color_11 {
  background-color: rgba(167, 54, 109, 0.2); }

.top_navi a.cate_color_12 {
  background-color: rgba(167, 55, 74, 0.2); }

/* アイコンの白シャドウ 
.top_navi .bg_image .icon {
	font-weight: 700;
	text-shadow: 0 0 10px $color_white,
		0 0 10px $color_white,
		0 0 10px $color_white,
		0 0 10px $color_white;
}*/
.top_navi a:focus {
  color: #222222;
  border: none; }

/* アイコンだけはテーマカラー */
.top_navi .icon {
  color: #FFFFFF; }

/* トップページの競技別トピック */
.sports_topic a {
  background-color: rgba(58, 90, 152, 0.2);
  color: #222222;
  text-align: center;
  border: 0; }

.sports_topic a:hover {
  opacity: 0.7; }

/* 実施要項ページ アコーディオンの背景カラー */
#sports .accordion .card {
  border: 1px solid #cccccc; }

#sports .accordion .card-header {
  background-color: rgba(58, 90, 152, 0.1);
  color: #222222;
  padding: 0;
  /* リンクの装飾 */
  /* アイコンを右寄せ */
  /* 開いているときはマイナスアイコン */
  /* 開いていないときはプラスアイコンに */ }
  #sports .accordion .card-header button.btn-link {
    border-radius: 0;
    color: #222222;
    /* コントラスト */ }
    #sports .accordion .card-header button.btn-link:hover, #sports .accordion .card-header button.btn-link:focus {
      background-color: #3A5A98;
      color: #FFFFFF;
      text-decoration: none; }
  #sports .accordion .card-header button.btn-link span.icon {
    float: right; }
  #sports .accordion .card-header button.btn-link span.icon::before {
    content: "\f146";
    /* マイナスアイコン fas fa-minus-square*/
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    width: 1.2em; }
  #sports .accordion .card-header button.btn-link.collapsed span.icon::before {
    content: "\f0fe";
    /* <i class="fas fa-plus-square"></i> */ }

/* アコーディオンの中身 */
#sports .accordion .card-body {
  /* パディングを狭く */
  padding: 10px;
  /* 行間を狭める */
  /* ダウンロードリンク */
  /* 文書未提供の場合はリンク無効化 */
  /* リンク無効化 ＆ 取り消し線*/
  /* インフォメーションのみ リンク無効化*/
  /* 日付は右寄せ */ }
  #sports .accordion .card-body p {
    margin-bottom: 10px; }
  #sports .accordion .card-body a {
    display: block;
    border-bottom: dotted 1px #CCCCCC; }
  #sports .accordion .card-body a.nolink {
    pointer-events: none;
    cursor: auto;
    color: #bbbbbb;
    /* アイコンも薄い色に */
    /* 日付は消す */ }
    #sports .accordion .card-body a.nolink::after {
      content: "（提供前）"; }
    #sports .accordion .card-body a.nolink.icon::before {
      color: #bbbbbb; }
    #sports .accordion .card-body a.nolink span.date {
      display: none; }
  #sports .accordion .card-body a.disabled {
    pointer-events: none;
    cursor: auto;
    text-decoration: line-through;
    color: #bbbbbb; }
  #sports .accordion .card-body a.icon.info {
    pointer-events: none;
    cursor: auto; }
  #sports .accordion .card-body .date {
    display: inline-block;
    float: right;
    margin-top: 0.5rem; }

/* カテゴリ別アイテム */
.card.category {
  background-color: #007D7A;
  border: none;
  color: #FFFFFF; }

.card.category.sub_color_01 {
  background-color: #A7381D; }

.card.category.sub_color_02 {
  background-color: #B6AC2B; }

.card.category.sub_color_03 {
  background-color: #007B43; }

/* 競技別一覧表 
--------------------------*/
/* 競技別テーブル */
table.kyogi thead th {
  background-color: #3A5A98;
  color: #FFFFFF;
  vertical-align: top;
  white-space: nowrap; }

table.kyogi .name {
  white-space: nowrap; }

/* 番号、●の寄せ */
table.kyogi .number {
  text-align: right; }

table.kyogi .circle,
table.kyogi .month {
  text-align: center; }

table.kyogi .circle {
  /* 競技別一覧では ● を使うのでアイコンフォントは使わず、大きく */
  font-family: "游ゴシック Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, Verdana, sans-serif, serif;
  color: #bbbbbb; }

/* セルの上下中央寄せ */
table.kyogi > thead > tr > th,
table.kyogi > thead > tr > td,
table.kyogi > tbody > tr > th,
table.kyogi > tbody > tr > td {
  vertical-align: middle; }

/* リンクなしの●を薄い色に */
table.kyogi tbody td {
  color: #CCC;
  text-align: center; }

/* アンダーラインを非表示 */
table.kyogi td a,
.hanrei {
  text-decoration: none;
  color: #3A5A98; }

/* 訪問済み */
table.kyogi tbody td a:visited {
  color: #772F6D; }

/* オンマウス時のhover背景 */
.table-hover > tbody > tr:hover {
  background-color: rgba(0, 105, 140, 0.1); }

/* 実施されない競技は背景をグレーに */
table.kyogi th.disabled,
table.kyogi td.disabled {
  background-color: #CCC; }

/* 左サイドに th があるテーブルは th の幅が広くなりがちなので */
table.narrow_head tbody th {
  width: 20%; }

/* または table の width:100% を無効にする */
table.width_auto {
  width: auto; }

/* リンク無効化 */
table.kyogi td a.disabled {
  pointer-events: none;
  cursor: auto;
  color: #bbbbbb;
  background-color: transparent; }

/* カバー写真 */
.cover {
  background-image: url(../images/img_top_concept.jpg);
  background-size: cover;
  height: 500px; }

/* SNS */
/* twitter タイムラインの文字が大きすぎるので */
.twitter-timeline .SandboxRoot.env-bp-550 .timeline-Tweet-text {
  font-size: 1rem !important;
  line-height: 1.4rem; }

/* フットバナー 
------------------------------------------ */
.foot_banner {
  background-color: #F6F6F6;
  margin-top: 40px;
  padding: 20px 0; }

.foot_banner a.text_link {
  padding: 10px 20px;
  color: #222222;
  text-align: center; }

.foot_banner a.text_link:hover {
  opacity: 0.7; }

.foot_banner a.text_link.cate_color_01 {
  background-color: rgba(167, 56, 29, 0.3);
  border-color: #A7381D; }

.foot_banner a.text_link.cate_color_02 {
  background-color: rgba(174, 122, 38, 0.3);
  border-color: #AE7A26; }

.foot_banner a.text_link.cate_color_03 {
  background-color: rgba(182, 172, 43, 0.3);
  border-color: #B6AC2B; }

.foot_banner a.text_link.cate_color_04 {
  background-color: rgba(119, 148, 56, 0.3);
  border-color: #779438; }

.foot_banner a.text_link.cate_color_05 {
  background-color: rgba(0, 123, 67, 0.3);
  border-color: #007B43; }

.foot_banner a.text_link.cate_color_06 {
  background-color: rgba(0, 125, 122, 0.3);
  border-color: #007D7A; }

.foot_banner a.text_link.cate_color_07 {
  background-color: rgba(0, 127, 171, 0.3);
  border-color: #007FAB; }

.foot_banner a.text_link.cate_color_08 {
  background-color: rgba(5, 90, 142, 0.3);
  border-color: #055A8E; }

.foot_banner a.text_link.cate_color_09 {
  background-color: rgba(53, 42, 111, 0.3);
  border-color: #352A6F; }

.foot_banner a.text_link.cate_color_10 {
  background-color: rgba(119, 47, 109, 0.3);
  border-color: #772F6D; }

.foot_banner a.text_link.cate_color_11 {
  background-color: rgba(167, 54, 109, 0.3);
  border-color: #A7366D; }

.foot_banner a.text_link.cate_color_12 {
  background-color: rgba(167, 55, 74, 0.3);
  border-color: #A7374A; }

.foot_banner a.banner {
  padding: 10px 20px;
  color: #222222; }

.foot_banner a.btn {
  font-size: 20px; }

/* お問い合わせフォームを配置の場合、色だけ変える*/
.foot_banner.bg_theme {
  background-color: rgba(58, 90, 152, 0.2); }

.foot_banner.bg_theme a.btn {
  color: #FFFFFF; }

/* footer 
------------------------------------------ */
footer {
  background-color: #DDD;
  /*color: $text_color;*/
  color: #222222;
  padding: 20px 0; }

footer .title {
  font-size: 1.4rem;
  font-weight: 600;
  color: #222222; }

/* フッタのアイテムは白線 */
footer .item {
  border-bottom: dotted 1px #FFF;
  margin-bottom: 4px;
  padding: 2px 0;
  color: #FFF; }

/* フッタのリンク */
footer a.arrow {
  color: #3A5A98;
  text-decoration: none; }

footer a.arrow:hover,
footer a.arrow:focus {
  color: #007D7A;
  text-decoration: none; }

.footer-nav {
  padding-left: 0; }

.footer_btn {
  margin-top: 20px;
  margin-bottom: 20px; }

.footer_btn a {
  padding: 10px 20px;
  margin: 0 30px;
  color: #fff;
  border: 1px solid #fff;
  transition: all .3s; }

.footer_btn a:hover
.footer_btn a:active {
  color: #000;
  background-color: #fff;
  text-decoration: none; }

.footer-nav li {
  font-size: 1.3rem;
  list-style: none;
  margin-bottom: 5px; }

.footer-nav li a {
  color: #fff; }

.footer-nav li a:hover,
.footer-nav li a:focus {
  color: #fff;
  opacity: 0.9;
  text-decoration: underline; }

/* スマホ用アイコンボタン内アイコンの色 */
footer .fa-inverse {
  color: #3A5A98; }

/* スマホ用アイコンボタン内アイコンの背景色 */
footer .tap a {
  color: #fff; }

/* スマホ用アイコンボタンをタップした時の色 */
footer .tap a:hover,
footer .tap a:focus {
  color: rgba(255, 255, 255, 0.5); }

footer .tap a:hover .fa-inverse,
footer .tap a:focus .fa-inverse {
  color: #FFF; }

/* スマホ用アイコンボタン下のテキスト */
footer .tap p {
  padding-top: 8px; }

/* フッタのSNSボタンの調整 */
.fb_iframe_widget > span {
  vertical-align: baseline !important; }

/* コピーライト */
.copyright {
  padding: 0.3rem;
  background-color: #3A5A98;
  color: #FFF; }

.copyright p {
  line-height: 1;
  margin-bottom: 0; }

.copyright small {
  font-weight: 200; }

.footer_btn {
  padding-bottom: 40px;
  border-bottom: 1px dotted #ddd; }

/* ドキュメントのリスト
------------------------------------------ */
/* アンダーラインはドット */
.docs_list li {
  border-bottom: 1px dotted #CCCCCC; }

.docs_list .date {
  display: inline-block;
  float: right;
  margin-top: 0.5rem; }

/* プライバシーボリシー・約款・契約書
------------------------------------------ */
/* 個々のタイトルの前にスペースを設ける */
#privacy h2.title,
#privacy h3.title,
.contract h2.title,
.contract h3.title {
  margin-top: 2rem;
  margin-bottom: 10px;
  border-bottom: dotted 1px #CCCCCC;
  padding-bottom: 10px;
  color: #3A5A98; }

/* 規約はスマホのときに位置を変える */
.contract h3.title {
  text-align: center; }
.contract dt {
  text-align: left; }
@media (min-width: 768px) {
  .contract h3.title {
    text-align: left; } }

/* qanda よくある質問
------------------------------------------ */
/*ボックス全体*/
.accbox {
  margin: 2em 0;
  padding: 0; }

/*Q.の色を$theme_colorに*/
.q-color {
  color: #3A5A98; }

/*ラベル*/
.accbox label {
  display: block;
  margin: 1.5px 0;
  padding: 11px 12px;
  color: #252525;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.5s;
  border-bottom: solid 1.5px #f5f5f5; }

/*ラベルホバー時*/
.accbox label:hover {
  background: #f5f5f5; }

/*チェックは隠す*/
.accbox input {
  display: none; }

/*中身を非表示にしておく*/
.accbox .accshow {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
  margin-bottom: 20px; }

/*クリックで中身表示*/
.cssacc:checked + .accshow {
  height: auto;
  padding: 5px;
  opacity: 1; }

/*pの中身を読みやすく*/
.accshow p {
  line-height: 1.7; }

/* recruit_採用情報
------------------------------------------ */
/* bootstrapのデフォルトを書き換え */
/*
.alert-danger {
	color: #000;
	background-color: #fff;
	border-color: $theme_color;
}

.alert-danger a {
	color: $theme_color;
	font-weight: 600;
}
*/
/*
.btn-danger {
	margin-top: 30px;
}
*/
/* テーブルの背景 */
table.works th {
  background: #EEEEEE; }

/* スマホ時の幅調整*/
@media (max-width: 767px) {
  table.works th {
    /*width: 35%;*/ } }
/* テーブルボーダーの色が違うので */
.table:not(.table-borderless) td,
.table:not(.table-borderless) th {
  border-top: 1px solid #CCCCCC; }

/* テーブルの最後にもボーダーを */
.table:not(.table-borderless) tr:last-child th,
.table:not(.table-borderless) tr:last-child td {
  border-bottom: 1px solid #CCCCCC; }

/* about_会社情報
------------------------------------------ */
.about_img {
  background-imag: url("../images/loopimage.png"); }

.dl-horizontal dd {
  text-align: left;
  padding-left: 40px;
  border-left: 1px dotted #252525;
  margin-bottom: 30px; }

@media (max-width: 767px) {
  /* スマホ時 */
  .dl-horizontal dt {
    border-bottom: 1px dotted #252525; }

  .dl-horizontal dd, dt {
    text-align: center; }

  .dl-horizontal dd {
    padding-left: 0;
    padding-top: 5px;
    border: none; } }
/* equipment_スムホームの標準仕様
------------------------------------------ */
/* 左に黒見出し） */
.equipment_item_title {
  font-weight: 600;
  border-bottom: solid 1px #000;
  border-left: solid 6px #000;
  padding: 5px 0px 5px 10px; }

/* 製品特徴の説明文 */
section.point p {
  line-height: 1.5;
  padding-top: 10px; }

.example {
  position: relative;
  margin-bottom: 30px; }

.example:nth-child(even) {
  margin-bottom: 0; }

.example a {
  /*aタグを画像の真ん中に*/
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  /*余計な隙間を除く*/
  border: solid 2px #fff;
  /*線で囲う*/
  padding: 7px 15px;
  /*文字と線の間の余白*/
  color: #fff;
  /*文字色*/
  text-decoration: none;
  /*下線を表示させない*/ }

.example a:hover {
  /*カーソルを当てたとき*/
  background: rgba(255, 255, 255, 0.3);
  /*背景を半透明に*/ }

.example img {
  width: 100%; }

.example::before {
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: ' '; }

/* voices_お客様の声
------------------------------------------ */
/* マウスオーバーでキャプション表示 
参考サイト：http://www.nxworld.net/tips/css-only-caption-effect.html
*/
.portfolio figure {
  position: relative;
  overflow: hidden; }

.portfolio figcaption {
  position: absolute;
  bottom: -100%;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  -webkit-transition: .3s;
  transition: .3s;
  padding: 6px; }

.portfolio figure:hover figcaption {
  bottom: 0; }

/* マウスオーバーで写真ちょっと拡大 */
.portfolio figure .transform {
  /* baguettebox 適用でおかしくなるので外した */
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }

.portfolio figure:hover .transform_xxx {
  /* baguettebox 適用でおかしくなるので外した */
  -webkit-transform: scale(1.1);
  transform: scale(1.1); }

/* キャプション内は下マージンなし */
.portfolio figcaption > * {
  margin-bottom: 0;
  color: #FFF; }

/* 写真の下マージンの調整 */
.portfolio figure.portfolio-item {
  margin-bottom: 20px; }

/* アイコンを四角のボタンに */
a.portfolio-zoom i.fa,
a.portfolio-zoom i.fas,
a.portfolio-link i.fa,
a.portfolio-link i.fas {
  padding: 15px;
  background-color: rgba(255, 255, 255, 0.3);
  display: inline-block; }

/* アイコンの hover 時背景 */
a.portfolio-zoom i.fa:hover,
a.portfolio-zoom i.fas:hover,
a.portfolio-link i.fa:hover,
a.portfolio-link i.fas:hover {
  background-color: #D9A300;
  color: #FFF; }

/* 物件名・カテゴリのマージン、文字色調整 */
.portfolio-text {
  height: 100px; }

.portfolio-text > * {
  margin-top: 0;
  margin-bottom: 0;
  color: #FFF;
  line-height: 1.4; }

/* アイコンは中央揃え */
.portfolio-icons {
  text-align: center; }

.portfolio-icons a {
  color: #FFF; }

/* カード間のマージンボトム */
.portfolio .item {
  margin-bottom: 15px; }

/* お問い合わせ */
.form_require {
  color: #cc0000; }

.form_require::before {
  color: #cc0000;
  content: "*"; }

/* 製品仕様 */
table.spec tbody th {
  background-color: rgba(58, 90, 152, 0.15); }
