@charset "utf-8";
/* ================================================================ */
/* KOBA☆トレ */
/* ================================================================ */

/* box */
.kobatore-box {
  border:3px solid #004DCC;
}

/* header */
.kobatore-header {
	padding: 20px;
	background-color: #FFFFEB;
}
.kobatore-header h1 {
	margin-bottom: 20px;
	text-align: center;
}
.kobatore-header p {
	font-size: 0.95em;
	line-height: 1.8;
}

/* contents */
.kobatore-contents {
	padding: 40px 20px;
}
.kobatore-contents:nth-child(odd) {
	background-color: #E3F5FF;
}
.kobatore-contents h2 {
	margin-bottom: 15px;
	color: #032A5D;
	font-size: 150%;
	font-weight: bold;
	text-align: center;
}
.kobatore-contents p + h2 {
	margin-top: 25px;
}
.kobatore-contents p {
	line-height: 1.7;
}

/* profile */
.kobatore-contents .profile {
	margin-bottom: 20px;
}
.kobatore-contents .profile .image {
	float: left;
	margin-right: 20px;
}
.kobatore-contents .profile .text {
	overflow: hidden;
}
.kobatore-contents .profile .text h2 {
	margin-bottom: 5px;
	color: #808080;
	font-size: 150%;
	font-weight: bold;
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;;
	text-align: left;
}
.kobatore-contents .profile .text .name {
	margin-bottom: 15px;
	font-size: 200%;
	font-weight: bold;
	line-height: 1.2;
}
.kobatore-contents .profile .text .name span {
	display: block;
	margin-left: -0.5em;
	font-size: 50%;
}

/* media */
.kobatore-contents dl.media {
	font-size: 0.95em;
}
.kobatore-contents dl.media dt {
	clear: left;
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
	padding: 3px 8px;
	background-color: #666;
	color: #fff;
	text-align: center;
}
.kobatore-contents dl.media dd {
	padding-top: 0.3em;
	margin-bottom: 10px;
}
.kobatore-contents dl.media dd span {
	margin-left: -0.25em;
}

/* about */
.kobatore-contents h3.kyoka {
	margin: 20px 0 5px;
	text-align: center;
}
.kobatore-contents .flex-content {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.kobatore-contents .flex-content > div {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.kobatore-contents .flex-item {
	display: -webkit-flex;
	display: flex;
	margin-bottom: 20px;
	padding-bottom: 20px;
	width: calc((100% - 20px) / 2);
	background-color: #fff;
	text-align: center;
}
.kobatore-contents .flex-item:nth-child(odd) {
	margin-right: 20px;
}
.kobatore-contents .flex-item > div {
	width: 100%;
}
.kobatore-contents .flex-item h4 {
	margin-bottom: 25px;
	padding: 5px;
	background: url(../img/kobatore/bg-title.png) center center repeat;
	color: #fff;
	font-size: 130%;
	font-weight: bold;
}
.kobatore-contents .flex-item h5 {
	margin: 0 20px 15px;
	color: #F15A24;
	font-size: 120%;
	font-weight: bold;
}
.kobatore-contents .flex-item p {
	margin: 0 20px 25px;
	text-align: left;
}
.kobatore-contents .flex-item img {
	max-width: 100%;
	height: auto;
}

/* movie */
.kobatore-contents .kobatore-movie {
	max-width: 560px;
	margin: 20px auto 0;
}
.kobatore-contents .kobatore-movie h3 {
	margin-bottom: 20px;
	font-size: 120%;
	text-align: center;
}
.kobatore-contents .kobatore-movie h3 ~ h3 {
	margin-top: 40px;
}
.kobatore-contents .kobatore-movie h3 > span {
	display: block;
	margin-bottom: 5px;
	font-size: 85%;
	vertical-align: bottom;
	letter-spacing: -.40em;
}
.kobatore-contents .kobatore-movie h3 > span span {
	display: inline-block;
	padding: 3px 10px;
	background: #fff;
	border: 1px solid #666;
	vertical-align: middle;
	letter-spacing: normal;
}
.kobatore-contents .kobatore-movie h3 > span span:last-child {
	background: #666;
	color: #fff;
}
.kobatore-box .kobatore-movie .movie {
	position: relative;
	padding-top: 56.26%;
}
.kobatore-box .kobatore-movie .movie video,
.kobatore-box .kobatore-movie .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* movie */
.kobatore-contents.interview {
	padding: 10px 20px 40px;
	background-color: #DBF3F5;
	text-align: center;
}

/* sns */
.sns {
	margin-top: 5px;
}
.sns p {
	display: block;
	margin-bottom: 5px;
}
.sns ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.sns ul li {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	min-width: 120px;
	margin: 0 10px 5px 0;
	padding: 5px;
	border: 1px solid #ccc;
}
.sns ul li img {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	width: 34px !important;
	margin-right: 10px;
}
.sns ul li a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: none !important;
}

/* more */
p.more a {
	display: block;
	margin: 10px;
	padding: 10px;
	border-radius: 5px;
	background-color: #004DCC;
	color: #fff;
	text-decoration: underline;
	text-align: center;
}



@media only screen and (max-width:999px) {
  .kobatore-contents .profile .image {
  	float: none;
  	margin: 0 0 20px;
  	text-align: center;
  }
  .kobatore-contents dl.media dt {
  	float: none;
  	margin-bottom: 5px;
  	text-align: left;
  }
  .kobatore-contents dl.media dd {
  	margin-bottom: 15px;
  }
  .kobatore-contents .flex-item {
  	width: 100%;
  	margin: 0 0 10px !important;
  }
}

/* slider
----------------------------------------------- */
.slider .bx-wrapper {
  position: relative;
}
.slider .bx-wrapper img {
  width: 100%;
  vertical-align: middle;
}
.slider .bx-wrapper a img:hover {
  opacity: 0.8;
}
.slider .bx-viewport {
  background-color: #fff;
  box-shadow: 0 1px 5px #999;
}
.slider .bx-viewport li {
  padding: 5px;
}

/* bx-controls */
.bx-controls {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin-top: 10px;
}
/* bx-controls-direction */
.slider .bx-controls-direction a {
  position: absolute;
  top: 50%;
  width: 31px;
  height: 0;
  padding-top: 39px;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent !important;
  overflow: hidden;
  z-index: 10;
}
.slider .bx-controls-direction a.bx-prev {
  left: 0;
  background-image: url(../img/kobatore/slider-prev.svg);
}
.slider .bx-controls-direction a.bx-next {
  right: 0;
  background-image: url(../img/kobatore/slider-next.svg);
}
@media only screen and (max-width:999px) {
  .slider .bx-controls-direction a {
    top: 50%;
    transform: translate(0,-50%);
  }
}
/* bx-controls-auto */
.bx-controls-auto {
  -webkit-order: 2;
  order: 2;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  margin-left: 10px;
}
.bx-controls-auto .bx-controls-auto-item a {
  display: inline-block;
  padding: 1px 8px;
  border: 2px solid #181878;
  background-color: #fff;
  color: #000;
  font-size: 14px;
}
@media only screen and (max-width:999px) {
}
/* bx-pager */
.bx-pager {
  -webkit-order: 1;
  order: 1;
  -webkit-flex-shrink: 1;
  flex-shrink: 1;
  letter-spacing: -.40em;
}
.bx-pager-item {
  display: inline-block;
  margin: 0 5px;
  letter-spacing: normal;
  vertical-align: middle;
}
.bx-pager-item a {
  display: block;
  width: 14px;
  height: 0;
  padding-top: 10px;
  border-radius: 7px;
  border: 2px solid #181878;
  background-color: #fff;
  box-shadow: 0 1px 5px #999;
  overflow: hidden;
}
.bx-pager-item a.active,
.bx-pager-item a:hover {
  border-color: #181878;
  background-color: #181878;
}

/* qa-box
----------------------------------------------- */
.qa-box {
  margin: 2em 0;
  padding: 15px 20px 10px;
  border: 1px solid #ccc;
  box-shadow: 0 5px 5px #f2f2f2;
}
.qa-box dt {
  position: relative;
  top: -28px;
  display: inline-block;
  margin: 0;
  padding: 0 10px;
  background-color: #fff;
  font-weight: bold;
}
.qa-box dd {
  position: relative;
  top: -15px;
  margin: 0;
  padding-left: 10px;
}
.qa-box dd > *:last-child {
  margin-bottom: 0 !important;
}
.qa-box p {
  margin-bottom: 1em;
}
.qa-box table {
  margin: 0;
  border: none;
  border-top: 1px solid #ccc;
}
.qa-box table tr {
  border-bottom: 1px solid #ccc;
}
.qa-box table th, .qa-box table td {
  padding: 5px 10px;
  border: none;
}
.qa-box table th {
  width: 20%;
  letter-spacing: 0.5em;
  text-align: center;
}
@media only screen and (max-width:999px) {
  .qa-box {
    padding: 15px 10px 10px;
  }
}