@charset "utf-8";

/*==========================================
 font
===========================================*/
@font-face {
  font-family: 'TBSGothic';
  src: url('https://www.tbs.co.jp/um/tpfonts/2e0869c1-da33-42ae-9828-55499bd42a69.woff') format("woff");
  font-weight:normal;
  font-style:normal;
/*  font-display: swap;*/
}
@font-face {
  font-family: 'TBSGothic';
  src: url('https://www.tbs.co.jp/um/tpfonts/044de588-d2c9-4010-86b0-1c026db099a2.woff') format("woff");
  font-weight:bold;
  font-style:normal;
/*  font-display: swap;*/
}

html {
  font-family: 'TBSGothic', sans-serif;
  font-size: 62.5%;
  font-weight: normal;
  color: #3B3F4A;
}

/* link */
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
a { outline: none; text-decoration: none; }
a:link    { color: #3B3F4A; text-decoration: none; }
a:visited { color: #3B3F4A; text-decoration: underline; }
a:hover   { color: #3B3F4A; text-decoration: underline; }
a:active  { color: #3B3F4A; text-decoration: underline; }



/*==========================================
 body
===========================================*/

html {
  background: #FFF;
  overflow: auto;
}
body {
  overflow: hidden;
	min-width: 980px;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (max-width: 767px) {
  body {
  	min-width: auto;
  }
}

/*==========================================
 clearfix
===========================================*/
.clearfix {
	zoom: 1;
}
.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}
.clearfix:after {
	clear: both;
}
.clear{
	clear: both;
}

/*==========================================
 画像切替
===========================================*/
/* PC、スマートフォン表示分岐 */
.pcView {
  display: block;
}
.spView {
  display: none;
}
@media only screen and (max-width: 767px) {
  .pcView {
    display: none;
  }
  .spView {
    display: block;
  }
}

/*==========================================
 画像保存・プリントアウト禁止
===========================================*/
.nocontxt {
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	-moz-user-select:none;
	-khtml-user-select:none;
	-webkit-user-drag:none;
	-khtml-user-drag: none;
	-webkit-touch-callout: none;
}
.nocontxt img {
	pointer-events: none;
}
/*img {
	pointer-events: none; border-style: none; vertical-align: middle; user-select:none; -webkit-user-select:none; -ms-user-select: none; -moz-user-select:none; -khtml-user-select:none; -webkit-user-drag:none; -khtml-user-drag:none;
}*/

@media print {
	.noprint {
		display: none;
	}
}

/*==========================================
 overay
===========================================*/
#overay {
  position: fixed;
  z-index: 700;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}


/*==========================================
 ヘッダーのスタイル
===========================================*/
header {
  position: fixed;
  z-index: 800;
  width: 100%;
  height: 80px;
}
header #header {
  position: relative;
  width: 100%;
  height: 80px;
  border-bottom: 1px solid #ECEDF0;
  background-color: #FFF;
}
header #headerLogoArea {
  position: absolute;
  left: 20px;
  top: 13px;
  width: 220px;
  height: 30px;
}
header #headerLogoArea .column_L {
  float: left;
  width: 66px;
  height: 30px;
}
header #headerLogoArea .column_L img {
  width: 100%;
  height: auto;
}
header #headerLogoArea .column_R {
  float: right;
  width: 140px;
  height: 30px;
  padding: 0 0 0 12px;
  box-sizing: border-box;
  border-left: 1px solid #C0C4CE;
}
header #headerLogoArea .column_R img {
  width: 126px;
  height: auto;
}
header #headerLogoArea .column_R p {
  padding: 3px 0 0;
  font-size: 1.2rem;
  color: #81899D;
}
header #headerLanguageArea {
  position: absolute;
  right: 60px;
  top: 15px;
}
header #headerLanguageArea ul li {
  float: left;
}
header #headerLanguageArea ul li:nth-child(2) {
  margin: 0 0 0 15px;
  padding: 0 0 0 15px;
  border-left: 1px solid #3B3F4A
}
header #headerLanguageArea ul li a {
  position: relative;
  font-size: 1.0rem;
}
header #headerLanguageArea ul li a:hover {
  text-decoration: none;
}
header #headerLanguageArea ul li.active a::before,
header #headerLanguageArea ul li a:hover::before {
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 100%;
  height: 1px;
  margin: 0 0 0 -50%;
  background-color: #C0C4CE;
  content: "";
}

header #headerSearchArea {
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  height: 40px;
}
header #headerSearchArea a img {
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  height: auto;
}
header #headerSearchArea #headerSearchBox {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 540px;
  height: 40px;
  box-shadow:0px 0px 6px 6px rgba(0,0,0,0.1);
}
header #headerSearchArea #headerSearchBox input[type="text"] {
  width: 500px;
  height: 40px;
  padding: 10px;
  border: none;
  box-sizing: border-box;
  font-size: 1.6rem;
}
header #headerSearchArea #headerSearchBox input[type="submit"] {
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  height: 40px;
  border: none;
  box-sizing: border-box;
  background-image: url("/common/img/header_search_bot.svg");
  background-size: 40px 40px;
}

header #header_SpIcon,
header #header_SpNavi {
  display: none;
}
@media only screen and (max-width: 767px) {
  header {
    height: 50px;
  }
  header #header {
    height: 50px;
  }
  header #headerLogoArea {
    left: 5%;
    top: 14px;
    width: 162px;
    height: 23px;
  }
  header #headerLogoArea .column_L {
    float: left;
    width: 50px;
    height: 23px;
  }
  header #headerLogoArea .column_R {
    width: 100px;
    height: 23px;
    padding: 0 0 0 12px;
    box-sizing: border-box;
    border-left: 1px solid #C0C4CE;
  }
  header #headerLogoArea .column_R p {
    padding: 3px 0 0;
    font-size: 1.0rem;
    font-weight: bold;
    color: #81899D;
  }
  header #headerLanguageArea {
    display: none;
  }

  header #headerSearchArea {
    position: absolute;
    right: 15%;
    top: 15px;
  }
  header #headerSearchArea a {
    display: block;
    width: 22px;
    height: 22px;
  }
  header #headerSearchArea a img {
    width: 22px;
    height: 22px;
  }

  header #headerSearchArea #headerSearchBox {
    display: none;
    position: fixed;
    z-index: 500;
    right: auto;
    left: 0;
    top: 50px;
    width: 100%;
    height: 60px;
    box-shadow:0px 0px 6px 6px rgba(0,0,0,0.06);
  }
  header #headerSearchArea #headerSearchBox::before {
    position: absolute;
    left: 5%;
    top: 17px;
    width: 26px;
    height: 26px;
    background-image: url("/common/img/header_search_icon01.svg");
    background-size: 26px 26px;
    content: "";
  }
  header #headerSearchArea #headerSearchBox input[type="text"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 90%;
    height: 60px;
    padding: 10px 5% 10px 15%;
    border-radius: 0;
    font-size: 2.0rem;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
  }
  header #headerSearchArea #headerSearchBox input[type="submit"] {
    display: none;
  }
  header #headerSearchArea #headerSearchBox a {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 60px;
    height: 60px;
  }
  header #headerSearchArea #headerSearchBox a img {
    width: 60px;
    height: 60px;
  }

  header #header_SpIcon {
    display: block;
    z-index: 600;
    position: absolute;
    right: 5%;
    top: 17px;
    width: 22px;
    height: 16px;
    padding: 0;
    box-sizing: border-box;
  }
  header #header_SpIcon .menu-trigger,
  header #header_SpIcon .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  header #header_SpIcon .menu-trigger {
    position: relative;
    width: 22px;
    height: 16px;
  }
  header #header_SpIcon .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #0050FF;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(2) {
    top: 7px;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }

  header #header_SpIcon .menu-trigger.active span:nth-of-type(1) {
    transform: translateY(7px) rotate(-45deg);
  }
  header #header_SpIcon .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  header #header_SpIcon .menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-7px) rotate(45deg);
  }

  header #header_SpNavi {
    display: none;
    z-index: 400;
    position: absolute;
    left: 0;
    top: 50px;
    width: 100%;
    height: 100vh;
    overflow-y: scroll;
    background-color: #ECEDF0;
  }
  header #header_SpNavi #header_SpNaviMain ul li {
    width: 100%;
    border-bottom: 1px solid #DADCE1;
    box-sizing: border-box;
  }
  header #header_SpNavi #header_SpNaviMain ul li a {
    position: relative;
    display: block;
    padding: 20px 5%;
    font-size: 1.6rem;
    font-weight: bold;
    -webkit-tap-highlight-color: rgba( 0, 0, 0, 0.05);
  }
  header #header_SpNavi #header_SpNaviMain ul li a:hover {
    text-decoration: none;
  }
  header #header_SpNavi #header_SpNaviMain ul li a::after {
    position: absolute;
    right: 5%;
    top: 50%;
    width: 24px;
    height: 24px;
    margin: -12px 0 0;
    background-image: url("/common/img/icon01.svg");
    background-size: 24px 24px;
    content: "";
  }
  header #header_SpNavi #header_SpNaviMain ul li.link a::after {
    transform: rotate(-90deg)
  }

  header #header_SpNavi #header_SpNaviMain ul li ul {
    background-color: #DADCE1;
  }
  header #header_SpNavi #header_SpNaviMain ul li ul li {
    width: 95%;
    margin-left: 5%;
    border-bottom: 1px solid #BEC1C9;
  }
  header #header_SpNavi #header_SpNaviMain ul li ul li:last-child {
    border-bottom: none;
  }
  header #header_SpNavi #header_SpNaviMain ul li ul li a {
    padding: 20px 2%;
  }
  header #header_SpNavi #header_SpNaviMain ul li ul li:nth-child(n + 2) a {
    font-size: 1.4rem;
  }
  header #header_SpNavi #header_SpNaviMain ul li ul li.link a::after {
    display: none;
  }
  header #header_SpNavi #header_SpNaviMain ul li ul li ul li {
    width: 100%;
    margin-left: 0;
    border-bottom: none;
  }
  header #header_SpNavi #header_SpNaviMain ul li ul li ul li a {
    padding: 8px 12% 9px 2%;
    font-weight: normal;
    line-height: 1.4;
  }
  header #header_SpNavi #header_SpNaviMain ul li ul li ul li:first-child a {
    padding: 0px 12% 9px 2%;
  }
  header #header_SpNavi #header_SpNaviMain ul li ul li ul li:last-child a {
    padding: 8px 12% 15px 2%;
  }
  header #header_SpNavi #header_SpNaviMain ul li ul li ul li a::after {
    display: none;
  }

  header #header_SpNavi #header_SpNaviMain li.pullMenu ul {
    display: none;
  }
  header #header_SpNavi #header_SpNaviMain li.pullMenu a.open::after {
    transform: rotate(-180deg);
  }

  header #header_SpNavi #header_SpNaviLanguage {
    width: 100%;
    border-bottom: 1px solid #DADCE1;
    text-align: center;
  }
  header #header_SpNavi #header_SpNaviLanguage a {
    display: block;
    width: 100%;
    padding: 20px 5%;
    box-sizing: border-box;
    font-size: 1.1rem;
  }
}


/*グローバルナビゲーション ////////////////////////////////// */
header #headerGlobalArea {
  position: absolute;
  right: 60px;
  top: 52px;
  width: 809px;
}
header #headerGlobalArea ul {
}
header #headerGlobalArea li {
  float: left;
  margin: 0 0 0 26px;
  height: 20px;
}
header #headerGlobalArea li:first-child {
  margin: 0;
}
header #headerGlobalArea li a {
  position: relative;
  display: block;
  width: 100%;
  font-size: 1.4rem;
  font-weight: bold;
  color: #3B3F4A;
}
header #headerGlobalArea li a:hover,
header #headerGlobalArea li.active a {
  text-decoration: none;
}
header #headerGlobalArea li a::before {
  position: absolute;
  opacity: 0;
  left: 50%;
  bottom: -14px;
  width: 0%;
  height: 3px;
  margin: 0 0 0 -50%;
  background-color: #0050FF;
  content: "";
  transition : all 0.3s;
}
header #headerGlobalArea li a:hover::before {
  opacity: 1;
  width: 100%;
}
body.about header #headerGlobalArea li:nth-child(1) a::before,
body.group header #headerGlobalArea li:nth-child(2) a::before,
body.ir header #headerGlobalArea li:nth-child(3) a::before,
body.csr header #headerGlobalArea li:nth-child(4) a::before,
body.news header #headerGlobalArea li:nth-child(5) a::before,
body.recruit header #headerGlobalArea li:nth-child(6) a::before {
  position: absolute;
  opacity: 1;
  left: 50%;
  bottom: -14px;
  width: 100%;
  height: 3px;
  margin: 0 0 0 -50%;
  background-color: #0050FF;
  content: "";
}

header #headerPulldown {
  display: none;
  position: absolute;
  left: 0;
  top: 80px;
  width: 100%;
  min-height: 518px;
  background-color: #ECEDF0;
}
header #headerPulldown #headerPulldownArea {
  width: 980px;
  margin: 0 auto;
  padding: 36px 0 70px;
}
header #headerPulldown #headerPulldownArea > div {
  display: none;
}
header #headerPulldown #headerPulldownArea .column_L {
  position: relative;
  float: left;
  width: 320px;
  height: 159px;
}
header #headerPulldown #headerPulldownArea .column_L img {
  width: 100%;
  height: auto;
}
header #headerPulldown #headerPulldownArea .column_L p {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  width: 320px;
  height: 159px;
  padding: 73px 0 0;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: bold;
  color: #FFF;
  text-align: center;
  text-shadow: 0px 0px 6px rgba(0,0,0,0.5);
}
header #headerPulldown #headerPulldownArea .column_R {
  float: right;
  width: 580px;
  border-top: 1px solid #C0C4CE;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownTop {
  width: 100%;
  border-bottom: 1px solid #C0C4CE;
  box-sizing: border-box;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownTop a {
  position: relative;
  display: block;
  padding: 20px 10px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: bold;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownTop a:hover {
  text-decoration: none;
  background-color: #FFF;
  color: #0050FF;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownTop a::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  border: 0px solid #C0C4CE;
  box-sizing: border-box;
  transition : all 0.3s;
  content: "";
}
/* header #headerPulldown #headerPulldownArea .column_R .headerPulldownTop a:hover::before {
  opacity: 1;
  border: 5px solid #C0C4CE;
} */

header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub {
  width: 100%;
  box-sizing: border-box;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub .headerPulldownSub_L {
  float: left;
  width: 270px;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub .headerPulldownSub_R {
  float: right;
  width: 270px;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul {
  list-style-type: none;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul li {
  border-top: 1px solid #C0C4CE;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul li:first-child {
  border-top: none;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul li:last-child{
  border-bottom: 1px solid #C0C4CE;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul li a {
  position: relative;
  display: block;
  padding: 12px 10px 10px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.4;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul li a:hover {
  text-decoration: none;
  background-color: #FFF;
  color: #0050FF;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul li a::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0px solid #C0C4CE;
  opacity: 0;
  box-sizing: border-box;
  transition : all 0.3s;
  content: "";
}
/* header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul li a:hover::before {
  opacity: 1;
  border: 5px solid #C0C4CE;
} */

header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul li.sub {
  border-top: none;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul li.sub:last-child {
  padding-bottom: 15px;
  border-bottom: 1px solid #C0C4CE;
}
header #headerPulldown #headerPulldownArea .column_R .headerPulldownSub ul li.sub a {
  padding: 7px 20px;
  font-size: 1.4rem;
  font-weight: normal;
}

header #headerPulldown #headerPulldownClose {
  position: absolute;
  right: 20px;
  bottom: 20px;
}
header #headerPulldown #headerPulldownClose a {
  position: relative;
  font-size: 1.4rem;
  color: #81899D;
}
header #headerPulldown #headerPulldownClose a::before {
  position: absolute;
  left: -25px;
  top: -2px;
  width: 18px;
  height: 18px;
  background-image: url("/common/img/header_pull_close.svg");
  background-size: 18px 18px;
  content: "";
}
header #headerPulldown #headerPulldownClose a:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  header #headerGlobalArea,
  header #headerPulldown {
    display: none;
  }
}



/*==========================================
 フッターのスタイル
===========================================*/
footer {
  width: 100%;
  margin: 120px 0 0;
}
footer #footeSitemap {
  width: 100%;
  box-sizing: border-box;
  background-color: #81899D;
}
footer #footeSitemap #footeSitemapTop {
  width: 100%;
  height: 70px;
  border-bottom: 1px solid #C0C4CE;
}
body.tbstv footer #footeSitemap #footeSitemapTop {
  height: 90px;
  border-bottom: none;
}
footer #footeSitemap #footeSitemapTop.h_90 {
  height: 90px;
  border-bottom: none;
}
footer #footeSitemap #footeSitemapTop #footeSitemapHome {
  position: relative;
  width: 980px;
  margin: 0 auto;
  padding: 40px 0 0;
  box-sizing: border-box;
}
footer #footeSitemap #footeSitemapTop #footeSitemapHome a {
  font-size: 1.4rem;
  font-weight: bold;
  color: #FFF;
}
footer #footeSitemap #footeSitemapTop #footeSitemapHome a:hover {
  text-decoration: none;
  opacity: 0.7;
}
footer #footeSitemap #footeSitemapTop #footeSitemapHome #footerPageup {
  position: absolute;
  right: -50px;
  top: -25px;
  width: 50px;
  height: 50px;
  box-shadow:0px 0px 6px 6px rgba(0,0,0,0.06);
}

footer #footeSitemap #footeSitemapBottom {
  width: 980px;
  margin: 0 auto;
  padding: 25px 0 20px;
}
footer #footeSitemap #footeSitemapBottom .footeLinkBox {
  float: left;
  width: 225px;
  margin: 0 20px 33px 0;
}
footer #footeSitemap #footeSitemapBottom .footeLinkBox:last-child {
  width: 245px;
  margin: 0;
}
footer #footeSitemap #footeSitemapBottom .footeLinkBox ul {
  list-style-type: none;
}
footer #footeSitemap #footeSitemapBottom .footeLinkBox ul li {
  padding: 0 0 15px;
}
footer #footeSitemap #footeSitemapBottom .footeLinkBox ul li a {
  font-size: 1.4rem;
  font-weight: bold;
  color: #FFF;
  line-height: 1.4;
}
footer #footeSitemap #footeSitemapBottom .footeLinkBox.subLink ul li a {
  font-size: 1.2rem;
}
footer #footeSitemap #footeSitemapBottom .footeLinkBox.subLink ul li.sub a {
  position: relative;
  display: block;
  padding: 0 0 0 20px;
  font-weight: normal;
  line-height: 1.4;
}
footer #footeSitemap #footeSitemapBottom .footeLinkBox.subLink ul li.sub a::before {
  position: absolute;
  left: 10px;
  top: -1px;
  content: "-";
}
footer #footeSitemap #footeSitemapBottom .footeLinkBox a:hover {
  text-decoration: none;
  opacity: 0.7;
}
footer #footeSitemap #footeLinkBox_sp,
footer #footeSitemap #footeLanguagek_sp {
  display: none;
}

footer #footeLink {
  position: relative;
  width: 100%;
  min-height: 100px;
  box-sizing: border-box;
  background-color: #3B3F4A;
}
footer #footeLink #footeLinkTop {
  width: 100%;
  height: 70px;
  border-bottom: 1px solid #000;
}
footer #footeLink #footeLinkTop #footeLinkOut {
  width: 980px;
  margin: 0 auto;
  padding: 30px 0 0;
}
footer #footeLink #footeLinkTop #footeLinkOut ul {
  list-style-type: none;
}
footer #footeLink #footeLinkTop #footeLinkOut ul li {
  float: left;
  margin: 0 10px 0 0;
  padding: 0 10px 0 0;
  border-right: 1px solid #C0C4CE;
}
footer #footeLink #footeLinkTop #footeLinkOut ul li:last-child {
  border-right: none;
}
footer #footeLink #footeLinkTop #footeLinkOut ul li a {
  font-size: 1.1rem;
  color: #C0C4CE;
}
footer #footeLink #footeLinkTop #footeLinkOut ul li a:hover {
  text-decoration: none;
  opacity: 0.7;
}

footer #footeLink #footeLinkBottom {
  width: 980px;
  height: 70px;
  margin: 0 auto;
  padding: 30px 0 0;
  box-sizing: border-box;
}
footer #footeLink #footeLinkBottom .column_L {
  float: left;
}
footer #footeLink #footeLinkBottom .column_L small {
  font-size: 1.2rem;
  color: #C0C4CE;
}
footer #footeLink #footeLinkBottom .column_R {
  float: right;
}
footer #footeLink #footeLinkBottom .column_R ul {
  list-style-type: none;
}
footer #footeLink #footeLinkBottom .column_R ul li {
  float: left;
  margin: 0 0 0 20px;
}
footer #footeLink #footeLinkBottom .column_R ul li a {
  font-size: 1.1rem;
  color: #C0C4CE;
}
footer #footeLink #footeLinkBottom .column_R ul li a:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  footer {
    margin: 120px 0 0;
  }
  footer #footeSitemap {
    width: 100%;
    min-height: auto;
  }
  footer #footeSitemap #footeSitemapTop,
  footer #footeSitemap #footeSitemapBottom {
    display: none;
  }
  footer #footeSitemap #footeLinkBox_sp {
    display: block;
  }
  footer #footeSitemap #footeLinkBox_sp ul {
    list-style-type: none;
  }
  footer #footeSitemap #footeLinkBox_sp ul li {
    width: 50%;
    height: 55px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
  }
  footer #footeSitemap #footeLinkBox_sp ul li:nth-child(1n) {
    float: left;
    border-right: 1px solid rgba(0, 0, 0, 0.1);
  }
  footer #footeSitemap #footeLinkBox_sp ul li:nth-child(2n) {
    float: right;
  }
  footer #footeSitemap #footeLinkBox_sp ul li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px 10px 0 15px;
    box-sizing:border-box;
    font-size: 1.6rem;
    font-weight: bold;
    color: #ECEDF0;
  }
  footer #footeSitemap #footeLinkBox_sp ul li:nth-child(1) a {
    padding: 12px 10px 0 15px;
  }

  footer #footeSitemap #footeLanguagek_sp {
    display: block;
    width: 100%;
    height: 55px;
    text-align: center;
  }
  footer #footeSitemap #footeLanguagek_sp a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px 0 0 0;
    box-sizing:border-box;
    font-size: 1.1rem;
    color: #ECEDF0;
  }

  footer #footeLink {
    min-height: auto;
    padding: 20px 0;
  }
  footer #footeLink #footeLinkTop {
    height: auto;
  }
  footer #footeLink #footeLinkTop #footeLinkOut {
    width: 90%;
    margin: 0 5%;
    padding: 0;
  }
  footer #footeLink #footeLinkTop #footeLinkOut ul li {
    float: none;
    margin: 0;
    padding: 0 0 20px 0;
    border-right: none;
  }

  footer #footeLink #footeLinkBottom {
    width: 90%;
    height: auto;
    margin: 0 5%;
    padding: 20px 0 0;
  }
  footer #footeLink #footeLinkBottom .column_L {
    float: none;
    width: 100%;
    padding: 20px 0 0;
  }
  footer #footeLink #footeLinkBottom .column_L small {
    display: inline-block;
    font-size: 1.0rem;
    text-align: center;
    line-height: 1.4;
  }
  footer #footeLink #footeLinkBottom .column_R {
    float: none;
    width: 100%;
  }
  footer #footeLink #footeLinkBottom .column_R ul {
    width: 294px;
    margin: 0 auto;
  }
  footer #footeLink #footeLinkBottom .column_R ul li {
    float: left;
    margin: 0 10px;
  }
}


/*==========================================
 コンテンツのスタイル 共通
===========================================*/
#mainContents {
  min-height: 500px;
  padding: 80px 0 0 0;
}
#mainContents section.w_full {
  width: 100%;
  margin: 0;
}
#mainContents section.w_800 {
  width: 800px;
  margin: 0 auto;
}
#mainContents section.w_840 {
  width: 840px;
  margin: 0 auto;
}
#mainContents section.w_950 {
  width: 950px;
  margin: 0 auto;
}
#mainContents section.bt_G {
  border-top: 1px solid #E1E1E1;
}
#mainContents section.bc_G {
  background-color: #ECEDF0;
}
@media only screen and (max-width: 767px) {
  #mainContents {
    min-height: 500px;
    padding: 50px 0 0 0;
  }
  #mainContents section.w_800,
  #mainContents section.w_840,
  #mainContents section.w_950 {
    width: 90%;
    margin: 0 5%;
  }
  #mainContents section.w_3no {
    width: 100%;
    margin: 0;
  }
}

/* 余白調整  /////////////////////////////*/
#mainContents .pt_5 { padding-top: 5px; }
#mainContents .pt_10 { padding-top: 10px; }
#mainContents .pt_20 { padding-top: 20px; }
#mainContents .pt_30 { padding-top: 30px; }
#mainContents .pt_40 { padding-top: 40px; }
#mainContents .pt_50 { padding-top: 50px; }
#mainContents .pt_60 { padding-top: 60px; }
#mainContents .pt_80 { padding-top: 80px; }
#mainContents .pt_100 { padding-top: 100px; }
#mainContents .pt_110 { padding-top: 110px; }
#mainContents .pt_140 { padding-top: 140px; }
#mainContents .pt_150 { padding-top: 150px; }
#mainContents .pt_160 { padding-top: 160px; }
#mainContents .pt_400 { padding-top: 400px; }

#mainContents .pb_10 { padding-bottom: 10px; }
#mainContents .pb_20 { padding-bottom: 20px; }
#mainContents .pb_30 { padding-bottom: 30px; }
#mainContents .pb_40 { padding-bottom: 40px; }
#mainContents .pb_50 { padding-bottom: 50px; }
#mainContents .pb_60 { padding-bottom: 60px; }
#mainContents .pb_100 { padding-bottom: 100px; }
#mainContents .pb_200 { padding-bottom: 200px; }
#mainContents .pb_140 { padding-bottom: 140px; }
#mainContents .pb_400 { padding-bottom: 400px; }

#mainContents .pl_20 { padding-left: 20px; }
#mainContents .pl_40 { padding-left: 40px; }
#mainContents .pl_60 { padding-left: 60px; }
#mainContents .pl_65 { padding-left: 65px; }
#mainContents .pl_80 { padding-left: 80px; }
#mainContents .pl_95 { padding-left: 95px; }
#mainContents .pl_100 { padding-left: 100px; }

#mainContents .mt_20 { margin-top: 20px; }
#mainContents .mt_30 { margin-top: 30px; }
#mainContents .mt_40 { margin-top: 40px; }
#mainContents .mt_60 { margin-top: 60px; }

#mainContents .mb_30 { margin-bottom: 30px; }
#mainContents .mb_60 { margin-bottom: 60px; }

#mainContents .ml_10 { margin-left: 10px; }
@media only screen and (max-width: 767px) {
  #mainContents .pt_5 { padding-top: 3px; }
  #mainContents .pt_10 { padding-top: 5px; }
  #mainContents .pt_20 { padding-top: 10px; }
  #mainContents .pt_30 { padding-top: 15px; }
  #mainContents .pt_40 { padding-top: 20px; }
  #mainContents .pt_50 { padding-top: 25px; }
  #mainContents .pt_60 { padding-top: 30px; }
  #mainContents .pt_80 { padding-top: 40px; }
  #mainContents .pt_100 { padding-top: 50px; }
  #mainContents .pt_110 { padding-top: 55px; }
  #mainContents .pt_140 { padding-top: 70px; }
  #mainContents .pt_150 { padding-top: 75px; }
  #mainContents .pt_160 { padding-top: 80px; }
  #mainContents .pt_400 { padding-top: 200px; }

  #mainContents .pb_10 { padding-bottom: 5px; }
  #mainContents .pb_20 { padding-bottom: 10px; }
  #mainContents .pb_30 { padding-bottom: 15px; }
  #mainContents .pb_40 { padding-bottom: 20px; }
  #mainContents .pb_50 { padding-bottom: 25px; }
  #mainContents .pb_60 { padding-bottom: 30px; }
  #mainContents .pb_100 { padding-bottom: 50px; }
  #mainContents .pb_140 { padding-bottom: 70px; }
  #mainContents .pb_200 { padding-bottom: 200px; }
  #mainContents .pb_400 { padding-bottom: 200px; }

  #mainContents .pl_40 { padding-left: 20px; }
  #mainContents .pl_60 { padding-left: 40px; }

  #mainContents .plr_3p { padding-left: 3%; padding-right: 3%; }

  #mainContents .mt_20 { margin-top: 15px; }
  #mainContents .mt_30 { margin-top: 20px; }
  #mainContents .mt_40 { margin-top: 30px; }
  #mainContents .mt_60 { margin-top: 30px; }

  #mainContents .mb_30 { margin-bottom: 20px; }
  #mainContents .mb_60 { margin-bottom: 30px; }
}

/* layout  /////////////////////////////*/
#mainContents .t_center { text-align: center;}

#mainContents .ti_2 {
  padding-left: 2em;
  text-indent: -2em;
  box-sizing: border-box;
}
#mainContents .ti_2_2 {
  padding-left: 2em;
  text-indent: -2.5em;
  box-sizing: border-box;
}
#mainContents .ti_9 {
  padding-left: 9em;
  text-indent: -9em;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
#mainContents .ti_9 {
  padding-left: 0em;
  text-indent: 0em;
}
#mainContents .ti_9 span{
  padding-left: 0em;
}
}


/*==========================================
 共通タイトル
===========================================*/
#mainContents #titleTyp01 {
  position: relative;
  width: 100%;
  height: 300px;
  padding: 145px 0 0;
  box-sizing: border-box;
  background-size: cover;
  background-position: center;
  text-align: center;
}
#mainContents #titleTyp01.h_330 {
  height: 330px;
}
#mainContents #titleTyp01.h_330.pt_125 {
  padding: 125px 0 0;
}
#mainContents #titleTyp01.h_540 {
  padding: 245px 0 0;
  height: 540px;
}
#mainContents #titleTyp01.h_540_2 {
  padding: 200px 0 0;
  height: 540px;
}

/* TBSホールディングスについて */
#mainContents #titleTyp01.aboutTitle01 {
  background-image: url("/about/img/about_title01.jpg");
}
#mainContents #titleTyp01.aboutTitle02 {
  background-image: url("/about/img/about_title02.jpg");
}
#mainContents #titleTyp01.aboutTitle03 {
  background-image: url("/about/img/about_title03.jpg");
}
#mainContents #titleTyp01.aboutTitle04 {
  background-image: url("/about/img/about_title04.jpg");
}
#mainContents #titleTyp01.aboutTitle05 {
  background-image: url("/about/img/about_title05.jpg");
}
#mainContents #titleTyp01.aboutTitle06 {
  background-image: url("/about/img/about_title06.jpg");
}

/* TBSグループ企業 */
#mainContents #titleTyp01.groupTitle01 {
  background-image: url("/group/img/group_title01.jpg");
}

/* TBSテレビ */
#mainContents #titleTyp01.tbstvTop {
  position: relative;
  width: 100%;
  height: 540px;
  padding: 0;
  overflow: hidden;
}
#mainContents #titleTyp01 #tbstvTopMv {
  opacity: 0;
}
#mainContents #titleTyp01 #tbstvTopMv .tbstvTitle01 {
  width: 100%;
  height: 540px;
  background-size: cover;
  background-position: center;
  text-align: center;
}
#mainContents #titleTyp01 #tbstvTopMv #tbstvTitle01_01 {
  background-image: url("/tbstv/img/tbstv_title01_01.jpg");
}
#mainContents #titleTyp01 #tbstvTopMv #tbstvTitle01_02 {
  background-image: url("/tbstv/img/tbstv_title01_02.jpg");
}
#mainContents #titleTyp01 #tbstvTopMv #tbstvTitle01_03 {
  background-image: url("/tbstv/img/tbstv_title01_03.jpg");
}
#mainContents #titleTyp01 #tbstvTopMv #tbstvTitle01_04 {
  background-image: url("/tbstv/img/tbstv_title01_04.jpg");
}
#mainContents #titleTyp01 .bx-wrapper {
  max-width: 100% !important;
  margin: 0 !important;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important;
}

#mainContents #titleTyp01.tbstvTitle02 {
  background-image: url("/tbstv/img/tbstv_title02.jpg");
}
#mainContents #titleTyp01.tbstvTitle03 {
  background-image: url("/tbstv/img/tbstv_title03.jpg");
}

/* IR関連 */
#mainContents #titleTyp01.irTitle01 {
  background-image: url("/ir/img/ir_title01.jpg");
}
#mainContents #titleTyp01.irTitle02 {
  background-image: url("/common/img/title_sample01.jpg");
}
#mainContents #titleTyp01.irTitle03 {
  background-image: url("/common/img/title_sample01.jpg");
}

/* TBSグループ企業 */
#mainContents #titleTyp01.sustainabilityTitle01 {
  background-image: url("/sustainability/img/sustainability_title01.jpg");
}

/* ニュースリリース */
#mainContents #titleTyp01.newsTitle01 {
  background-image: url("/release/img/news_title01.jpg");
}

/* 採用 */
#mainContents #titleTyp01.recruitTitle01 {
  background-image: url("/recruit/img/recruit_title01.jpg");
}

/* 個人情報について */
#mainContents #titleTyp01.privacyTitle01 {
  background-image: url("/privacy/img/privacy_title01.jpg");
}

/* #mainContents #titleTyp01::before {
  position: absolute;
  z-index: 300;
  left: 0;
  top: 0;
  width: 100%;
  height: 300px;
  background: -moz-linear-gradient(top, rgba(0, 157, 255, 0), rgba(23, 128, 193, 0.78));
  background: -webkit-linear-gradient(top, rgba(0, 157, 255, 0), rgba(23, 128, 193, 0.78));
  background: linear-gradient(to bottom, rgba(0, 157, 255, 0), rgba(23, 128, 193, 0.78));
  content: "";
}
#mainContents #titleTyp01.h_330::before {
  height: 330px;
}
#mainContents #titleTyp01.h_540::before {
  height: 540px;
}
#mainContents #titleTyp01.aboutTitle02.h_540::before {
  top: auto;
  bottom: 0;
  height: 200px;
} */
#mainContents #titleTyp01 h1 {
  position: relative;
  z-index: 400;
  font-size: 3.2rem;
  font-weight: bold;
  color: #FFF;
  line-height: 1.4;
  text-shadow:0px 0px 6px rgba(0,0,0,0.5);
}
#mainContents #titleTyp01.aboutTitle02 #aboutMessage {
  position: absolute;
  left: 50%;
  top: 240px;
  width: 1200px;
  margin: 0 0 0 -600px;
  padding: 0 0 0 780px;
  box-sizing: border-box;
  text-align: left;
}
#mainContents #titleTyp01.tbstvTop h1 {
  position: absolute;
  left: 50%;
  top: 240px;
  width: 100%;
  margin: 0 0 0 -50%;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #mainContents #titleTyp01 {
    width: 100%;
    height: 95px;
    padding: 30px 0 0;
  }
  /* TBSホールディングスについて */
  #mainContents #titleTyp01.aboutTitle01 {
    background-image: url("/about/img/about_title01_sp.jpg");
  }
  #mainContents #titleTyp01.aboutTitle03 {
    background-image: url("/about/img/about_title03_sp.jpg");
  }
  #mainContents #titleTyp01.aboutTitle04 {
    background-image: url("/about/img/about_title04_sp.jpg");
  }
  #mainContents #titleTyp01.h_330 {
    height: 95px;
  }
  #mainContents #titleTyp01.h_330.pt_125 {
    padding: 5px 0 0;
  }
  #mainContents #titleTyp01.h_330.pt_5_sp {
    padding: 5px 0 0;
  }
  #mainContents #titleTyp01.h_540 {
    height: 250px;
    padding: 95px 0 0;
  }
  #mainContents #titleTyp01.h_540.pt_75 {
    padding: 75px 0 0;
  }
  #mainContents #titleTyp01.h_540_2 {
    height: 250px;
    padding: 65px 0 0;
  }
  /* #mainContents #titleTyp01::before {
    height: 95px;
  }
  #mainContents #titleTyp01.h_330::before {
    height: 95px;
  }
  #mainContents #titleTyp01.h_540::before {
    height: 250px;
  }
  #mainContents #titleTyp01.aboutTitle02.h_540::before {
    height: 100px;
  } */
  #mainContents #titleTyp01.aboutTitle02 #aboutMessage {
    left: auto;
    right: 5%;
    top: 100px;
    width: auto;
    margin: 0;
    padding: 0;
  }
  #mainContents #titleTyp01.aboutTitle02 #aboutMessage h1 {
    font-size: 1.8rem;
  }
}

#mainContents #titleTyp02 {
  width: 100%;
  height: 150px;
  padding: 75px 0 0;
  box-sizing: border-box;
  text-align: center;
}
#mainContents #titleTyp02 h1 {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  #mainContents #titleTyp02 {
    width: 100%;
    height: auto;
    padding: 35px 0 0;
  }
  #mainContents #titleTyp02 h1 {
    font-size: 3.2rem;
    font-weight: bold;
  }
}

/*==========================================
 パンくず
===========================================*/
#mainContents #pankuzu {
  width: 100%;
  margin: 12px 30px;
  box-sizing: border-box;
  font-size: 1.2rem;
  color: #81899D;
}
#mainContents #pankuzu a {
  position: relative;
  margin: 0 20px 0 0;
  color: #81899D;
}
#mainContents #pankuzu a:hover {
  color: #0050FF;
}
#mainContents #pankuzu a:after {
  position: absolute;
  right: -12px;
  top: 3px;
  width: 6px;
  height: 6px;
  display: block;
  border-top: 1px solid #81899D;
  border-right: 1px solid #81899D;
  transform: rotate(45deg);
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents #pankuzu {
    display: none;
  }
}


/*==========================================
 共通 H
===========================================*/
h2.typ01 {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
h2.typ02 {
  font-size: 2.4rem;
  font-weight: bold;
  color: #81899D;
  line-height: 1.4;
}
h2.typ03 {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  h2.typ01 {
    line-height: 1.4;
  }
  h2.typ02 {
    line-height: 1.4;
  }
  h2.typ03 {
    line-height: 1.4;
  }
}



h3.typ01 {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
h3.typ02 {
  font-size: 2.4rem;
  font-weight: bold;
}
h3.typ03 {
  font-size: 1.6rem;
  font-weight: bold;
}
h3.typ04 {
  font-size: 1.6rem;
  font-weight: normal;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  h3.typ01,
  h3.typ02,
  h3.typ03,
  h3.typ04 {
    line-height: 1.4;
  }
}


/*==========================================
 共通 P
===========================================*/
#mainContents p.f_13 { font-size: 1.3rem; }
#mainContents p.f_14 { font-size: 1.4rem; }
#mainContents p.f_15 { font-size: 1.5rem; }
#mainContents p.f_16 { font-size: 1.6rem; }
#mainContents p.f_18 { font-size: 1.8rem; }
#mainContents p.f_20 { font-size: 2.0rem; }
#mainContents p.f_22 { font-size: 2.2rem; }
#mainContents p.f_24 { font-size: 2.4rem; }
#mainContents p.f_26 { font-size: 2.6rem; }
#mainContents p.f_36 { font-size: 3.6rem; }

#mainContents p.fl_14 { line-height: 1.4; }
#mainContents p.fl_16 { line-height: 1.6; }
#mainContents p.fl_18 { line-height: 1.8; }

#mainContents p.center { text-align: center; }
#mainContents p.right { text-align: right; }

#mainContents p.fc_red { color: #B41E1E; }
#mainContents p.fc_blue { color: #0050FF; }

#mainContents p.strong { font-weight: bold;}

#mainContents p span.strong { font-weight: bold;}
#mainContents small { font-size: 1.3rem; }

@media only screen and (max-width: 767px) {
  #mainContents p.f_13 { font-size: 1.1rem; }
  #mainContents p.f_14 { font-size: 1.2rem; }
  #mainContents p.f_15 { font-size: 1.3rem; }
  #mainContents p.f_16 { font-size: 1.2rem; }
  #mainContents p.f_18 { font-size: 1.6rem; }
  #mainContents p.f_20 { font-size: 1.8rem; }
  #mainContents p.f_22 { font-size: 2.0rem; }
  #mainContents p.f_24 { font-size: 2.0rem; }
  #mainContents p.f_26 { font-size: 2.2rem; }
  #mainContents p.f_36 { font-size: 3.0rem; }
  #mainContents small { font-size: 1.1rem; }
}

/*==========================================
 共通 img
===========================================*/
#mainContents img.img_full {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #mainContents img.img_full_sp {
    width: 100%;
    height: auto;
  }
}

/*==========================================
 共通リンク
===========================================*/
#mainContents p a {
  text-decoration: underline;
}
#mainContents p a:hover {
  opacity: 0.7;
}

#mainContents a.linkType01 {
  position: relative;
  padding: 0 0 0 23px;
  font-size: 1.6rem;
}
#mainContents a.linkType01::before {
  position: absolute;
  left: 0;
  top: 2px;
  width: 15px;
  height: 12px;
  background-image: url("/common/img/icon04.svg");
  background-size: 15px 12px;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents a.linkType01 {
    font-size: 1.4rem;
  }
}

#mainContents a.linkType02 {
  position: relative;
  padding: 0 0 0 23px;
  font-size: 1.6rem;
}
#mainContents a.linkType02::before {
  position: absolute;
  left: 0;
  top: 2px;
  width: 15px;
  height: 12px;
  background-image: url("/common/img/icon02.svg");
  background-size: 15px 12px;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents a.linkType02 {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

#mainContents a.linkType03 {
  position: relative;
  display: block;
  padding: 0 0 0 50px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#mainContents a.linkType03::before {
  position: absolute;
  left: 0;
  top: 2px;
  width: 40px;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}
@media only screen and (max-width: 767px) {
  #mainContents a.linkType03 {
    font-size: 1.4rem;
  }
}

/*==========================================
 横移動メニュー
===========================================*/
#pageLink {
  width: 940px;
  margin: 0 auto;
  padding: 40px 0 0;
}
#pageLink .column_L {
  float: left;
  width: 450px;
}
#pageLink .column_R {
  float: right;
  width: 450px;
}
#pageLink ul {
  width: 100%;
  border-top: 1px solid #ECEDF0;
  list-style-type: none;
}
#pageLink ul li {
  width: 100%;
  border-bottom: 1px solid #ECEDF0;
}
#pageLink ul li a {
  position: relative;
  display: block;
  padding: 15px 10px 15px 35px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#pageLink ul li.sub a {
  padding: 15px 10px 15px 70px;
}
#pageLink ul li a::before {
  position: absolute;
  left: 10px;
  top: 18px;
  width: 16px;
  height: 16px;
  background-image: url("/common/img/icon02.svg");
  background-size: 16px 16px;
  content: "";
}
#pageLink ul li.outLink a::before {
  left: 10px;
  top: 20px;
  width: 15px;
  height: 12px;
  background-image: url("/common/img/icon04.svg");
  background-size: 15px 12px;
}
#pageLink ul li.sub a::before {
  left: 45px;
}

#pageLink ul li.noLink a {
  padding: 15px 10px 15px 0px;
  cursor: default;
}
#pageLink ul li.noLink a::before {
  display: none;
}
#pageLink ul li a:hover {
  text-decoration: none;
  color: #0050FF;
}
#pageLink ul li a::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  border: 0px solid #ECEDF0;
  box-sizing: border-box;
  transition : all 0.3s;
  content: "";
}
/* #pageLink ul li a:hover::after {
  opacity: 1;
  border: 5px solid #ECEDF0;
} */
#pageLink ul li.noLink a:hover {
  color: #3B3F4A;
}
#pageLink ul li.noLink a::after,
#pageLink ul li.noLink a:hover::after {
  display: none;
}

@media only screen and (max-width: 767px) {
  #pageLink {
    width: 100%;
    margin: 0 auto;
    padding: 20px 0 0;
  }
  #pageLink .column_L,
  #pageLink .column_R {
    float: none;
    width: 100%;
  }
  #pageLink .column_R ul {
    border-top: none;
  }
  #pageLink ul li a {
    padding: 15px 5% 15px 35px;
  }
  #pageLink ul li.noLink a {
    padding: 15px 5% 15px;
  }
}

.pageLinkIndex {
  width: 940px;
  margin: 0 auto;
  padding: 0 0 80px;
}
.pageLinkIndex .column_L {
  float: left;
  width: 450px;
}
.pageLinkIndex .column_R {
  float: right;
  width: 450px;
}
.pageLinkIndex ul {
  width: 100%;
  border-top: 1px solid #ECEDF0;
  list-style-type: none;
}
.pageLinkIndex ul li {
  width: 100%;
  border-bottom: 1px solid #ECEDF0;
}
.pageLinkIndex ul li a {
  position: relative;
  display: block;
  padding: 15px 10px 15px 35px;
  font-size: 1.6rem;
  line-height: 1.4;
}
.pageLinkIndex ul li a::before {
  position: absolute;
  left: 10px;
  top: 18px;
  width: 16px;
  height: 16px;
  background-image: url("/common/img/icon02.svg");
  background-size: 16px 16px;
  content: "";
}
.pageLinkIndex ul li a:hover {
  text-decoration: none;
  color: #0050FF;
}
.pageLinkIndex ul li a::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  border: 0px solid #ECEDF0;
  box-sizing: border-box;
  transition : all 0.3s;
  content: "";
}
.pageLinkIndex ul li a:hover::after {
  opacity: 1;
  border: 5px solid #ECEDF0;
}

@media only screen and (max-width: 767px) {
  .pageLinkIndex {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .pageLinkIndex .column_L,
  .pageLinkIndex .column_R {
    float: none;
    width: 100%;
    margin: 0 0 80px;
  }
  .pageLinkIndex h3 {
    padding-left: 3%;
    padding-right: 3%;
  }
  .pageLinkIndex ul li a {
    padding: 15px 5% 15px 35px;
  }
}

/*==========================================
 関連情報
===========================================*/
#footerLink {
  width: 100%;
  height: 330px;
  padding: 120px 0 0;
}
#footerLink.pt_0 {
  padding-top: 0;
}
#footerLink ul {
  display: table;
  table-layout: fixed;
  width: 100%;
  height: 330px;
}
#footerLink ul li {
  position: relative;
  display: table-cell;
  height: 330px;
  overflow: hidden;
}
#footerLink ul li::before {
  position: absolute;
  z-index: 100;
  left: 50%;
  top: 0;
  width: 100%;
  height: 330px;
  margin: 0 0 0 -50%;
  background-size: cover;
  background-position: center;
  content: "";
  transition : all 0.3s;
}
#footerLink ul li:hover::before {
  width: 120%;
  margin: 0 0 0 -60%;
}
/* #footerLink ul li::after {
  position: absolute;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 330px;
  background: -moz-linear-gradient(top, rgba(0, 157, 255, 0), rgba(23, 128, 193, 0.78));
  background: -webkit-linear-gradient(top, rgba(0, 157, 255, 0), rgba(23, 128, 193, 0.78));
  background: linear-gradient(to bottom, rgba(0, 157, 255, 0), rgba(23, 128, 193, 0.78));
  content: "";
} */

#footerLink ul li a {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 200;
  display: block;
  width: 100%;
  height: 100%;
  padding: 125px 0 0;
  box-sizing: border-box;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.4;
  color: #FFF;
  text-align: center;
  text-shadow:0px 0px 6px rgba(0,0,0,0.5);
}
#footerLink ul li.pt_120 a {
  padding: 100px 0 0;
}
#footerLink ul li.typ02 a {
  padding: 140px 0 0;
}
#footerLink ul li a:hover {
  text-decoration: none;
}
#footerLink ul li a::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  border: 0px solid rgba(255, 255, 255, 0.5);
  box-sizing: border-box;
  transition : all 0.3s;
  content: "";
}
#pageLink #footerLink  ul li a::before {
  display: none;
}
#pageLink #footerLink ul li a:hover {
  color: #FFF;
}
/* #footerLink ul li a:hover::before {
  opacity: 1;
  border: 10px solid rgba(255, 255, 255, 0.5);
} */
#footerLink ul li a span {
  display: block;
  padding: 5px 0 0;
  font-size: 1.4rem;
  font-weight: normal;
  text-shadow:0px 0px 6px rgba(0,0,0,0.5);
}
#footerLink ul li span.pdf {
  position: absolute;
  z-index: 500;
  right: 16px;
  bottom: 16px;
}
#footerLink ul li span.pdf img {
  width: 41px;
  height: 16px;
}
#footerLink ul li span.icon {
  position: absolute;
  z-index: 500;
  right: 16px;
  bottom: 16px;
}
#footerLink ul li span.icon img {
  width: 15px;
  height: 11px;
}
/* トップページ */
#footerLink ul li.footerLink_top01::before {
  background-image: url("/common/img/top_bk01.jpg");
}
#footerLink ul li.footerLink_top02::before {
  background-image: url("/common/img/top_bk02.jpg");
}
#footerLink ul li.footerLink_top03::before {
  background-image: url("/common/img/top_bk03.jpg");
}
#footerLink ul li.footerLink_top04::before {
  background-image: url("/common/img/top_bk04.jpg");
}
#footerLink ul li.footerLink_top05::before {
  background-image: url("/common/img/top_bk05.jpg");
}
#footerLink ul li.footerLink_top06::before {
  background-image: url("/common/img/top_bk06.jpg");
}


/* TBSホールディングスについて */
#footerLink ul li.footerLink_aboutTop01::before {
  background-image: url("/about/img/about_top_bk01.jpg");
}
#footerLink ul li.footerLink_aboutTop02::before {
  background-image: url("/about/img/about_top_bk02.jpg");
}
#footerLink ul li.footerLink_about01::before {
  background-image: url("/about/img/about_top_officialbook2024.jpg");
}
#footerLink ul li.footerLink_about01_en::before {
  background-image: url("/about/img/about_top_bk02.jpg");
}
#footerLink ul li.footerLink_about02::before {
  background-image: url("/about/img/about_top_bk03.jpg");
}


/* IR関連 */
#footerLink ul li.footerLink_ir01::before {
  background-image: url("/ir/img/ir_bk01.jpg");
}
#footerLink ul li.footerLink_ir02::before {
  background-image: url("/ir/img/ir_bk02.jpg");
}


/* サステナビリティ */
#footerLink ul li.footerLink_sustainability a {
  color: #3B3F4A;
}
#footerLink ul li.footerLink_sustainability a img {
  width: auto;
  height: 49px;
}
#footerLink ul li.footerLink_sustainability::before {
  background-image: none;
  box-sizing: border-box;
}
#footerLink ul li.footerLink_sustainability::after {
  display: none;
}
#footerLink ul li.footerLink_sustainability a span {
  text-shadow:0px 0px 6px rgba(0,0,0,0);
}


/* 採用情報 */
#footerLink ul li.footerLink_recruit01 a,
#footerLink ul li.footerLink_recruit02 a {
  color: #3B3F4A;
}
#footerLink ul li.footerLink_recruit01 a img,
#footerLink ul li.footerLink_recruit02 a img {
  width: auto;
  height: 49px;
}
#footerLink ul li.footerLink_recruit01::before {
  background-image: none;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
}
#footerLink ul li.footerLink_recruit01::after {
  display: none;
}
#footerLink ul li.footerLink_recruit02::before {
  background-image: none;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
}
#footerLink ul li.footerLink_recruit02::after {
  display: none;
}
#footerLink ul li.footerLink_recruit01 a span,
#footerLink ul li.footerLink_recruit02 a span {
  text-shadow:0px 0px 6px rgba(0,0,0,0);
}

/* JNN・JRNネットワーク */
#footerLink ul li.footerLink_jnn01 a,
#footerLink ul li.footerLink_jnn02 a {
  color: #3B3F4A;
}
#footerLink ul li.footerLink_jnn01 a img,
#footerLink ul li.footerLink_jnn02 a img {
  width: 253px;
  height: auto;
}
#footerLink ul li.footerLink_jnn01::before {
  background-image: none;
  background-color: #FAFAFA;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
}
#footerLink ul li.footerLink_jnn01::after {
  display: none;
}
#footerLink ul li.footerLink_jnn02::before {
  background-image: none;
  background-color: #FAFAFA;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
}
#footerLink ul li.footerLink_jnn02::after {
  display: none;
}

@media only screen and (max-width: 767px) {
  #footerLink {
    height: auto;
  }
  #footerLink ul {
    display: block;
    height: auto;
  }
  #footerLink ul li {
    display: block;
    height: 210px;
  }
  #footerLink ul li::before {
    height: 210px;
  }
  #footerLink ul li::after {
    height: 210px;
  }
  #footerLink ul li a {
    height: 210px;
    padding: 82px 0 0;
    font-size: 1.9rem;
  }
  #footerLink ul li.pt_120 a {
    padding: 68px 0 0;
  }
  #footerLink ul li.typ02 a {
    padding: 90px 0 0;
  }
  #footerLink ul li a span {
    font-size: 1.0rem;
  }
  #footerLink ul li.footerLink_aboutTop02 {
    display: none;
  }
  .spView #footerLink ul li.footerLink_aboutTop02 {
    display: block;
  }
  #footerLink ul li.footerLink_sustainability a img {
    height: 25px;
  }
  #footerLink ul li.footerLink_recruit01 a img,
  #footerLink ul li.footerLink_recruit02 a img {
    height: 25px;
  }
}



/*==========================================
 共通レイアウト
===========================================*/
#mainContents .columnTyp01 {
  width: 100%;
}
#mainContents .columnTyp01 .column_L {
  float: left;
  width: 540px;
}
#mainContents .columnTyp01 .column_R {
  float: right;
  width: 525px;
}
#mainContents .columnTyp01 img {
  width: 100%;
  height: auto;
}


/*==========================================
 共通表組み
===========================================*/
#mainContents .table_typ01 {
  width: 100%;
}
#mainContents .table_typ01 table {
  width: 100%;
  border-bottom: 1px solid #ECEDF0;
}
#mainContents .table_typ01 table tr {
  border-top: 1px solid #ECEDF0;
}
#mainContents .table_typ01 table tr th {
  width: 190px;
  padding: 20px 5px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: normal;
  text-align: left;
  line-height: 1.8;
  color: #81899D;
}
#mainContents .table_typ01.w_80 table tr th {
  width: 80px;
}
#mainContents .table_typ01.w_350 table tr th {
  width: 350px;
}
#mainContents .table_typ01 table tr td {
  padding: 20px 20px;
  font-size: 1.6rem;
  vertical-align: middle;
  line-height: 1.8;
}
#mainContents .table_typ01 table tr td.typ01 {
  text-align: center;
  color: #81899D;
}
#mainContents .table_typ01 table tr td ol.upper {
  margin: 0 0 0 25px;
  list-style-type: upper-roman;
}
#mainContents .table_typ01 table tr td span.strong {
  font-weight: bold;
}
#mainContents .table_typ01 table tr td span.f_14 {
  font-size: 1.4rem;
}
#mainContents .table_typ01 table tr td span.f_right {
  float: right;
}
#mainContents .table_typ01 table tr td a {
  text-decoration: underline;
}
#mainContents .table_typ01 table tr td a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .table_typ01 table tr th {
    width: 95px;
    padding: 10px 10px 10px 0px;
    font-size: 1.4rem;
  }
  #mainContents .table_typ01.w_80 table tr th {
    width: 40px;
  }
  #mainContents .table_typ01.w_350 table tr th {
    width: 190px;
  }
  #mainContents .table_typ01 table tr td {
    padding: 10px 0;
    font-size: 1.4rem;
  }
  #mainContents .table_typ01 table tr td span.f_14 {
    font-size: 1.2rem;
  }
}


#mainContents .table_typ02 {
  width: 100%;
}
#mainContents .table_typ02 table {
  width: 100%;
  border-bottom: 1px solid #ECEDF0;
}
#mainContents .table_typ02 table tr {
  border-top: 1px solid #ECEDF0;
}
#mainContents .table_typ02 table tr.b_no {
  border-top: none;
}
#mainContents .table_typ02 table tr th {
  width: 70px;
  padding: 20px 15px 0;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: normal;
  text-align: right;
  line-height: 1.8;
  color: #81899D;
}
#mainContents .table_typ02 table tr.pb_20 th {
  padding: 20px 15px;
}
#mainContents .table_typ02 table tr th.fc_B {
  color: #3B3F4A;
}
#mainContents .table_typ02 table tr td {
  padding: 20px 20px 0;
  font-size: 1.6rem;
  vertical-align: middle;
  line-height: 1.8;
}
#mainContents .table_typ02 table tr.pb_20 td {
  padding: 20px 20px;
}
#mainContents .table_typ02 table tr td a {
    text-decoration: underline;
}
#mainContents .table_typ02 table tr td a:hover {
    opacity: 0.7;
}

@media only screen and (max-width: 767px) {
  #mainContents .table_typ02 table tr th {
    width: 20px;
    padding: 10px 10px 0;
    font-size: 1.4rem;
  }
  #mainContents .table_typ02 table tr.pb_20 th {
    padding: 10px 10px;
  }
  #mainContents .table_typ02 table tr td {
    padding: 10px 0;
    font-size: 1.4rem;
  }
  #mainContents .table_typ02 table tr.pb_20 td {
    padding: 10px 10px;
  }
}

#mainContents .table_typ03 {
  width: 100%;
}
#mainContents .table_typ03 table {
  width: 100%;
}
#mainContents .table_typ03 table tr:nth-child(odd) {
  background-color: #fffac8;
}
#mainContents .table_typ03 table tr th {
  width: 190px;
  padding: 20px 5px 20px 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: normal;
  text-align: left;
  line-height: 1.8;
  color: #81899D;
}
#mainContents .table_typ03.w_80 table tr th {
  width: 80px;
}
#mainContents .table_typ03.w_350 table tr th {
  width: 350px;
}
#mainContents .table_typ03 table tr td {
  padding: 20px 20px;
  font-size: 1.6rem;
  vertical-align: middle;
  line-height: 1.8;
}
#mainContents .table_typ03 table tr td.typ01 {
  text-align: center;
  color: #81899D;
}
#mainContents .table_typ03 table tr td ol.upper {
  margin: 0 0 0 25px;
  list-style-type: upper-roman;
}
#mainContents .table_typ03 table tr td span.strong {
  font-weight: bold;
}
#mainContents .table_typ03 table tr td span.f_14 {
  font-size: 1.4rem;
}
#mainContents .table_typ03 table tr td span.f_right {
  float: right;
}
#mainContents .table_typ03 table tr td a {
  text-decoration: underline;
}
#mainContents .table_typ03 table tr td a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .table_typ03 table {
  	width: 100%;
  }
  #mainContents .table_typ03 table tr th {
    width: 95px;
    padding: 10px 10px 10px 10px;
    font-size: 1.4rem;
  }
  #mainContents .table_typ03.w_80 table tr th {
    width: 40px;
  }
  #mainContents .table_typ03.w_350 table tr th {
    width: 190px;
  }
  #mainContents .table_typ03 table tr td {
    padding: 10px 0;
    font-size: 1.4rem;
  }
  #mainContents .table_typ03 table tr td span.f_14 {
    font-size: 1.2rem;
  }
}

/*==========================================
 listスタイル
===========================================*/
#mainContents .listTyp01 {
  width: 100%;
}
#mainContents .listTyp01 ul {
  padding: 0 0 0 20px;
  list-style-type: decimal;
}
#mainContents .listTyp01 ul li {
  padding: 0 0 20px 10px;
  font-size: 1.6rem;
  line-height: 1.8;
}
#mainContents .listTyp01 ul li span.strong {
  font-weight: bold;
}
#mainContents .listTyp01 ul li a {
  text-decoration: underline;
}
#mainContents .listTyp01 ul li a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .listTyp01 ul {
    padding: 0 0 0 15px;
  }
  #mainContents .listTyp01 ul li {
    padding: 0 0 20px 5px;
    font-size: 1.2rem;
  }
}

#mainContents .listTyp02 {
  width: 100%;
}
#mainContents .listTyp02 ul {
  padding: 0 0 0 20px;
  list-style-type: lower-latin;
}
#mainContents .listTyp02 ul li {
  padding: 0 0 20px 10px;
  font-size: 1.6rem;
  line-height: 1.8;
}
#mainContents .listTyp02 ul li a {
  text-decoration: underline;
}
#mainContents .listTyp02 ul li a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .listTyp02 ul {
    padding: 0 0 0 15px;
  }
  #mainContents .listTyp02 ul li {
    padding: 0 0 20px 5px;
    font-size: 1.2rem;
  }
}

#mainContents .listTyp03 {
  width: 100%;
}
#mainContents .listTyp03 ul {
  list-style-type: none;
}
#mainContents .listTyp03 ul li {
  position: relative;
  display: block;
  padding: 0 0 20px 25px;
  font-size: 1.6rem;
  line-height: 1.8;
}
#mainContents .listTyp03 ul li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "一.";
}
#mainContents .listTyp03 ul li a {
  text-decoration: underline;
}
#mainContents .listTyp03 ul li a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .listTyp03 ul li {
    padding: 0 0 20px 20px;
    font-size: 1.2rem;
  }
}

#mainContents .listTyp04 {
  width: 100%;
}
#mainContents .listTyp04 ul {
  list-style-type: none;
}
#mainContents .listTyp04 ul li {
  position: relative;
  display: block;
  padding: 0 0 20px 25px;
  font-size: 1.6rem;
  line-height: 1.8;
}
#mainContents .listTyp04 ul li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "・";
}
#mainContents .listTyp04 ul li a {
  text-decoration: underline;
}
#mainContents .listTyp04 ul li a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .listTyp04 ul li {
    padding: 0 0 20px 20px;
    font-size: 1.4rem;
  }
}

#mainContents .listTyp05 {
  width: 100%;
}
#mainContents .listTyp05 ol {
  list-style-type: none;
}
#mainContents .listTyp05 ol li {
  position: relative;
  display: block;
  padding: 0 0 20px 65px;
  font-size: 1.6rem;
  line-height: 1.8;
  counter-increment: cnt;
}
#mainContents .listTyp05 ol li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "第"counter(cnt)"条";
}
#mainContents .listTyp05 ol li a {
  text-decoration: underline;
}
#mainContents .listTyp05 ol li a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .listTyp05 ol li {
    padding: 0 0 20px 50px;
    font-size: 1.2rem;
  }
}

/*==========================================
 装飾スタイル
===========================================*/
#mainContents .wakuTyp01 {
  width: 100%;
  padding: 30px;
  box-sizing: border-box;
  background-color: rgba(236, 237, 240, 0.5);
}
#mainContents .wakuTyp02 {
  width: 100%;
  padding: 30px;
  box-sizing: border-box;
  border: solid #000 1px;
}
@media only screen and (max-width: 767px) {
  #mainContents .wakuTyp01 {
    padding: 10px;
  }
  #mainContents .wakuTyp02 {
    padding: 10px;
  }
}

/*==========================================
 動画レイアウト
===========================================*/
#mainContents .movieType01 {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  #mainContents .movieType01 {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    margin-bottom: 50px;
  }
  #mainContents .movieType01 iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
}

/*==========================================
 ページ内リンク
===========================================*/
#mainContents .pageNavi01 {
  width: 100%;
}
#mainContents .pageNavi01 ul {
  width: 470px;
  margin: 0 auto;
  list-style-type: none;
}
#mainContents .pageNavi01 ul li {
  float: left;
  margin: 0 70px 0 0;
}
#mainContents .pageNavi01 ul li:last-child {
  margin: 0;
}
#mainContents .pageNavi01 ul li a {
  position: relative;
  display: block;
  padding: 15px 10px 15px 35px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#mainContents .pageNavi01 ul li a::before {
  position: absolute;
  left: 10px;
  top: 18px;
  width: 16px;
  height: 16px;
  background-image: url("/common/img/icon02.svg");
  background-size: 16px 16px;
  content: "";
  transform: rotate(90deg);
}
@media only screen and (max-width: 767px) {
  #mainContents .pageNavi01 ul {
    width: 100%;
    margin: 0;
  }
  #mainContents .pageNavi01 ul li {
    float: none;
    margin: 0;
  }
  #mainContents .pageNavi01 ul li:last-child {
    margin: 0;
  }
  #mainContents .pageNavi01 ul li a {
    padding: 15px 10px 0 35px;
  }
}

#mainContents .pageNavi02 {
  width: 100%;
}
#mainContents .pageNavi02 ul {
  width: 480px;
  margin: 0 auto;
  list-style-type: none;
}
#mainContents .pageNavi02 ul li {
  float: left;
  margin: 0 70px 0 0;
}
#mainContents .pageNavi02 ul li:last-child {
  margin: 0;
}
#mainContents .pageNavi02 ul li a {
  position: relative;
  display: block;
  padding: 15px 10px 15px 35px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#mainContents .pageNavi02 ul li a::before {
  position: absolute;
  left: 10px;
  top: 18px;
  width: 16px;
  height: 16px;
  background-image: url("/common/img/icon02.svg");
  background-size: 16px 16px;
  content: "";
  transform: rotate(90deg);
}
@media only screen and (max-width: 767px) {
  #mainContents .pageNavi02 ul {
    width: 100%;
    margin: 0;
  }
  #mainContents .pageNavi02 ul li {
    float: none;
    margin: 0;
  }
  #mainContents .pageNavi02 ul li:last-child {
    margin: 0;
  }
  #mainContents .pageNavi02 ul li a {
    padding: 15px 10px 0 35px;
  }
}

/*==========================================
 ページネーションのスタイル
===========================================*/
#mainContents #pagination {
  margin: 50px 0 0;
}
#mainContents #pagination ul {
  text-align: center;
}
#mainContents #pagination ul li {
  width: 36px;
  height: 36px;
  margin: 0 5px;
  vertical-align: middle;
  display: inline-block;
}
#mainContents #pagination ul li a,
#mainContents #pagination ul li span {
  position: relative;
  width: 36px;
  height: 36px;
  padding: 10px 0 0;
  box-sizing: border-box;
  font-size: 1.4rem;
  color: #0050FF;
  text-align: center;
  display: block;
  text-decoration: none;
  border: 1px solid #0050FF;
  border-radius: 6px;
}
#mainContents #pagination ul li span {
  border: none;
  color: #3B3F4A;
}
#mainContents #pagination ul li a:hover {
  opacity: 0.7;
}

#mainContents #pagination ul li.prev,
#mainContents #pagination ul li.next {
  width: 90px;
  height: 36px;
  margin: 0 5px;
  vertical-align: middle;
  display: inline-block;
}
#mainContents #pagination ul li.prev a,
#mainContents #pagination ul li.next a {
  width: 90px;
  height: 36px;
  padding: 10px 0 0;
  color: #3B3F4A;
  border: none;
}
@media only screen and (max-width: 767px) {
  #mainContents #pagination ul li.prev,
  #mainContents #pagination ul li.next {
    display: none;
  }
}



/*==========================================
 Top
===========================================*/
#mainContents #topMv .alt,
#mainContents #topMv .m_btn
{
display: block;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}


#mainContents #topMv .m_btn{
display: block;
position: absolute;
bottom:50px;right:70px;
width:228px;
aspect-ratio: 228/48;
}

#mainContents #topMv .m_btn a{
position: relative;
display: block;
  background-image: url("/common/img/m_btn.svg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
aspect-ratio: 228/48;
}

/* Top en */
#EngTOP #mainContents #topMv .m_btn a{
  background-image: url("/common/img/m_btn_en.svg");
}


#mainContents #topMv .m_btn a:hover{
opacity: 0.9;
}

#mainContents #topMv .m_btn a:after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #FFF000;
  border-right: solid 2px #FFF000;
  position: absolute;
  top: 50%;
 right: 10%;
  margin-top: -4px;
  transform: rotate(45deg);
transition : 1s;
}

#mainContents #topMv .m_btn a:hover:after {
  border-top: solid 2px #FFF000;
  border-right: solid 2px #FFF000;
 right: 8%;
}




#mainContents #topMv {
  position: relative;
  width: 100%;
  height: 660px;
  overflow: hidden;
}
#mainContents #topMv {
  background-image: url("/common/img/top_image.png"), url("/common/img/sky_bg.jpg");
  background-size: 1440px 660px,cover;
  background-position: center bottom , center bottom ;
  background-repeat: no-repeat,no-repeat;
}


/* Top en */
#EngTOP #mainContents #topMv {
  background-image: url("/common/img/top_image_en.png"), url("/common/img/sky_bg.jpg");
}


#mainContents #topMv #topMvArea {
  opacity: 0;
  position: relative;
  width: 100%;
  height: 660px;
}

#mainContents #topMv #topMvImg01,
#mainContents #topMv #topMvImg02,
#mainContents #topMv #topMvImg03 {
  width: 100%;
  height: 660px;
  background-size: cover;
  background-position: center;
}
#mainContents #topMv #topMvImg01 {
  background-image: url("/common/img/top_mv01.jpg");
}
#mainContents #topMv #topMvImg02 {
  background-image: url("/common/img/top_mv02.jpg");
}
#mainContents #topMv #topMvImg03 {
  background-image: url("/common/img/top_mv03.jpg");
}
#mainContents #topMv .bx-wrapper {
  max-width: 100% !important;
  margin: 0 !important;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important;
}
/*#mainContents #topMv #topMvText {
  position: absolute;
  right: 3%;
  top: 50%;
  width: 590px;
  height: 64px;
  margin: -32px 0 0 0;
}
#mainContents #topMv #topMvText img {
  width: 590px;
  height: 64px;
}*/
#mainContents #topMv #topMvText {
  position: absolute;
  left: 8%;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  max-width: 362px;
  width: 25.1875vw;
  margin: 0;
}
#mainContents #topMv #topMvText img {
  max-width: 362px;
  width: 25.1875vw;
  height: 0;
  padding-top: 60.7%;
  background-image: url("/common/img/topmsg_logo.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
#mainContents #topMv #topMvText_en {
  position: absolute;
  left: 8%;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  max-width: 362px;
  width: 25.1875vw;
  margin: 0;
}
#mainContents #topMv #topMvText_en img {
  max-width: 362px;
  width: 25.1875vw;
  height: 0;
  padding-top: 52.94%;
  background-image: url("/common/img/topmsg_logo_en.svg");
  background-size: contain;
  background-repeat: no-repeat;
}


@media only screen and (max-width: 767px) {
#mainContents #topMv .m_btn{
bottom:10px;right:10px;
max-width:50%;
}
#mainContents #topMv .m_btn a{
  background-image: url("/common/img/m_btn.svg");
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
aspect-ratio: 228/48;
}

#mainContents #topMv .m_btn a:after {
 right: 9%;
}




#mainContents #topMv {
  height: 501px;
  background-image: url("/common/img/top_image_smp.png"), url("/common/img/sky_bg_smp.jpg");
  background-size: contain,cover;
  background-position: center bottom , center bottom ;
  background-repeat: no-repeat,no-repeat;
  }


/* Top en */
#EngTOP #mainContents #topMv {
  background-image: url("/common/img/top_image_smp_en.png"), url("/common/img/sky_bg_smp.jpg");
}



  #mainContents #topMv #topMvArea {
    height: 486px;
  }
  #mainContents #topMv #topMvImg01,
  #mainContents #topMv #topMvImg02,
  #mainContents #topMv #topMvImg03 {
    height: 486px;
  }
  #mainContents #topMv #topMvImg01 {
    background-image: url("/common/img/top_mv01_sp.jpg");
  }
  #mainContents #topMv #topMvImg02 {
    background-image: url("/common/img/top_mv02_sp.jpg");
  }
  #mainContents #topMv #topMvImg03 {
    background-image: url("/common/img/top_mv03_sp.jpg");
  }
  /*#mainContents #topMv #topMvText {
    right: 3%;
    top: 50%;
    width: 212px;
    height: 70px;
    margin: -35px 0 0 0;
  }
  #mainContents #topMv #topMvText img {
    width: 212px;
    height: 70px;
  }*/
  #mainContents #topMv #topMvText , #mainContents #topMv #topMvText_en{
    top: 8.5%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 37.85vw;
    max-width: 162px;
    height: auto;
  }
  #mainContents #topMv #topMvText img , #mainContents #topMv #topMvText_en img{
    width: 37.85vw;
  }
}


/*==========================================
 TBSホールディングスについてのスタイル
===========================================*/
#mainContents .aboutTopLink {
  position: relative;
  width: 100%;
  height: 330px;
  box-sizing: border-box;
  background-size: cover;
  background-position: center;
  text-align: center;
}
#mainContents .aboutTopLink::before {
  position: absolute;
  z-index: 100;
  left: 50%;
  top: 0;
  width: 100%;
  height: 330px;
  margin: 0 0 0 -50%;
  background-size: cover;
  background-position: center;
  content: "";
  transition : all 0.3s;
}
#mainContents .aboutTopLink:hover::before {
  width: 120%;
  margin: 0 0 0 -60%;
}
#mainContents #aboutTop01.aboutTopLink::before {
  background-image: url("/about/img/about_top_img01.jpg");
}
#mainContents #aboutTop02.aboutTopLink::before {
  background-image: url("/about/img/about_top_img02.jpg");
}
#mainContents #aboutTop03.aboutTopLink::before {
  background-image: url("/about/img/about_top_img03.jpg");
}
#mainContents #aboutTop04.aboutTopLink::before {
  background-image: url("/about/img/about_top_img04.jpg");
}
/* #mainContents .aboutTopLink::after {
  position: absolute;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 330px;
  background: -moz-linear-gradient(top, rgba(0, 157, 255, 0), rgba(23, 128, 193, 0.78));
  background: -webkit-linear-gradient(top, rgba(0, 157, 255, 0), rgba(23, 128, 193, 0.78));
  background: linear-gradient(to bottom, rgba(0, 157, 255, 0), rgba(23, 128, 193, 0.78));
  content: "";
} */
#mainContents .aboutTopLink a {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 200;
  display: block;
  width: 100%;
  height: 100%;
  padding: 135px 0 0;
  box-sizing: border-box;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.4;
  color: #FFF;
  text-align: center;
  text-shadow:0px 0px 6px rgba(0,0,0,0.5);
}
#mainContents #aboutTop02.aboutTopLink #aboutTop02Text {
  position: absolute;
  left: 50%;
  top: 70px;
  z-index: 190;
  width: 1200px;
  margin: 0 0 0 -600px;
  padding: 0 0 0 650px;
  box-sizing: border-box;
  text-align: left;
}
#mainContents #aboutTop02.aboutTopLink #aboutTop02Text p:nth-child(1) {
  font-size: 3.2rem;
  font-weight: bold;
  color: #FFF;
  line-height: 1.4;
  text-shadow:0px 0px 6px rgba(0,0,0,0.5);
}
#mainContents #aboutTop02.aboutTopLink #aboutTop02Text p:nth-child(2) {
  padding: 10px 0 0 20px;
  font-size: 2.4rem;
  color: #FFF;
  line-height: 1.8;
  text-shadow:0px 0px 6px rgba(0,0,0,0.5);
}
#mainContents .aboutTopLink a:hover {
  text-decoration: none;
}
#mainContents .aboutTopLink a::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  border: 0px solid rgba(255, 255, 255, 0.5);
  box-sizing: border-box;
  transition : all 0.3s;
  content: "";
}
/* #mainContents .aboutTopLink a:hover::before {
  opacity: 1;
  border: 10px solid rgba(255, 255, 255, 0.5);
} */
#mainContents .aboutTopLink a span {
  display: block;
  padding: 5px 0 0;
  font-size: 1.4rem;
  font-weight: normal;
  text-shadow:0px 0px 6px rgba(0,0,0,0.5);
}
@media only screen and (max-width: 767px) {
  #mainContents .aboutTopLink {
    height: 210px;
  }
  #mainContents .aboutTopLink::before {
    height: 210px;
  }
  #mainContents .aboutTopLink::after {
    height: 210px;
  }
  #mainContents .aboutTopLink a {
    padding: 80px 0 0;
    font-size: 1.9rem;
  }
  #mainContents #aboutTop01.aboutTopLink::before {
    background-image: url("/about/img/about_top_img01_sp.jpg");
  }
  #mainContents #aboutTop02.aboutTopLink::before {
    background-image: url("/about/img/about_top_img02_sp.jpg");
  }
  #mainContents #aboutTop03.aboutTopLink::before {
    background-image: url("/about/img/about_top_img03_sp.jpg");
  }
  #mainContents #aboutTop04.aboutTopLink::before {
    background-image: url("/about/img/about_top_img04_sp.jpg");
  }
  #mainContents #aboutTop02.aboutTopLink #aboutTop02Text {
    left: 0;
    top: 50px;
    width: 100%;
    margin: 0;
    padding: 0 0 0 45%;
  }
  #mainContents #aboutTop02.aboutTopLink #aboutTop02Text p:nth-child(1) {
    font-size: 1.9rem;
  }
  #mainContents #aboutTop02.aboutTopLink #aboutTop02Text p:nth-child(2) {
    padding: 10px 0 0 20px;
    font-size: 1.6rem;
  }
  #mainContents .aboutTopLink a span {
    font-size: 1.0rem;
  }
}


#mainContents .aboutTyp01 {
  width: 100%;
}
#mainContents .aboutTyp01 .column_L {
  float: left;
  width: 300px;
}
#mainContents .aboutTyp01 .column_R {
  float: right;
  width: 490px;
}
#mainContents .aboutTyp01 .column_L img {
  width: 100%;
  height: auto;
}
#mainContents .aboutTyp01 .column_R h3 {
  position: relative;
  width: 100%;
  padding: 20px 0 20px 50px;
  box-sizing: border-box;
  border-top: 1px solid #ECEDF0;
  border-bottom: 1px solid #ECEDF0;
  font-size: 1.6rem;
  font-weight: bold;
}
#mainContents .aboutTyp01 .column_R h3 span {
  font-weight: normal;
}
#mainContents .aboutTyp01 .column_R h3::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 40px;
  margin: -8px 0 0;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}
@media only screen and (max-width: 767px) {
  #mainContents .aboutTyp01 .column_L {
    float: none;
    width: 100%;
  }
  #mainContents .aboutTyp01 .column_R {
    float: none;
    width: 100%;
    padding: 0 0 20px;
  }
}

#mainContents .abiutMap {
  width: 100%;
}
#mainContents .abiutMap iframe {
  width: 100%;
  height: 450px;
}
/*==========================================
 IRのスタイル
===========================================*/
#mainContents .irSelect {
  width: 100%;
  text-align: right;
}
#mainContents .irSelect .selectTyp01 {
  position: relative;
  width: 100%;
  display: inline-block;
}
#mainContents .irSelect .selectTyp01::after {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 0;
  height: 0;
  margin: -2px 0 0;
  border-style: solid;
  border-width: 5px 4.5px 0 4.5px;
  border-color: #676769 transparent transparent transparent;
  content: "";
}
#mainContents .irSelect select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 300px;
  height: 40px;
  padding: 0 15px;
  border: 1px solid #D5D7DB;
  border-radius: 4px;
  background-color: #FFF;
  box-sizing: border-box;
  color: #B0B7BB;
  font-size: 1.4rem;
}
#mainContents .irSelect select::-ms-expand {
    display: none;
}

#mainContents .irTyp01 {
  width: 100%;
  margin: 10px 0 0;
  padding: 30px 10px;
  box-sizing: border-box;
  border-top: 1px solid #C0C4CE;
  border-bottom: 1px solid #C0C4CE;
}
#mainContents .irTyp01 ul {
  width: 100%;
  list-style-type: none;
}
#mainContents .irTyp01 ul li {
  width: 100%;
  padding: 0 0 30px;
  font-size: 1.4rem;
}
#mainContents .irTyp01 ul li:last-child {
  padding: 0;
}
#mainContents .irTyp01 ul li a {
  display: inline-block;
  width: 640px;
}
#mainContents .irTyp01 ul li span.date {
  padding: 0 15px 0 0;
}
#mainContents .irTyp01 ul li span.pdf {
  position: relative;
}
#mainContents .irTyp01 ul li span.pdf::before {
  position: absolute;
  left: -45px;
  top: 50%;
  width: 40px;
  margin: -8px 0 0;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}

#mainContents .irPdf {
  width: 583px;
  margin: 0 auto;
}
#mainContents .irPdf .column_L {
  float: left;
  width: 158px;
}
#mainContents .irPdf .column_R {
  float: right;
  width: 410px;
}

#mainContents .irTyp02 {
  width: 100%;
  margin: 10px 0 0;
  box-sizing: border-box;
  border-top: 1px solid #ECEDF0;
}
#mainContents .irTyp02 ul {
  width: 100%;
  list-style-type: none;
}
#mainContents .irTyp02 ul li {
  width: 100%;
  padding: 20px 0;
  border-bottom: 1px solid #ECEDF0;
  font-size: 1.4rem;
}
#mainContents .irTyp02 ul li span.date {
  display: inline-block;
  width: 120px;
  font-weight: bold;
}

#mainContents .irTyp03 {
  width: 100%;
}
#mainContents .irTyp03 .column_C {
  width: 400px;
  margin: 0 auto;
}
#mainContents .irTyp03 .column_L {
  float: left;
  width: 300px;
}
#mainContents .irTyp03 .column_R {
  float: right;
  width: 490px;
}
#mainContents .irTyp03 .column_C02 {
  margin: 0 auto;
  width: 440px;
  padding-left: 20px;
  box-sizing: border-box;
}
#mainContents .irTyp03 .column_L.w240 {
  width: 240px!important;
}
#mainContents .irTyp03 .column_R.w540 {
  width: 540px!important;
}
#mainContents .irTyp03 .column_C img {
  width: 100%;
  height: auto;
}
#mainContents .irTyp03 .column_L img {
  width: 100%;
  height: auto;
}
#mainContents .irTyp03 .column_R h3,
#mainContents .irTyp03 .column_C02 h3 {
  position: relative;
  width: 100%;
  padding: 20px 0 20px 50px;
  box-sizing: border-box;
  border-top: 1px solid #ECEDF0;
  border-bottom: 1px solid #ECEDF0;
  font-size: 1.6rem;
  font-weight: bold;
}
#mainContents .irTyp03 .column_R h3 span,
#mainContents .irTyp03 .column_C02 h3 span {
  font-weight: normal;
  line-height: 1.4;
}
#mainContents .irTyp03 .column_R h3::before,
#mainContents .irTyp03 .column_C02 h3::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 40px;
  margin: -8px 0 0;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}
#mainContents .irTyp03 .column_R h4 {
  position: relative;
  width: 100%;
  padding: 0 0 10px 50px;
  font-size: 1.6rem;
}
#mainContents .irTyp03 .column_R h4 span {
  font-weight: normal;
}
#mainContents .irTyp03 .column_R h4::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 40px;
  margin: -12px 0 0;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}
#mainContents .irTyp03 .column_R .column {
  float: left;
  width: 222px;
  margin: 20px 0 0;
}
#mainContents .irTyp03 .column_R .column ul {
  list-style-type: none;
}
#mainContents .irTyp03 .column_R .column ul li {
  padding: 0 0 20px;
}
#mainContents .irTyp03 .column_R .column ul li a {
  font-size: 1.6rem;
}
#mainContents .irTyp03 .column_R .column2 {
  float: left;
  width: 300px;
  margin: 20px 0 0;
}
#mainContents .irTyp03 .column_R .column2 ul {
  list-style-type: none;
}
#mainContents .irTyp03 .column_R .column2 ul li {
  padding: 0 0 10px 50px;
  font-size: 1.4rem;
}
#mainContents .irTyp03 .column_R .column3 {
  float: left;
  width: 480px;
  margin: 20px 0 0;
}
#mainContents .irTyp03 .column_R .column3 ul {
  list-style-type: none;
  padding: 6px 0 0 50px;
  margin-left: 3.5em;
}
#mainContents .irTyp03 .column_R .column3 ul li {
  padding: 0 0 12px 0;
  font-size: 1.4rem;
  line-height: 1.5em;
  position: relative;
}
#mainContents .irTyp03 .column_R .column3 ul li span.num {
  width: 3em;
  display: inline-block;
  position: absolute;
  top: 0;
  left: -2.5em;
}

#mainContents .irTyp04 {
  width: 100%;
}
#mainContents .irTyp04 ul {
  list-style-type: none;
  border-top: 1px solid #ECEDF0;
}
#mainContents .irTyp04 ul li {
  padding: 24px 0;
  border-bottom: 1px solid #ECEDF0;
}
#mainContents .irTyp04 ul li a {
  position: relative;
  display: block;
  padding: 0 0 0 50px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#mainContents .irTyp04 ul li a::before {
  position: absolute;
  left: 0;
  top: 1px;
  width: 40px;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}

#mainContents .irTyp04 ul li.nopdf a::before {
visibility:hidden;
}

#mainContents .irTyp05 {
  width: 100%;
  border-top: 1px solid #C0C4CE;
}
#mainContents .irTyp05 .irTyp05Box {
  width: 100%;
  border-bottom: 1px solid #C0C4CE;
}
#mainContents .irTyp05 .irTyp05Box h2 {
}
#mainContents .irTyp05 .irTyp05Box h2 a {
  position: relative;
  display: block;
  width: 100%;
  padding: 25px 0 25px 35px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.4;
}
#mainContents .irTyp05 .irTyp05Box h2 a::before {
  position: absolute;
  left: 10px;
  top: 27px;
  width: 16px;
  height: 16px;
  background-image: url("/common/img/icon02.svg");
  background-size: 16px 16px;
  content: "";
  transform: rotate(90deg);
}
#mainContents .irTyp05 .irTyp05Box h2 a.open::before {
  transform: rotate(-90deg);
}
#mainContents .irTyp05 .irTyp05Box .list {
  display: none;
  padding: 25px 0;
  border-top: 1px solid #ECEDF0;
}
#mainContents .irTyp05 .irTyp05Box:first-child .list {
  display: block;
}
#mainContents .irTyp05 .irTyp05Box .list h3 {
  font-size: 1.6rem;
  line-height: 1.4;
}
#mainContents .irTyp05 .irTyp05Box .list ul {
  padding: 25px 0 0;
  list-style-type: none;
}
#mainContents .irTyp05 .irTyp05Box .list ul li {
  padding: 0 0 25px;
}
#mainContents .irTyp05 .irTyp05Box .list ul li:last-child {
  padding: 0;
}
#mainContents .irTyp05 .irTyp05Box .list ul li a {
  position: relative;
  display: block;
  padding: 0 0 0 50px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#mainContents .irTyp05 .irTyp05Box .list ul li a::before {
  position: absolute;
  left: 0;
  top: 1px;
  width: 40px;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}

#mainContents .irTyp06 {
  width: 100%;
}
#mainContents .irTyp06 .column_L {
  float: left;
  width: 380px;
}
#mainContents .irTyp06 .column_R {
  float: right;
  width: 430px;
}
#mainContents .irTyp06 .column_L img {
  width: 100%;
  height: auto;
}
#mainContents .irTyp06 .column_R h3 {
  position: relative;
  width: 100%;
  padding: 16px 0;
  box-sizing: border-box;
  font-size: 2.0rem;
  font-weight: bold;
}
#mainContents .irTyp06 .column_R h3 span {
  font-weight: normal;
}
#mainContents .irTyp06 .column_R ul {
  width: 100%;
  list-style-type: none;
}
#mainContents .irTyp06 .column_R ul li {
  width: 100%;
  padding: 12px 0 12px 15px;
  border-bottom: 1px solid #ECEDF0;
  font-size: 1.4rem;
}
#mainContents .irTyp06 .column_R ul li a.linkType01 {
  position: relative;
  display: block;
  padding-left: 23px;
  font-size: 1.4rem;
  line-height: 1.4;
}
#mainContents .irTyp06 .column_R ul li a.linkType01::before {
  position: absolute;
  left: 0;
  top: 3px;
  width: 15px;
  height: 12px;
  background-image: url("/common/img/icon04.svg");
  background-size: 15px 12px;
  content: "";
}

#mainContents .benefitsType {
	width:100%;
	margin:auto;
}
#mainContents .benefitsType .prepaid {
	width:33.333%;
	float:left;
}
#mainContents .benefitsType .prepaid img {
	width:100%;
	max-width:258px;
	padding:0 20px;
	box-sizing: border-box;
}
#mainContents .benefits_left01 {
	width: 26%;
	padding-right: 30px;
	box-sizing: border-box;
	float: left;
}
#mainContents .benefits_right01 {
	width: 74%;
	float: right;
}
#mainContents .benefits_left02 {
	width: 35%;
	padding-right: 30px;
	box-sizing: border-box;
	float: left;
}
#mainContents .benefits_right02 {
	width: 65%;
	float: right;
}

br.show_sm {
  display: none;
}

@media only screen and (max-width: 767px) {
  #mainContents .irSelect {
    text-align: center;
  }
  #mainContents .irSelect select {
    width: 100%;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
  }

  #mainContents .irTyp01 {
    margin: 10px 0 0;
    padding: 20px 0;
  }
  #mainContents .irTyp01 ul li {
    position: relative;
    padding: 0 0 20px;
    line-height: 1.4;
  }
  #mainContents .irTyp01 ul li a {
    display: block;
    width: 60%;
  }
  #mainContents .irTyp01 ul li span.date {
    display: block;
    padding: 0 0 5px 0;
  }
  #mainContents .irTyp01 ul li span.pdf {
    position: absolute;
    right: 0;
    top: 24px;
    float: none;
  }
  #mainContents .irTyp01 ul li span.pdf::before {
    top: 50%;
    padding: 3px 0;
  }

  #mainContents .irPdf {
    width: 100%;
    margin: 0 auto;
  }
  #mainContents .irPdf .column_L {
    float: none;
    width: 100%;
  }
  #mainContents .irPdf .column_R {
    float: none;
    width: 100%;
    padding: 10px 0 0;
  }

  #mainContents .irTyp02 {
    margin: 10px 0 0;
  }
  #mainContents .irTyp02 ul li {
    padding: 10px 0;
    line-height: 1.4;
  }
  #mainContents .irTyp02 ul li span.date {
    display: block;
    padding: 0 0 5px 0;
  }

  #mainContents .irTyp03 .column_C {
    width: 100%;
	max-width: 400px;
  }
  #mainContents .irTyp03 .column_L {
    float: none;
    width: 100%;
    padding: 0 0 20px;
  }
  #mainContents .irTyp03 .column_R {
    float: none;
    width: 100%;
  }
  #mainContents .irTyp03 .column_R .column {
    float: left;
    width: 50%;
    margin: 20px 0 0;
  }
  #mainContents .irTyp03 .column_L.w240 {
	width: 100%!important;
  }
  #mainContents .irTyp03 .column_R.w540 {
	width: 100%!important;
  }
  #mainContents .irTyp03 .column_C02 {
    width: 100%!important;
	max-width: 440px;
  }
  #mainContents .irTyp03 .column_R .column3 {
  float: left;
  width: 100%;
  margin: 20px 0 0;
  }
  #mainContents .irTyp03 .column_R .column3 h4 span {
  line-height: 1.4;
  }

  #mainContents .irTyp04 ul li {
    padding: 20px 0;
  }


  #mainContents .irTyp05 .irTyp05Box h2 a {
    padding: 20px 0 20px 35px;
  }
  #mainContents .irTyp05 .irTyp05Box h2 a::before {
    top: 23px;
  }
  #mainContents .irTyp05 .irTyp05Box .list {
    padding: 20px 0;
  }
  #mainContents .irTyp05 .irTyp05Box .list ul {
    padding: 20px 0 0;
  }
  #mainContents .irTyp05 .irTyp05Box .list ul li {
    padding: 0 0 20px;
  }
	
  #mainContents .irTyp06 .column_L {
    float: none;
    width: 100%;
  }
  #mainContents .irTyp06 .column_R {
    float: none;
    width: 100%;
    padding: 0 0 20px;
  }
	
  #mainContents .benefitsType .prepaid {
	width:100%;
	margin-bottom:20px;
	box-sizing: border-box;
	float:none;
  }
  #mainContents .benefitsType .prepaid:last-child {
	margin-bottom:0;
  }
  #mainContents .benefitsType .prepaid {
	padding:0;
  }
  #mainContents .benefits_left01 {
	width: 100%;
	margin-bottom: 40px;
	padding-right: 0px;
	box-sizing: border-box;
	float: left;
  }
  #mainContents .benefits_right01 {
	width: 100%;
	float: none;
  }
  #mainContents .benefits_left02 {
	width: 100%;
	margin-bottom: 40px;
	padding-right: 0;
	box-sizing: border-box;
	float: none;
  }
  #mainContents .benefits_right02 {
	width: 100%;
	float: none;
  }

  br.show_sm {
	display: inline-block;
  }
}


/*==========================================
 TBSグループ企業のスタイル
===========================================*/
#mainContents img.groupImg01 {
  width: 336px;
  height: auto;
}
#mainContents img.groupImg02 {
  width: 362px;
  height: auto;
}

#mainContents .groupType01 {
  width: 430px;
  margin:auto;
}
#mainContents .groupType01_en {
  width: 380px;
  margin:auto;
}
#mainContents .groupType02 {
  width: 765px;
  margin:auto;
}
#mainContents .groupType02_en {
  width: 720px;
  margin:auto;
}
#mainContents .groupType01 .column,
#mainContents .groupType01_en .column {
  margin-right:20px;
  margin-left:20px;
  float: left;
  text-align: center;
}
#mainContents .groupType02 .column,
#mainContents .groupType02_en .column {
  margin-right:20px;
  margin-left:20px;
  float: left;
  text-align: center;
}
#mainContents .groupType01 .column01 {
  /*width: 45%;*/
  width: 185px;
}
#mainContents .groupType01_en .column01 {
  /*width: 45%;*/
  width: 170px;
}
#mainContents .groupType01 .column02 {
  /*width: 30%;*/
  width: 160px;
}
#mainContents .groupType01_en .column02 {
  /*width: 30%;*/
  width: 120px;
}
#mainContents .groupType02 .column03,
#mainContents .groupType02_en .column03 {
  /*width: 31%;*/
  width: 216px;
}
#mainContents .groupType02 .column04,
#mainContents .groupType02_en .column04 {
  /*width: 33%;*/
  width: 233px;
}
#mainContents .groupType02 .column05 {
  /*width: 19%;*/
  width: 185px;
}
#mainContents .groupType02_en .column05 {
  /*width: 19%;*/
  width: 140px;
}

#mainContents .groupType01 .column img,
#mainContents .groupType01_en .column img {
  /*width: auto;*/
  height: 27px;
  padding: 2px 0 0;
}
#mainContents .groupType02 .column img,
#mainContents .groupType02_en .column img {
  /*width: auto;*/
  height: 27px;
  padding: 2px 0 0;
}
#mainContents .groupType02 .column03 img,
#mainContents .groupType02_en .column03 img {
  height: 29px;
  padding: 0;
}
@media only screen and (max-width: 767px) {
  #mainContents img.groupImg01 {
    width: 283px;
    height: auto;
  }
  #mainContents img.groupImg02 {
    width: 306px;
    height: auto;
  }

  #mainContents .groupType01,
  #mainContents .groupType01_en,
  #mainContents .groupType02,
  #mainContents .groupType02_en {
    width: 100%;
  }
  #mainContents .groupType01 .column,
  #mainContents .groupType01_en .column,
  #mainContents .groupType02 .column,
  #mainContents .groupType02_en .column {
	margin:0;
  }
  #mainContents .groupType01 .column:nth-child(1n),
  #mainContents .groupType01_en .column:nth-child(1n),
  #mainContents .groupType02 .column03,
  #mainContents .groupType02_en .column03
  {
    float: left;
    width: 50%;
    padding: 0 0 20px;
	box-sizing: border-box;
  }
  #mainContents .groupType01 .column:nth-child(2n),
  #mainContents .groupType01_en .column:nth-child(2n),
  #mainContents .groupType02 .column04,
  #mainContents .groupType02_en .column04
  {
    float: right;
    width: 50%;
    padding: 0 0 20px;
	box-sizing: border-box;
  }
  #mainContents .groupType02 .column05
  {
	float:none;
	margin:auto;
	width: 50%;
    padding: 0 0 20px;
    padding-top:100px!important;
	box-sizing: border-box;
  }
  #mainContents .groupType02_en .column05
  {
	float:none;
	margin:auto;
	width: 50%;
    padding: 0 0 20px;
    padding-top:80px!important;
	box-sizing: border-box;
  }
  #mainContents .groupType01 .column01,
  #mainContents .groupType01 .column02,
  #mainContents .groupType02 .column03,
  #mainContents .groupType02 .column04,
  #mainContents .groupType02 .column05,
  #mainContents .groupType01_en .column01,
  #mainContents .groupType01_en .column02,
  #mainContents .groupType02_en .column03,
  #mainContents .groupType02_en .column04,
  #mainContents .groupType02_en .column05 {
    width: 50%;
  }
  #mainContents .groupType01 .column img,
  #mainContents .groupType01_en .column img,
  #mainContents .groupType02 .column img,
  #mainContents .groupType02_en .column img
  {
    width: auto;
    height: 18px;
  }
  #mainContents .groupType02 .column03 img,
  #mainContents .groupType02_en .column03 img {
    height: 20px;
  }
  #mainContents .groupType01 .column a,
  #mainContents .groupType01_en .column a,
  #mainContents .groupType02 .column a,
  #mainContents .groupType02_en .column a
  {
    font-size: 1.0rem;
  }
  #mainContents .groupType01 .column a.linkType01::before,
  #mainContents .groupType01_en .column a.linkType01::before,
  #mainContents .groupType02 .column a.linkType01::before,
  #mainContents .groupType02_en .column a.linkType01::before
  {
    left: 2px;
    top: 1px;
    width: 13px;
    height: 10px;
    background-size: 13px 10px;
  }
}


/*==========================================
 TBSテレビのスタイル
===========================================*/
#mainContents .tbstvMap {
  width: 100%;
}
#mainContents .tbstvMap iframe {
  width: 100%;
  height: 450px;
}

#mainContents .tbstvTyp01 {
  width: 100%;
  margin: 20px 0 0;
  border-top: 1px solid #C0C4CE;
}
#mainContents .tbstvTyp01 h3 {
  padding: 15px 0;
  font-size: 1.6rem;
  font-weight: bold;
}
#mainContents .tbstvTyp01 ul {
  list-style-type: none;
  padding: 25px 0 10px;
  border-top: 1px solid #ECEDF0;
}
#mainContents .tbstvTyp01 ul li {
  padding: 0 0 25px;
}
#mainContents .tbstvTyp01 ul li:last-child {
  padding: 0;
}
#mainContents .tbstvTyp01 ul li a {
  position: relative;
  display: block;
  padding: 0 0 0 50px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#mainContents .tbstvTyp01 ul li a::before {
  position: absolute;
  left: 0;
  top: 1px;
  width: 40px;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}
@media only screen and (max-width: 767px) {
  #mainContents .tbstvTyp01 {
    margin: 10px 0 0;
  }
  #mainContents .tbstvTyp01 ul {
    padding: 20px 0 10px;
  }
  #mainContents .tbstvTyp01 ul li {
    padding: 0 0 20px;
  }
}

#mainContents .tbstvTyp02 {
  width: 100%;
  border-top: 1px solid #C0C4CE;
}
#mainContents .tbstvTyp02 .tbstvTyp02Box {
  width: 100%;
  border-bottom: 1px solid #C0C4CE;
}
#mainContents .tbstvTyp02 .tbstvTyp02Box h2 {
}
#mainContents .tbstvTyp02 .tbstvTyp02Box h2 a {
  position: relative;
  display: block;
  width: 100%;
  padding: 25px 0 25px 35px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.4;
}
#mainContents .tbstvTyp02 .tbstvTyp02Box h2 a::before {
  position: absolute;
  left: 10px;
  top: 27px;
  width: 16px;
  height: 16px;
  background-image: url("/common/img/icon02.svg");
  background-size: 16px 16px;
  content: "";
  transform: rotate(90deg);
}
#mainContents .tbstvTyp02 .tbstvTyp02Box h2 a.open::before {
  transform: rotate(-90deg);
}
#mainContents .tbstvTyp02 .tbstvTyp02Box .list {
  display: none;
  padding: 10px 0 0 20px;
  box-sizing: border-box;
  border-top: 1px solid #ECEDF0;
}
#mainContents .tbstvTyp02 .tbstvTyp02Box:first-child .list {
  display: block;
}
#mainContents .tbstvTyp02 .tbstvTyp02Box .list ul {
  padding: 15px 0 0;
  list-style-type: none;
}
#mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li {
  position: relative;
  width: 100%;
  padding: 0 0 30px;
  font-size: 1.4rem;
  line-height: 1.6;
}
#mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li a {
  position: relative;
  display: inline-block;
  width: 532px;
  padding: 0 0 0 120px;
}
#mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li span.date {
  position: absolute;
  left: 0;
  top: 0;
}
#mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li span.pdf {
  position: absolute;
  left: 760px;
  top: 0;
}
#mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li span.pdf::before {
  position: absolute;
  left: -45px;
  top: 50%;
  width: 40px;
  margin: -11px 0 0;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}

@media only screen and (max-width: 767px) {
  #mainContents .tbstvTyp02 .tbstvTyp02Box h2 a {
    padding: 20px 0 20px 35px;
  }
  #mainContents .tbstvTyp02 .tbstvTyp02Box h2 a::before {
    top: 23px;
  }
  #mainContents .tbstvTyp02 .tbstvTyp02Box .list {
    padding: 10px 0;
  }
  #mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li {
    padding: 0 0 20px;
    font-size: 1.4rem;
  }
  #mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li a {
    position: relative;
    display: block;
    width: 60%;
    padding: 5px 0 0;
  }
  #mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li a::before {
    left: 130px;
    top: -20px;
  }
  #mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li span.date {
    position: static;
  }
  #mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li span.pdf {
    left: auto;
    right: 0;
    top: 32px;
    width: 60px;
  }
  #mainContents .tbstvTyp02 .tbstvTyp02Box .list ul li span.pdf::before {
    margin: -12px 0 0;
  }
}

#mainContents .tbstvPdf {
  width: 583px;
  margin: 0 auto;
}
#mainContents .tbstvPdf .column_L {
  float: left;
  width: 158px;
}
#mainContents .tbstvPdf .column_R {
  float: right;
  width: 410px;
}
@media only screen and (max-width: 767px) {
  #mainContents .tbstvPdf {
    width: 100%;
    margin: 0 auto;
  }
  #mainContents .tbstvPdf .column_L {
    float: none;
    width: 100%;
  }
  #mainContents .tbstvPdf .column_R {
    float: none;
    width: 100%;
    padding: 10px 0 0;
  }
}


#mainContents .tbstvPDP {
  width: 100%;
  margin: 0;
}
#mainContents .tbstvPDP .column_L {
  float: left;
  width: 100px;
}
#mainContents .tbstvPDP .column_R {
  float: right;
  width: 730px;
}
@media only screen and (max-width: 767px) {
  #mainContents .tbstvPDP {
    width: 100%;
    margin: 0 auto;
  }
  #mainContents .tbstvPDP .column_L {
    float: none;
    width: 100%;
  }
  #mainContents .tbstvPDP .column_R {
    float: none;
    width: 100%;
    padding: 10px 0 0;
  }
}

/*==========================================
 CSRのスタイル
===========================================*/
#mainContents .csrType01 {
  width: 100%;
}
#mainContents .csrType01 .column_L {
  float: left;
  width: 388px;
}
#mainContents .csrType01 .column_L .pdfLink {
  margin-top: 40px;
}
#mainContents .csrType01 .column_L .pdfLink ul {
  list-style-type: none;
  border-top: 1px solid #ECEDF0;
}
#mainContents .csrType01 .column_L .pdfLink ul li {
  padding: 16px 0;
  border-bottom: 1px solid #ECEDF0;
  box-sizing: border-box;
}
#mainContents .csrType01 .column_L .pdfLink ul li a {
  position: relative;
  display: block;
  padding: 0 0 0 50px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#mainContents .csrType01 .column_L .pdfLink ul li a::before {
  position: absolute;
  left: 0;
  top: 1px;
  width: 40px;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}
#mainContents .csrType01 .column_R {
  position: relative;
  float: right;
  width: 352px;
  height: 330px;
}
#mainContents .csrType01 .column_R img {
  position: absolute;
  left: 0;
  top: 0;
}

@media only screen and (max-width: 767px) {
  #mainContents .csrType01 .column_L {
    float: none;
    width: 100%;
    padding: 0 0 10px;
  }
  #mainContents .csrType01 .column_R {
    position: relative;
    float: none;
    width: 100%;
    height: auto;
  }
  #mainContents .csrType01 .column_R img {
    position: static;
    width: 100%;
    height: auto;
  }
}

#mainContents .csrType02 {
  width: 100%;
}
#mainContents .csrType02 .column_L {
  position: relative;
  float: left;
  width: 420px;

}
#mainContents .csrType02 .column_L img {
  position: absolute;
  right: 0;
  top: 0;

}
#mainContents .csrType02 .column_R {
  float: right;
  width: 388px;
}
#mainContents .csrType02 .captionArea_L {
  position: relative;
  float: left;
  width: 420px;
}
#mainContents .csrType02 .captionBox {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 590px;
}
#mainContents .csrType02 .captionArea_L img {
  position: absolute;
  right: 0;
  top: 0;
  width: 590px;
  height: 330px;
}
#mainContents .csrType02 .caption {
  text-align: center;
}
#mainContents .captionArea_R {
  width: 590px;
  text-align: center;
}
#mainContents .caption {
  font-size: 1.3rem;
  line-height: 1.4em;
}
#mainContents .csrType02 .h_100 {
	height: 100px;
}
#mainContents .csrType02 .h_380 {
	height: 380px;
}
#mainContents .csrType02 .h_360 {
	height: 360px;
}
@media only screen and (max-width: 767px) {
  #mainContents .csrType02 .column_L {
    float: none;
    width: 100%;
    height: auto;
  }
  #mainContents .csrType02 .column_L img {
    position: static;
    width: 100%;
    height: auto;
  }
  #mainContents .csrType02 .column_R {
    float: none;
    width: 100%;
    padding: 0 0 10px;
  }
  #mainContents .csrType02 .captionArea_L {
    float: none;
    width: 100%;
    height: auto;
  }
  #mainContents .csrType02 .captionBox {
    position: static;
    width: 100%;
    height: auto;
  }
  #mainContents .csrType02 .captionArea_L img {
    position: static;
    width: 100%;
    height: auto;
	padding: 0 0 10px;
  }
  #mainContents .csrType02 .caption {
    text-align: center;
  }
  #mainContents .captionArea_R {
    width: 590px;
    text-align: center;
  }
  #mainContents .caption {
    font-size: 1.2rem;
    line-height: 1.5em;
  }
  #mainContents .csrType02 .h_100 {
  	height: 100%;
  }
  #mainContents .csrType02 .h_380 {
  	height: 100%;
  }
  #mainContents .csrType02 .h_360 {
  	height: 100%;
  }
}


/*==========================================
 ニュースリリースのスタイル
===========================================*/
#mainContents .newsSelect {
  width: 100%;
  text-align: right;
}
#mainContents .newsSelect .selectTyp01 {
  position: relative;
  width: 100%;
  display: inline-block;
}
#mainContents .newsSelect .selectTyp01::after {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 0;
  height: 0;
  margin: -2px 0 0;
  border-style: solid;
  border-width: 5px 4.5px 0 4.5px;
  border-color: #676769 transparent transparent transparent;
  content: "";
}
#mainContents .newsSelect select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 300px;
  height: 40px;
  padding: 0 15px;
  border: 1px solid #D5D7DB;
  border-radius: 4px;
  background-color: #FFF;
  box-sizing: border-box;
  color: #B0B7BB;
  font-size: 1.4rem;
}
#mainContents .newsSelect select::-ms-expand {
    display: none;
}

#mainContents .newsTyp01 {
  position: relative;
  width: 100%;
  margin: 10px 0 0;
  padding: 30px 10px 0;
  box-sizing: border-box;
  border-top: 1px solid #C0C4CE;
  border-bottom: 1px solid #C0C4CE;
}
#mainContents .newsTyp01 a.newsIndex {
  position: absolute;
  right: 0;
  top: -25px;
  font-size: 1.4rem;
  font-weight: bold;
  color: #81899D;
}
body.top #mainContents .newsTyp01 a.newsIndex {
  right: 350px;
}
#mainContents .newsTyp01 a.newsIndex::before {
  position: absolute;
  left: -23px;
  top: -4px;
  width: 24px;
  height: 22px;
  background-image: url("/common/img/icon03.svg");
  background-size: 24px 22px;
  content: "";
}

#mainContents .newsCate {
  position: absolute;
  right: 0;
  top: -25px;
}

#mainContents .topicsLink {
position: relative;
margin-top: 10px;
text-align: right;
}
#mainContents .topicsLink a.newsIndex02 {
font-size: 1.4rem;
font-weight: bold;
color: #81899D;
text-decoration: none;
}
#mainContents .topicsLink a.newsIndex02::before {
position: absolute;
right: 190px;
top: 0px;
width: 24px;
height: 22px;
background-image: url("/common/img/icon03.svg");
background-size: 24px 22px;
content: "";
}
#mainContents .topicsLink a.newsIndex02:hover {
text-decoration: underline;
opacity: 1;
}
#mainContents .topicsLink img.tbstopics_logo {
	width: 100px;
	margin-bottom: -7px;
	margin-right: 8px;
	display: inline-block;
}

#mainContents .newsCate ul {
  list-style-type: none;
}
#mainContents .newsCate ul li {
  float: left;
  padding: 0 0 0 35px;
}
#mainContents .newsCate ul li a {
  position: relative;
  font-size: 1.4rem;
  color: #C0C4CE;
}
#mainContents .newsCate ul li.active a,
#mainContents .newsCate ul li a:hover {
  text-decoration: none;
  color: #0050FF;
}
#mainContents .newsCate ul li a::before {
  position: absolute;
  opacity: 0;
  left: 50%;
  bottom: -11px;
  width: 0%;
  height: 1px;
  margin: 0 0 0 -50%;
  background-color: #0050FF;
  content: "";
  transition : all 0.3s;
}
#mainContents .newsCate ul li a:hover::before {
  opacity: 1;
  width: 100%;
}
#mainContents .newsCate ul li.active a::before {
  position: absolute;
  opacity: 1;
  left: 50%;
  bottom: -11px;
  width: 100%;
  height: 1px;
  margin: 0 0 0 -50%;
  background-color: #0050FF;
  content: "";
}


#mainContents .newsTyp01 ul.newsList {
  width: 100%;
  list-style-type: none;
}
#mainContents .newsTyp01 ul.newsList li {
  position: relative;
  width: 100%;
  padding: 0 0 30px;
  font-size: 1.4rem;
  line-height: 1.6;
}

#mainContents .newsTyp01 ul.newsList li a {
  position: relative;
  display: inline-block;
  width: 442px;
  padding: 0 0 0 210px;
}
body.top #mainContents .newsTyp01 ul.newsList li a {
  width: 562px;
}
#mainContents .newsTyp01 ul.newsList li a::before {
  position: absolute;
  left: 140px;
  top: 2px;
  width: 45px;
  height: 16px;
  border: 1px solid #3B3F4A;
  font-size: 1.0rem;
  text-align: center;
}
#mainContents .newsTyp01 ul.newsList li.cate01 a::before {
  content: "TBS HD";
}
#mainContents .newsTyp01 ul.newsList li.cate02 a::before {
  content: "TBS TV";
}
#mainContents .newsTyp01 ul.newsList li.cate03 a::before {
  content: "IR";
}
#mainContents .newsTyp01 ul.newsList li.none a {
  width: 532px;
  padding: 0 0 0 120px;
}
#mainContents .newsTyp01 ul.newsList li.none a::before {
  display: none;
}
#mainContents .newsTyp01 ul.newsList li span.date {
  position: absolute;
  left: 0;
  top: 0;
}
#mainContents .newsTyp01 ul.newsList li span.pdf {
  position: absolute;
  left: 760px;
  top: 0;
}
body.top #mainContents .newsTyp01 ul.newsList li span.pdf {
  left: 870px;
}
#mainContents .newsTyp01 ul.newsList li span.pdf::before {
  position: absolute;
  left: -45px;
  top: 50%;
  width: 40px;
  margin: -11px 0 0;
  padding: 3px 0 3px;
  box-sizing: border-box;
  background-color: #3B3F4A;
  font-size: 0.9rem;
  color: #FFF;
  text-align: center;
  content: "PDF";
}


@media only screen and (max-width: 767px) {
  #mainContents .newsSelect {
    text-align: center;
  }
  #mainContents .newsSelect select {
    width: 100%;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
  }

  #mainContents .newsTyp01 {
    margin: 10px 0 0;
    padding: 20px 0;
  }
  #mainContents .newsTyp01 a.newsIndex {
    top: -25px;
    font-size: 1.0rem;
  }
  body.top #mainContents .newsTyp01 a.newsIndex {
    right: 0;
    top: -65px;
  }
  #mainContents .newsTyp01 a.newsIndex::before {
    left: -18px;
    top: -3px;
    width: 19px;
    height: 17px;
    background-size: 19px 17px;
  }

  #mainContents .topicsLink a.newsIndex02 {
  font-size: 1.0rem;
  text-decoration: none;
  }
  #mainContents .topicsLink a.newsIndex02::before {
  right: 143px;
  top: 1px;
  width: 19px;
  height: 17px;
  background-size: 19px 17px;
  }
  #mainContents .topicsLink a.newsIndex02:hover {
  text-decoration: underline;
  opacity: 1;
  }
#mainContents .topicsLink img.tbstopics_logo {
	width: 80px;
	margin-bottom: -5px;
	margin-right: 5px;
}

  #mainContents .newsCate {
    right: auto;
    left: 0;
  }
  #mainContents .newsCate ul li {
    padding: 0 0 0 15px;
  }

  #mainContents .newsTyp01.news_mt_40 {
    margin-top: 40px;
  }

  #mainContents .newsTyp01 ul.newsList li {
    padding: 0 0 30px;
    font-size: 1.4rem;
  }
  #mainContents .newsTyp01 ul.newsList li a {
    position: relative;
    display: block;
    width: 60%;
    padding: 5px 0 0;
  }
  body.top #mainContents .newsTyp01 ul.newsList li a {
    width: 60%;
  }
  #mainContents .newsTyp01 ul.newsList li a::before {
    left: 130px;
    top: -20px;
  }
  #mainContents .newsTyp01 ul.newsList li span.date {
    position: static;
  }
  #mainContents .newsTyp01 ul.newsList li span.pdf {
    left: auto;
    right: 0;
    top: 32px;
    width: 60px;
  }
  body.top #mainContents .newsTyp01 ul.newsList li span.pdf {
    left: auto;
    right: 0;
  }
  #mainContents .newsTyp01 ul.newsList li span.pdf::before {
    margin: -12px 0 0;
  }
}


/*==========================================
 個人情報についてのスタイル
===========================================*/
#mainContents .privacyPdf {
  width: 583px;
  margin: 0 auto;
}
#mainContents .privacyPdf .column_L {
  float: left;
  width: 158px;
}
#mainContents .privacyPdf .column_R {
  float: right;
  width: 410px;
}
@media only screen and (max-width: 767px) {
  #mainContents .privacyPdf {
    width: 100%;
    margin: 0 auto;
  }
  #mainContents .privacyPdf .column_L {
    float: none;
    width: 100%;
  }
  #mainContents .privacyPdf .column_R {
    float: none;
    width: 100%;
    padding: 10px 0 0;
  }
}


/*==========================================
 検索のスタイル
===========================================*/
#mainContents #searchResult {
  width: 100%;
}
#mainContents #searchResult p span {
  font-size: 2.2rem;
  font-weight: bold;
}
#mainContents #searchArea {
  width: 100%;
  margin: 30px 0 0;
  border-top: 1px solid #C0C4CE;
}
#mainContents #searchArea .text_area {
  width: 100%;
  padding: 35px 0;
  border-bottom: 1px solid #C0C4CE;
}
#mainContents #searchArea .text_area h2 {
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.4;
}
#mainContents #searchArea .text_area p span {
  font-size: 1.8rem;
  font-weight: bold;
}
#mainContents #searchAreaBox {
  position: relative;
  width: 540px;
  height: 40px;
  margin: 50px auto 0;
  box-shadow:0px 0px 6px 6px rgba(0,0,0,0.1);
}
#mainContents #searchAreaBox input[type="text"] {
  width: 500px;
  height: 40px;
  padding: 10px;
  border: none;
  box-sizing: border-box;
  font-size: 1.6rem;
}
#mainContents #searchAreaBox input[type="submit"] {
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  height: 40px;
  border: none;
  box-sizing: border-box;
  background-image: url("/common/img/header_search_bot.svg");
  background-size: 40px 40px;
}
@media only screen and (max-width: 767px) {
  #mainContents #searchResult p span {
    font-size: 2.0rem;
  }
  #mainContents #searchArea {
    margin: 20px 0 0;
  }
  #mainContents #searchArea .text_area {
    padding: 25px 0;
  }
  #mainContents #searchArea .text_area p span {
    font-size: 1.4rem;
  }
  #mainContents #searchAreaBox {
    width: 100%;
  }
  #mainContents #searchAreaBox input[type="text"] {
    width: 100%;
  }
}
/*==========================================
 youtubeエンベッド
===========================================*/
.mov-box {
  margin:10px 0 10px 0;
}

.mov-box-inner {
  position:relative;
  width:auto;
  height:0;
  padding-top:56.25%;
}

.mov-box-inner iframe {
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
}

/*==========================================
 youtube JSエンベッド
===========================================*/
div.mov-inner {
    position:relative;
    height:0;
    padding-top:56.25%;
    background-color:#000;
}
div.mov-inner iframe {
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
}
/*==========================================
 202309
===========================================*/

.gray-cover{
  padding: 50px;
  background-color: #ECEDF0;
  text-align: center;
  margin-top: 20px;
  color: #000;
}
.gray-cover .white-block{
  background-color: #FFF;
  padding: 40px;
  margin: 20px 0 0;
}
.gray-cover .white-block:first-of-type{
  margin: 15px 0 40px;
}
.gray-cover .white-block:only-of-type{
  margin: 15px 0 0;
}
.arrow{
  background-color: #81899D;
  width: 240px;
  height: 36px;
  margin: 40px auto 30px;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.gray-cover h3{
  font-size: 2.4rem;
  color: #3B3F4A;
}
.white-block .philosophy-p{
  font-size: 1.8rem;
  line-height: 2.0;
  font-weight: bold;
}
.white-block .promise-p{
  font-size: 1.8rem;
  line-height: 2.0;
  font-weight: bold;
}
.white-block .big{
  font-size: 2.8rem;
}
.white-block .from{
  font-size: 1.6rem;
}
.white-block .brandmsg-main{
  color: #0050FF;
  font-weight: bold;
  font-size: 5.0rem;
  letter-spacing: 0.2em;
  margin: 20px 0 30px;
}
.white-block .brandmsg-main-en{
  letter-spacing: 0.04em;
}
.white-block .brandmsg-p{
  font-size: 1.8rem;
  line-height: 2.0;
}
@media only screen and (max-width: 767px) {
  .gray-cover{
    padding: 8vw 4vw;
    margin-top: 4vw;
  }
  .gray-cover h3{
    font-size: 2.0rem;
    line-height: 1.6;
  }
  #mainContents .gray-cover > p{
    text-align: left;
    font-size: 1.4rem;
  }
  .gray-cover .white-block{
    padding: 8vw 6vw;
    margin: 2.6vw 0;
  }
  .gray-cover .white-block:first-of-type{
    margin: 2.6vw 0 5vw;
  }
  .gray-cover .white-block:only-of-type{
    margin: 2.6vw 0 0;
  }
  .white-block .philosophy-p{
    font-size: 1.6rem;
  }
  .white-block .promise-p{
    font-size: 1.6rem;
  }
  .white-block .big{
    font-size: 2.4rem;
    margin-top: 1.4em;
  }
  .white-block .from{
    font-size: 1.4rem;
  }
  .arrow{
    width: 40vw;
    height: 5.8vw;
    margin: 10vw auto 8vw;
  }
  .white-block .brandmsg-main{
    font-size: 2.8rem;
    margin: min(5vw,55px) 0 min(9vw,35px);
    letter-spacing: 0.1em;
  }
  .white-block .brandmsg-main-en{
    line-height: 1.2;
    letter-spacing: 0.04em;
  }
  .white-block .brandmsg-p{
    font-size: 1.6rem;
    line-height: 2.0;
  }
}

/*==========================================
 about link_btn追加　20231226
===========================================*/
.link_btn{
text-align: right;
font-size: 1.6rem;
margin-top: 1em;
}

.link_btn a{
position: relative;
text-decoration: none !important;
color: #0050FF;
font-weight: 700;
}

.link_btn a::before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #676769;
  border-right: solid 2px #676769;
position: absolute;
  top: 50%;
 left: -10%;
  margin-top: -4px;
  transform: rotate(45deg);
transition : 1s;
}
