@charset "UTF-8";

/* ------ スポンサーシップリンク ------ */
#contents .sponsor_link a{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 0;
    border: 1px solid #eee;
    font-size: 172%;
    color: #333;
    font-weight: bold;
    max-width: 450px;
    width: 100%;
    margin: 50px auto 0;
}
#contents .sponsor_link a img{
    margin-right: 24px;
    width: auto;
}
#contents .sponsor_link a:hover{
    opacity: 0.7;
    text-decoration: none;
}


#main img {
	max-width: 100%;
	height: auto;
}

#main {
  background-color: #000000;
  display: block;
  padding-bottom: 100px;
  color: #ffffff;
}

#main * {
  box-sizing: border-box;
}

.mod-thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod-thumbnail span {
  overflow: hidden;
  display: block;
  width: 1240px;
  background-color: #000;
}
.mod-thumbnail span img {
  transition: opacity 0.3s ease-out, -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.3s ease-out;
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.3s ease-out, -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: block;
  width: 100%;
  opacity: 0.8;
}
.mod-thumbnail span:hover img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  opacity: 1;
}

#maincontent {
  width:1240px;
  padding: 0 40px;
  margin:auto;
  /*font-size:120%;*/
  letter-spacing: 2px;
  /*line-height: 2em;*/
  /*text-indent: 1em;*/
  line-break: strict;
}

#maincontent a {
	color: #ffffff;
	text-decoration: underline;
}
#maincontent a:hover {
	color: #a6a5a5;
	text-decoration: none;
}

table.borderless {
  margin: 0 auto;
  width: 800px;
  border: none;
  border-top: solid 1px #ffffff;
  border-bottom: solid 1px #ffffff;
  border-collapse: separate;
  border-spacing: 0 10px;
}

table.borderless th {
  vertical-align: middle;
  width: 20%;
  margin: 0;
  text-align: center;
  color: #ffffff;
  /*font-size: 85%;*/
  font-weight: bold;
}
table.borderless th.b_right{
  border-right: solid 1px #ffffff;
}

table.borderless td{
  padding: 0 0 0 10px;
  margin: 0;
  width: 80%;
  border: none;
  color: #ffffff;
  /*font-size: 80%;*/
  line-height: 1.5em;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

table.borderless td.bar {
  height: 1px;
  width: 100%;
  border-top: solid 1px #ffffff;
}

h1 {
	box-sizing: border-box;
	width:1240px;
	margin:0 auto;
	padding:0 15px;
}

h2.title {
  font-size:150%;
  font-weight: bold;
  margin-bottom: 20px;
  margin-top: 60px;
  text-align: center;
}

h2.title span {
	font-size:90%;
	margin-right:10px;
}


.first_title {
	position:relative;
}
.first_title .event_date {
	position:absolute;
	right:50px;
	bottom:0;
	color:#999999;
}

.mainVis {
	width:960px;
	margin:0 auto;
	}

.products {
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

.products .products_item {
	width:45%;
}
.products .products_text {
	width:50%;
	margin-top:60px;
}

.products .products_text .bold {
	font-weight: bold;
}

div.topperson {
  width:800px;
  margin:30px auto;
}
div.topname {
  overflow: hidden;
  font-weight: bold;
  border-right:dotted 1px #ccc;
  margin-right:20px;
  float:left;
  width: 30%;
  text-indent: 0em;
}
div.topname span {
  font-size:140%;
}

div.topcomment {
  overflow: hidden;
  float: right;
  width: 65%;
  font-weight: normal;
}
div.topcomment p {
  margin-bottom:20px;
  letter-spacing: 1px;
}
div.about {
  background-image:url(/sponsor/borderless/images/img_bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  padding-bottom:200px;
}


div.about p {
  /*font-size:85%;*/
  margin-bottom:10px;
  letter-spacing: 0px !important;
  text-indent: 0em;
}

.borderBox {
	border:2px solid #ffffff;
	text-align: center;
	padding:30px;
	margin: 0 auto;
	font-size: 120%;
}

.borderless_sns {
	display:flex;
	justify-content: space-between;
	align-items: center;
	background:#ffffff;
	padding: 20px 40px;
	width: 80%;
	margin: 0 auto;
	font-weight: bold;
	font-size:110%;
}

#maincontent .borderless_sns a {
	color:#000000;
}
#maincontent .borderless_sns a:hover {
	color: #a6a5a5;
}

.fsS {
	letter-spacing: 1px;
}


/* ------ indent ------ */
.indent1 { padding-left:1em; text-indent:-1em; }
.indent2 { padding-left:0.5em; text-indent:-0.5em; }
.indent3 { padding-left:2.2em; text-indent:-2.2em; }



@media screen and (max-width: 767px) {
	#contents {
		padding: 0;
	}
	.mainContent {
		width: 100%;
	}
	.mod-thumbnail span {
		width: 100%;
	}
	#maincontent {
		width: 100%;
		padding:0 15px;
	}
	.mainVis {
	width:100%;
	}
	table.borderless {
		width: 100%;
	}
	table.borderless td {
		white-space:unset;
		word-break: break-all;
	}
	h1 {
		width:100%;
	}
	.first_title {
		position:unset;
		margin-bottom: 20px;
	}
	.first_title h2.title {
		margin-bottom: 5px;
	}
	.first_title .event_date {
		position:unset;
		text-align: center;
	}
	.products {
		display:block;
	}
	.products .products_item {
		width:100%;
	}
	.products .products_text {
		width:100%;
		margin-top:25px;
	}
	.borderless_sns {
		display:block;
		text-align: center;
	}
	.borderless_sns li + li {
		margin-top: 15px;
	}
	#contents .sponsor_link {
		padding: 0 2%;
	}
}
