@charset "utf-8";

/* body font
_____________________________________________________________________ */

body, h3, p, gnav{
    font-family:Roboto, "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif!important;
    color: #000;
	font-size:16px;
}

@media only screen and (max-width: 576px) {
	body, p{
		font-size:14px;
}
}


h1, h2{
    font-family:Garamond , 'Shippori Mincho',"Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    color: #000;
}



.l-bloc{
	color: inherit;
}


.tit-h1{
	font-size:1.2rem;
	line-height:1.7;
}

@media (max-width: 767px){
.tit-h1{
	font-size:1rem;
}
}

/*PCでは無効（改行しない）
____________________________ */
.sma{
    display: none;
}

/*スマートフォンでは有効（改行する）
____________________________ */
@media screen and (max-width:767px) {
    .sma{
        display: block;
    }
}


/*th固定テーブル
____________________________ */
/* デフォルトはPC想定：高さ制限なし */
.table-wrapper {
  overflow-y: visible;
  border: 1px solid #ccc;
  max-height: none;
}

/* タブレット以下（768px以下）のとき高さ制限を適用 */
@media (max-width: 767px) {
  .table-wrapper {
    overflow-y: auto;
    max-height: 450px;
  }
}

/* テーブル全体 */
table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

/* ヘッダー固定＋デザイン強化 */
thead th {
  position: sticky;
  top: 0;
  background: #f0f0f0;
  z-index: 2;
  padding: 12px;
  text-align: left;
  border-bottom: 2px solid #ccc;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); /* 視認性強化 */
}

/* テーブル内容 */
tbody td {
  padding: 12px;
  border-bottom: 1px solid #eee;
}

/* アクセシビリティ用：focusでアウトライン表示 */
.table-wrapper:focus {
  outline: 2px solid #3b82f6; /* blue-500 */
  outline-offset: 2px;
}

/* 一般的なスタイル（お好みで） */
td {
  padding: 8px;
  border-bottom: 1px solid #eee;
}


.table-wrapper th,
.table-wrapper td {
  border: 1px solid #aaa;
  padding: 6px;
  text-align: center;
  vertical-align: middle;
}
.table-wrapper thead th {
  position: sticky;
  top: 0;
  background: #f9f9f9;
  z-index: 1;
}




/* table ta-schedule
_____________________________________________________________________ */


table.ta-schedule {
  margin : 5px 0 10px 0;
  border-collapse : collapse;
  border : 1px solid #ebebeb;
  width:99%;
	text-align:center;
}

table.ta-schedule th {
  padding : 5px 5px;
  color:#222;
  background-color:#f5f5f5;
  border : 1px solid #ebebeb;
  font-weight:bold;
  text-align:center;
}

table.ta-schedule th.ta-tit2 {
  padding : 5px 5px;
  color:#222;
  border : 1px solid #ebebeb;
  text-align:center;
  vertical-align:middle;
  background-color:#b2dffa;
}


table.ta-schedule td {
  padding : 5px 5px;
  border : 1px solid #ebebeb;
  background-color:#fff;
  vertical-align: middle;
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
	color: #FF6687;
}

#footer-info table.ta-schedule th,
#footer-info table.ta-schedule td{
font-size: 14px;
}

@media (max-width: 767px){

table.ta-schedule th,
table.ta-schedule td{
font-size: 12px;
}
}


/* table ta-type1
_____________________________________________________________________ */

table.ta-type1 {
  margin : 20px 0 30px 0;
  border-collapse : collapse;
  border : 1px solid #FBE6F1;
  width:99%;
	text-align: left;
}

table.ta-type1 th {
  padding : 20px 20px;
  color:#222;
  background-color:#fbf3f7;
  border : 1px solid #FBE6F1;
  font-weight:bold;
  text-align:left;
}

table.ta-type1 th.ta-tit2 {
  padding : 20px 20px;
  color:#222;
  border : 1px solid #FBE6F1;
  text-align:left;
  vertical-align:middle;
  background-color:#b2dffa;
}

table.ta-type1 td {
line-height: 1.8;
  padding : 20px 20px;
  border : 1px solid #FBE6F1;
	background-color:#fff;
}



/* = Table
-------------------------------------------------------------- */
table.ta-line{
    font-size: 16px;
	width: 100%;
	border-top: 1px solid #dcdcdc!important;
}
@media (max-width: 500px){
    table.ta-line{
        font-size: 14px;
    }
}

.ta-line tr th,
.ta-line tr td{
	color: #282828!important;	
    border-bottom: 1px solid #dcdcdc!important;
	line-height: 1.8;
	padding: 10px 0!important;
}


/* list
_____________________________________________________________________ */
ol li {
  padding-top:5px;
  padding-bottom:5px;
	line-height: 1.8;
  }

ul li {
  padding-top:5px;
	line-height: 1.8;
}


/* dropdown
_____________________________________________________________________ */
.dropdown:hover .dropdown-menu {
    display: block;
}

@media (max-width: 767px){
.dropdown-item{
white-space: normal;
}
}


/* ie11 card内の画像を使った時に縦に伸びるバグ修正
_____________________________________________________________________ */
.card{
display: block;
}



/* ------------------------------------------------ */
/* 動画
/* ------------------------------------------------ */
.movie {
position: relative;
width:100%;
padding-top: 56.25%;
}

.movie iframe {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
}

.embed-responsive-2by1::before {
 padding-top:50%;
}



/* ------------------------------------------------ */
/* PDFボタン
/* ------------------------------------------------ */

.pdf-tile {
  display: block;
  background: #fff;
  border-radius: 30px;
  padding: 1rem;
  text-align: center;
  text-decoration: none;
  color: #333!important;
  height: 100%;
}
.pdf-tile:hover {
  background-color: #fbf3f7;
}
.pdf-thumb { display: block; margin: 0 auto 10px; }
.pdf-caption { display: block; line-height: 1.6; font-size: .95rem; }
