@charset "UTF-8";
.clearfixClass:after, .aboutBox .aboutBoxTwoCol:after {
  content: " ";
  clear: both;
  display: block;
}
/*
SCSS variables are information about icon's compiled state, stored under its original file name
.icon-home {
  width: $icon-home-width;
}
The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;
At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/*
The provided mixins are intended to be used with the array-like variables
.icon-home {
  @include sprite-width($icon-home);
}
.icon-email {
  @include sprite($icon-email);
}
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS
@include sprites($spritesheet-sprites);
*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
/* ====================================================
page style
==================================================== */
/* 全体
-------------------------- */
body {
  background: #eeeeee;
}
.bgStyle1 {
  background: #FFF;
  padding: 60px 0;
}
.sectionTitle {
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  display: inline-block;
  padding: 10px 15px;
  border: 2px solid #000;
  margin: 0 0 40px 0;
}
.topIconList {
  text-align: right;
}
.topIconList li {
  display: inline-block;
  margin: 5px 3px 5px 40px;
}
/* メインスライダー
-------------------------- */
.mainSlider {
  padding: 2px 0 0 0;
  width: 100%;
  height: 360px;
  overflow: hidden;
}
.mainSliderInner {
  margin: 0 auto;
  width: 880px;
}
.mainSliderInner .slick-list {
  overflow: visible;
}
.slickSlide {
  position: relative;
  -webkit-transition: opacity 0.2s linear;
          transition: opacity 0.2s linear;
  opacity: 0.4;
}
.slickSlide a {
  display: block;
  position: relative;
  text-decoration: none;
}
.slickSlide a:hover {
  color: #cc0000;
}
.slickSlide img {
  width: 100%;
}
.slick-active {
  opacity: 1;
}
.mainSlider .slick-active:hover {
  opacity: 0.6;
}
.slideInfoBox {
  background: #fff;
  padding: 13px 13px;
  display: inline-block;
  position: absolute;
  clear: both;
}
.slideInfoBoxTitle {
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
}
.infoBoxDate {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 0 10px 0;
}
.infoBoxCategory {
  font-size: 11px;
  font-size: 1.1rem;
  display: inline-block;
  float: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  margin: 10px 0 0 0;
  padding: 3px 6px;
  min-width: 100px;
}
.infoBoxCategory span {
  display: inline-block;
  text-align: left;
}
.infoBoxCategory.categoryColor1 {
  border: 1px solid #d90000;
}
.infoBoxCategory.categoryColor2 {
  border: 1px solid #ff9900;
}
.infoBoxCategory.categoryColor3 {
  border: 1px solid #0066cc;
}
.infoBoxCategory.categoryColor4 {
  border: 1px solid #009900;
}
.infoBoxCategory.categoryColor5 {
  border: 1px solid #9900cc;
}
.slideInfoBoxType1 {
  left: 20px;
  top: 20px;
  max-width: 400px;
}
.slideInfoBoxType2 {
  right: 20px;
  top: 20px;
  max-width: 400px;
}
.slideInfoBoxType3 {
  right: 20px;
  bottom: 20px;
  max-width: 400px;
}
.slideInfoBoxType4 {
  left: 20px;
  bottom: 20px;
  max-width: 400px;
}
.slideInfoBoxType5 {
  left: 20px;
  top: 20px;
  max-width: 400px;
}
.slideInfoBoxType6 {
  right: 20px;
  top: 20px;
  max-width: 400px;
}
.slideInfoBoxType7 {
  right: 20px;
  bottom: 20px;
  max-width: 400px;
}
.slideInfoBoxType8 {
  left: 20px;
  bottom: 20px;
  max-width: 400px;
}
.slideInfoBoxType9 {
  right: 0;
  top: 0;
  width: 340px;
  height: 100%;
  padding: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.slideInfoBoxType9 .slideInfoBoxTitle {
  width: 270px;
  height: 250px;
  margin: 0 0 10px 0;
}
.slideInfoBoxType9 .infoBoxCategory {
  max-width: 142px;
}
.slickSlide .slideInfoBoxType9Img {
  width: 540px;
  height: auto;
}
.slideInfoBoxType10,
.slideInfoBoxType11,
.slideInfoBoxType12,
.slideInfoBoxType13,
.slideInfoBoxType14,
.slideInfoBoxType15,
.slideInfoBoxType16,
.slideInfoBoxType17,
.slideInfoBoxType18,
.slideInfoBoxType19{
  background-color:rgba(0,0,0,0.65);
  color: #fff;
}
.slideInfoBoxType10 .infoBoxDate,
.slideInfoBoxType11 .infoBoxDate,
.slideInfoBoxType12 .infoBoxDate,
.slideInfoBoxType13 .infoBoxDate,
.slideInfoBoxType18 .infoBoxDate{
  display:none;
}
.slideInfoBoxType10,.slideInfoBoxType14 {
  left: 20px;
  top: 20px;
  max-width: 400px;
}
.slideInfoBoxType11,.slideInfoBoxType15 {
  right: 20px;
  top: 20px;
  max-width: 400px;
}
.slideInfoBoxType12,.slideInfoBoxType16 {
  right: 20px;
  bottom: 20px;
  max-width: 400px;
}
.slideInfoBoxType13,.slideInfoBoxType17 {
  left: 20px;
  bottom: 20px;
  max-width: 400px;
}
.slideInfoBoxType18 {
  left: 0px;
  bottom: 0px;
  width: 100%;
  padding: 0px;
}
.slideInfoBoxType18 .slideInfoBoxTitle{
  padding: 13px 30px;
}
.slideInfoBoxType19 {
  display:none;
}
.mainSliderControl {
  min-height: 56px;
  background: #eeeeee;
}
.mainSliderControlInner {
  width: 880px;
  margin: 0 auto;
  position: relative;
}
.sliderControlBtns {
  width: 164px;
  margin: 0 auto;
  padding: 10px 0 10px 0;
  display: table;
}
.sliderControlStop {
  display: table-cell;
  vertical-align: middle;
  font-size: 0px;
  font-size: 0rem;
}
.sliderControlStop a {
  background-image: url(/assets/sprites/sprite.png);
  background-position: -118px 0px;
  width: 70px;
  height: 36px;
  cursor: pointer;
  display: inline-block;
  margin: 0 10px 0 10px;
  text-indent: -9999px;
  overflow: hidden;
}
.sliderControlStop a:hover {
  background-image: url(/assets/sprites/sprite.png);
  background-position: -118px -46px;
  width: 70px;
  height: 36px;
}
.sliderControlStop.stop a {
  background-image: url(/assets/sprites/sprite.png);
  background-position: 0px -134px;
  width: 70px;
  height: 36px;
}
.sliderControlStop.stop a:hover {
  background-image: url(/assets/sprites/sprite.png);
  background-position: -80px -134px;
  width: 70px;
  height: 36px;
}
.sliderPrevArrow {
  display: table-cell;
  vertical-align: middle;
  font-size: 0px;
  font-size: 0rem;
}
.sliderPrevArrow a {
  background-image: url(/assets/sprites/sprite.png);
  background-position: -198px 0px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: inline-block;
}
.sliderPrevArrow a:hover {
  background-image: url(/assets/sprites/sprite.png);
  background-position: -198px -46px;
  width: 36px;
  height: 36px;
}
.slick-arrow a {
  text-indent: -9999px;
  overflow: hidden;
}
.sliderNextArrow {
  display: table-cell;
  vertical-align: middle;
  font-size: 0px;
  font-size: 0rem;
}
.sliderNextArrow a {
  background-image: url(/assets/sprites/sprite.png);
  background-position: -198px -92px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: inline-block;
}
.sliderNextArrow a:hover {
  background-image: url(/assets/sprites/sprite.png);
  background-position: 0px -180px;
  width: 36px;
  height: 36px;
}
.mainSliderCount {
  text-align: right;
  margin: -29px 0 0 0;
  padding: 0 4px 0 0;
  line-height: 0;
}
.mainSliderCount .currentCount {
  font-size: 25px;
  font-size: 2.5rem;
  font-weight: bold;
  display: inline-block;
  font-style: italic;
}
.mainSliderCount .currentSlash {
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  display: inline-block;
}
.mainSliderCount .allCount {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
  display: inline-block;
  font-style: italic;
}
/* お知らせ & ニュース
-------------------------- */
.newsBox {
  width: 880px;
  margin: 0 auto 0;
  overflow: hidden;
}
.newsBox .listNews {
  margin: 0 0 0 120px;
  border-bottom: none;
}
.newsBox .listNews li:first-child {
  padding-top: 1px;
}
.infoBox {
  width: 880px;
  margin: 0 auto 60px;
  overflow: hidden;
}
.infoBox li {
  padding: 0 0 13px 0;
}
.infoBox li a {
  font-weight: normal;
}
.infoBoxTitle,
.newsBoxTitle {
  width: 110px;
  float: left;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
}
.infoBoxMain,
.newsBoxMain {
  margin: 0 0 0 120px;
}
#fr .infoBoxMain,
#fr .newsBoxMain {
  margin: 0 0 0 150px;
}
#en .infoBoxMain,
#en .newsBoxMain {
  margin: 0 0 0 150px;
}
#en .postDate {
  width: 145px;
}
/* ピックアップコンテンツ & オリンピック・パラリンピックについて & ソーシャルメディア
-------------------------- */
.pickupBox {
  padding: 75px 0;
  width: 880px;
  margin: 0 auto;
  text-align: center;
}
.pickupBox ul {
  text-align: left;
  word-spacing: -0.4em;
}
.pickupBox ul li {
  word-spacing: normal;
  width: 270px;
  display: inline-block;
  margin: 0 35px 35px 0;
}
.pickupBox ul li:nth-child(3n) {
  margin: 0 0 35px 0;
}
.pickupBox.center ul {
  text-align: center;
}
.pickupBox.center ul li {
  margin: 0 17.5px 35px 17.5px;
}
.aboutBox {
  padding: 75px 0;
  width: 880px;
  margin: 0 auto;
  text-align: center;
  border-bottom: 1px solid #cccccc;
}
.aboutBox .aboutBoxTwoCol li {
  float: left;
  margin: 0 20px 0 0;
}
.aboutBox .aboutBoxTwoCol li a {
  display: block;
}
.aboutBox .aboutBoxTwoCol li img {
  width: 430px;
}
.aboutBox .aboutBoxTwoCol li:nth-child(2n) {
  margin: 0 0 0 0;
}
.aboutBox .aboutBoxOneCol {
  margin: 50px 0 0 0;
}
.snsListBox {
  padding: 75px 0;
  width: 880px;
  margin: 0 auto 75px;
  text-align: center;
  border-bottom: 1px solid #cccccc;
}
.snsListBoxlist {
  display: table;
  width: 660px;
  margin: 0 auto;
}
.snsListBoxlist li {
  vertical-align: top;
  display: table-cell;
}
.snsListBoxlist li dl dd {
  font-size: 18px;
  font-size: 1.8rem;
  padding: 20px 0 0 0;
  font-weight: bold;
}
/* vision & game
-------------------------- */
.visionBox {
  background: #ffffff;
}
.visionBox .visionBoxInner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: table;
}
.visionBox .sectionBgLeft {
  display: table-cell;
  width: 50%;
  background-image: url(/assets/img/pages/top/photo_vistion_01.jpg);
  background-position: right center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
          background-size: cover;
}
.visionBox .sectionBgRight {
  display: table-cell;
  width: 50%;
  vertical-align: top;
}
.visionBox .sectionMain {
  padding: 80px 0 0 90px;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 700px;
}
.visionBox .visionBoxTitle {
  text-align: center;
}
.visionBox .visionBoxSlogan {
  font-weight: bold;
  margin: 0 0 30px 0;
}
.visionBox .visionBoxText {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.7;
  padding: 0 0 15px 0;
}
.visionBox .iconListWrap {
  margin: 15px 0 30px 0;
}
.gameBox {
  background: #ffffff;
}
.gameBox .gameBoxInner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  display: table;
}
.gameBox .sectionBgLeft {
  display: table-cell;
  width: 50%;
  text-align: right;
}
.gameBox .sectionBgRight {
  display: table-cell;
  width: 50%;
  vertical-align: top;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #000;
}
.gameBox .sectionMain {
  padding: 80px 90px 40px 90px;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 700px;
  min-width: 600px;
}
.gameBox .sectionMain > dl {
  display: table;
  padding: 0 0 15px 0;
}
.gameBox .sectionMain > dl dt {
  display: table-cell;
  vertical-align: top;
  width: 80px;
}
.gameBox .sectionMain > dl dd {
  display: table-cell;
  vertical-align: middle;
  text-align: left;
  padding: 0 0 0 20px;
}
.gameBox .sectionMain > dl .gameCategory {
  font-size: 16px;
  font-size: 1.6rem;
}
.gameBox .sectionMain > dl .gameName {
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
}
.gameBox .sectionMain > dl .gameNameEng {
  font-size: 12px;
  font-size: 1.2rem;
}
.gameBox .gameBoxTitle {
  text-align: center;
}
.gameBox .gamePlaceTitle {
  text-align: left;
  font-weight: bold;
  padding: 10px 0 5px 0;
}
.gameBox .gamePlaceBox {
  text-align: left;
  padding: 10px 0 10px 0;
}
.gameBox .gamePlaceBox li {
  display: block;
  word-spacing: normal;
  margin: 0 15px 15px 0;
}
.gameBox .gamePlaceBox li:nth-child(3n) {
  margin: 0 0 15px 0;
}
.gameBox .gamePlaceBox dl dt {
  margin: 0 0 5px 0;
}
.gameBox .gamePlaceBox dl .noMargin {
  margin: 0 0 0 0;
}
.gameBox .gamePlaceBox dl dd span {
  margin: 0 0 0 -5px;
  font-size: 12px;
  font-size: 1.2rem;
}
.gameBox .gamePlaceBox dl dd .noLink {
  margin: 0 0 0 2px;
  color: #333333;
  font-size: 12px;
  font-size: 1.2rem;
  background: none;
  font-weight: bold;
}
.gameBox .gamePlaceBox a, .gameBox .gamePlaceBox span {
  font-size: 13px;
  font-size: 1.3rem;
}
.gameBox .gamePlaceList li {
  display: inline-block;
  margin: 0 0 0 30px;
}
.gameBox .gamePlaceList li:first-child {
  margin: 0 0 0 0;
}
.gameBox .gamePlaceList a {
  font-size: 13px;
  font-size: 1.3rem;
}
.gameBox .gameBoxText {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.6;
  padding: 0 0 15px 0;
  text-align: left;
}
#fr .gameName,
#en .gameName {
  line-height: 1.1;
}
#fr .gameCategory,
#en .gameCategory {
  margin: 0 0 5px 0;
}
#en .gamePlaceBox li span,
#fr .gamePlaceBox li span {
  padding: 0 0 0 0;
  margin: 0 0 0 1em;
  text-indent: -1em;
}
#en .gamePlaceBox li span:before,
#fr .gamePlaceBox li span:before {
  content: "-";
  display: inline-block;
  margin: 0 0 0 1em;
}
.olympicBox {
  margin: 0 0 40px 0;
}
.paralympicBox {
  margin: 0 0 80px 0;
}
.logoList {
  width: 880px;
  margin: 0 auto 40px;
}
.logoListSliderWrap {
  overflow: hidden;
  width: 880px;
  margin: 0 0 60px 0;
}
.logoListSlider {
  overflow: hidden;
  width: 880px;
}
.logoListMain {
  margin: 0 0 2px 0;
  display: table;
  width: 100%;
  height: 130px;
}
.logoListMainTitle {
  background-color: #fff;
  display: table-cell;
  width: 292px;
  padding: 30px 0 0 0;
  vertical-align: top;
  text-align: center;
}
.competitionLogo {
  padding: 15px 0 0 0;
  text-align: center;
  width: 586px;
  border-left: 2px solid #eeeeee;
  display: table-cell;
  background: #fff;
  vertical-align: top;
}
.competitionLogo li {
  display: inline-block;
  padding: 0 35px;
  vertical-align: middle;
}
.logoListTitle {
  padding: 20px 0 20px;
  margin: 0 0 2px 0;
  background: #fff;
  text-align: center;
  font-weight: bold;
}
.logoListSliderChild {
  width: 145px;
  height: 80px;
  float: left;
  background: #FFF;
  margin: 0 2px 2px 0;
}
.logoListSliderChild a {
  display: block;
  text-align: center;
  position: relative;
  height: 100%;
}
.logoListSliderChild a img {
  display: inline-block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.logoListSliderChild .sponsor_ANA {
  width: 69%;
}
.logoListSliderChild .sponsor_Asahi {
  width: 65%;
}
.logoListSliderChild .sponsor_asics {
  width: 70%;
}
.logoListSliderChild .sponsor_AtoS {
  width: 60%;
}
.logoListSliderChild .sponsor_BRIDGESTONE {
  width: 52%;
}
.logoListSliderChild .sponsor_Canon {
  width: 73%;
}
.logoListSliderChild .sponsor_CocaCola {
  width: 70%;
}
.logoListSliderChild .sponsor_Dow {
  width: 70%;
}
.logoListSliderChild .sponsor_ENEOS {
  width: 74%;
}
.logoListSliderChild .sponsor_FUJITSU {
  width: 68%;
}
.logoListSliderChild .sponsor_TOKYOGAS {
  width: 81%;
}
.logoListSliderChild .sponsor_GE {
  width: 37%;
}
.logoListSliderChild .sponsor_JAL {
  width: 68%;
}
.logoListSliderChild .sponsor_McDonalds {
  width: 43%;
}
.logoListSliderChild .sponsor_meiji {
  width: 57%;
}
.logoListSliderChild .sponsor_MitsuiFudosan {
  width: 74%;
}
.logoListSliderChild .sponsor_MIZUHO {
  width: 73%;
}
.logoListSliderChild .sponsor_NEC {
  width: 63%;
}
.logoListSliderChild .sponsor_NISSAY {
  width: 70%;
}
.logoListSliderChild .sponsor_NOMURA {
  width: 71%;
}
.logoListSliderChild .sponsor_NTT {
  width: 72%;
}
.logoListSliderChild .sponsor_OMEGA {
  width: 64%;
}
.logoListSliderChild .sponsor_Panasonic {
  width: 71%;
}
.logoListSliderChild .sponsor_PandG {
  width: 36%;
}
.logoListSliderChild .sponsor_JP {
  width: 70%;
}
.logoListSliderChild .sponsor_SAMSUNG {
  width: 75%;
}
.logoListSliderChild .sponsor_SMBC {
  width: 62%;
}
.logoListSliderChild .sponsor_TokioMarine {
  width: 76%;
}
.logoListSliderChild .sponsor_TOYOTA {
  width: 74%;
}
.logoListSliderChild .sponsor_VISA {
  width: 60%;
}
.logoListSliderChild .sponsor_YAMATO {
  width: 44%;
}
.logoListSliderChild .sponsor_LIXIL {
  width: 57%;
}
.logoListSliderChild .sponsor_SECOM {
  width: 65%;
}
.logoListSliderChild .sponsor_ALSOK {
  width: 44%;
}
.logoListSlider .logoListSliderChild:nth-child(6n) {
  margin: 0 0 2px 0;
}
.logoListSliderControl {
  margin: 0 0 40px 0;
}
.logoListSliderControl.mb {
  margin: 0 0 80px 0;
}
