@charset "UTF-8";
/*
Theme Name: IDATEN x JSPO
Description: IDATEN x JSPO
Version: 2019.10
Author: YH
*/

/* ------------------------------------------
   Reset
------------------------------------------ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline; }

* {
  outline: none; }

body {
  line-height: 1; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

ol, ul {
  list-style: none; }

blockquote {
  quotes: none; }

blockquote:before, blockquote:after {
  content: '';
  content: none; }

del {
  text-decoration: line-through; }

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

a:focus {
  outline: none; }

a img {
  border: none; }

input, button, select, textarea {
  border-radius: 0; }

@media screen and (max-width: 767px) {
  input, button, select, textarea {
    -webkit-appearance: none; } }
/* ------------------------------------------
   Utility Class
------------------------------------------ */
/*** clearfix ***/
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden; }

/* Style
-------------------------------------------------------------- */
html {
  height: 100%;
  font-size: 10px; }

body {
  height: 100%;
  font-size: 1.7rem;
  line-height: 1.6em;
  color: #000;
  background: #fff;
  -webkit-text-size-adjust: none;
  min-width: 980px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
  /* letter-spacing: 0.1em; */
  opacity: 0;
  transition: opacity 1s ease;
}
body.show {
	opacity: 1;
}

body p {
  color: inherit;
  font-size: inherit;
  line-height: 2em;
  letter-spacing: 0.08em;
  }

a, a img {
  text-decoration: none;
  color: #000;
  transition: color 0.3s ease, background 0.3s ease, opacity 0.3s ease;
  }

a:hover {
  opacity: 0.75; }

img {
  display: block;
  max-width: 100%;
  height: auto; }

h1, h2, h3, h4, h5, h6 {
  line-height: inherit; }

.non_pc {
  display: none !important; }

/* ===========================================================================================

	Common

=========================================================================================== */
.outline {
  /* max-width: 1440px; */
  overflow: hidden;
  margin: 0 auto;
  }

.main {
  z-index: 100;
  margin: 0 auto;
  position: relative;
  transition: opacity 0.3s ease;
}
#inner .main {
	padding-top: 100px;
}
.f_en {
  font-family: 'Barlow Condensed', sans-serif;;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}
.f_min {
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", serif;
}

/* Header *******************************/
header {
	z-index: 100001;
	width: 100%;
	height: 80px;
	background: #fff;
	position: fixed;
	/* max-width: 1440px; */
}
header > .inner {
	max-width: 1100px;
	margin: 0 auto;
	width: 96%;
	padding: 10px 0;
}
header .logo {
	display: block;
	float: left;
  width: 238px;
	padding: 7px;
}
header .icon {
	display: block;
	float: right;
	width: 28px;
	margin-left: 10px;
	margin-top: 15px;
}



/* Footer *******************************/
footer {
	position: relative;
	background: #fff;
	z-index: 1000;
}
footer > .inner {
	width: 1100px;
	margin: 0 auto;
	padding: 100px 0 60px 0;
}
footer .logo {
	display: block;
	width: 238px;

}
footer ul.list {
	margin-top: 30px;
}
footer ul.list > li {
	float: left;
	width: 348px;
	margin-left: 28px;
	margin-top: 30px;
}
footer ul.list > li:nth-child(3n-2) {
	margin-left: 0;
	clear: both;
}
footer ul.list > li:nth-child(-n+3) {
	margin-top: 0;
}

footer ul.list > li p {
	background: #cd2f35;
	color: #fff;
	font-size: 16px;
	letter-spacing: 0;
	padding: 4px 0px 4px 20px;
}
footer ul.list ul {
	margin-top: 15px;
}
footer ul.list ul li a {
	font-size: 14px;
	line-height: 1.8em;
	padding-left: 20px;
}
footer ul.list ul li a::before {
	content: "・";
}
footer .link,
footer .copyright {
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1.8em;
	letter-spacing: 0;
}
footer .link {
	margin-top: 50px;
}

/* Gototop *******************************/
.bt_gototop {
	display: block;
	position: fixed;
	width: 48px;
	height: 48px;
	bottom: 30px;
	left: 50%;
	text-indent: -9999px;
	overflow: hidden;
	transform: translate(640px, 0);
	transition: none;
	border-radius: 50px;
	background: #fff;
	z-index: 10000;
}
.bt_gototop.bottom {
	position: absolute;
}
.bt_gototop.left {
	transform: none;
	left: auto;
	right: 30px;
}
.bt_gototop::after {
	display: block;
	position: absolute;
	width: 12px;
	height: 12px;
	left: 50%;
	top: 21px;
	content: "";
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	margin: 0 0 0 -7px;
	transform: rotate(-45deg);
}
.bt_gototop.show:hover {
	opacity: 1;
}

/* ===========================================================================================

	Index

=========================================================================================== */

#index .main {
	background: url(../images/bg_body.png) no-repeat center 0;
	background-size: 4000px auto;
	padding-top: 80px;
}


/* Visual *********************************/
#index .visual {
	position: relative;
	padding: 40px 0;
	z-index: 500;
}
#index .visual > .inner {
	position: relative;
	width: 1100px;
	margin: 0 auto;
	padding: 60px 0;
}
#index .visual > .inner::before {
	display: block;
	position: absolute;
	content: "";
	background: #e03214;
	width: 750px;
	height: 750px;
	border-radius: 100%;
	z-index: -1;
	right: -205px;
	top: -130px;
	transition: top 2s ease;
}
#index .visual.active > .inner::before {
	top: -159px;
}
#index .visual h1 {
	position: absolute;
	width: 835px;
	right: 30px;
	top: 0;
	transition: right 2s ease;
}
#index .visual.active h1 {
	right: 0;
}
#index .visual .img {
	width: 959px;
	margin: 0 auto 0 auto;
}
#index .visual .subtitle {
	position: absolute;
	width: 90px;
	left: 25px;
	top: 140px;
	transition: top 2s ease;
}
#index .visual.active .subtitle {
	top: 110px;
}
#index .visual .credit {
	position: absolute;
	width: 17px;
	right: 29px;
	top: 133px;
}
#index .visual .note {
	text-align: center;
	color: #fff;
	font-size: 24px;
	margin-top:20px;
}
#index .visual .text {
	font-weight: bold;
	letter-spacing: 0.1em;
	transition: opacity 1s ease;
	opacity: 0;
  text-align: center;
  color: #fff;
  font-size: 22px;
  margin-top:20px;
}
#index .visual .text.active {
	opacity: 1;
}


/* Character *********************************/
#index .character {
	position: relative;
	padding: 10px 0 0 0;
	margin-top: -10px;
	z-index: 400;
}
#index .character > .inner {
	position: relative;
	width: 1100px;
	margin: 0 auto;
	padding: 10px 0 0 0;
}
#index .character h2 {
	position: relative;
	left: 7px;
	width: 385px;
}
#index .character h2::before,
#index .character h2::after {
	position: absolute;
	display: block;
	content: "";
	width: 400px;
	height: 0;
	background: #f5e804;
	z-index: -1;
	bottom: 84px;
	left: -7px;
	transition: height 1s ease;
}
#index .character h2.active::before,
#index .character h2.active::after {
	height: 70px;
}
#index .character h2::after {
	bottom: -7px;
}
#index .character h2 div span {
	font-size: 75px;
	letter-spacing: 0.05em;
	line-height: 1em;
	font-weight: bold;
	position: relative;
	top:3px;
}
#index .character .box {
	margin-top: 50px;
	background: url(../images/bg_c1.png) no-repeat right 130px;
	background-size: 1043px auto;
	transition: opacity 1s ease;
	opacity: 0;
}
#index .character .box.active {
	opacity: 1;
}
#index .character .box.box1 {
	margin-top: 70px;
}
#index .character .box .img {
	position: relative;
	width: 435px;
	float: left;
	left: -30px;
	transition: left 1s ease;
}
#index .character .box.active .img {
	left: 0;
}
#index .character .box .info {
	float: left;
	padding: 100px 0 32px 0;
}
#index .character .box .info .name,
#index .character .box .info .kana {
	display: inline-block;
	font-size: 50px;
	font-weight: bold;
	background: #e03214;
	line-height: 1.2em;
	padding: 0 5px;
	letter-spacing: 0.1em
}
#index .character .box .info .kana {
	font-size: 22px;
	margin-top: 20px;
}
#index .character .box .info .text {
	font-size: 16px;
	margin-top: 25px;
	letter-spacing: 0;
}
#index .character .box .info a {
	position: relative;
	font-weight: bold;
	color: #e03214;
	border-bottom: 3px solid #e03214;
	display: inline-block;
	margin: 10px 0 0 18px;
}
#index .character .box .info a::before {
	left: -12px;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: #e03214;
	border-width: 6px;
	margin-top: -6px;
	transform: scale(2, 1)
}

/* box2 */
#index .character .box.box2 {
	background-image: url(../images/bg_c2.png);
	background-position: left 130px;
}
#index .character .box.box2 img {
	float: right;
	left: 30px;
}
#index .character .box.box2 .info {
	float: left;
	padding: 100px 0 78px 90px;
	text-align: right;
	width: 560px;
}
#index .character .box.box2 .info .name,
#index .character .box.box2 .info .kana {
	position: relative;
	left: 40px;
}
#index .character .box.box2 .info .text {
	text-align: left;
	width: 600px;
}

/* box3 */
#index .character .box.box3 {
	background-image: url(../images/bg_c2.png);
}
#index .character .box.box3 .info {
	padding: 100px 0px 78px 0;
}

#index .character .mini {
	margin-top: 50px;
	transition: opacity 1s ease;
	opacity: 0;
}
#index .character .mini.active {
	opacity: 1;
}
#index .character .mini .boxmini {
	float: left;
	background: url(../images/bg_c3.png) no-repeat right bottom;
	background-size: 290px auto;
	text-align: center;
	margin-left: -20px;
  margin-top: 10px;
}
#index .character .mini .boxmini:first-child {
	margin-left: 0;
}
#index .character .mini .boxmini img {
	width: 290px;
}
#index .character .mini .boxmini .info {
	padding: 15px 50px 15px 0;
}
#index .character .mini .boxmini .kana {
	font-size: 11px;
	letter-spacing: 0.2em;
}
#index .character .mini .boxmini .name {
	font-size: 24px;
	letter-spacing: 0.1em;
}
#index .character .mini .boxmini .text {
	font-size: 13px;
}


/* Histroy *********************************/
#index .history {
	position: relative;
	padding: 785px 0 775px 0;
	background: url(../images/bg_history1.png) no-repeat center top, url(../images/bg_history2.png) no-repeat center bottom;
	background-size: 4000px auto;
	margin-top: -390px;
	z-index: 300;
}
#index .history > .inner {
	position: relative;
	padding: 10px 0;
	background: #f3f2ed;
}
#index .history .box {
	width: 1100px;
	margin: 30px auto 0 auto;
	transition: opacity 1s ease;
	opacity: 0;
}
#index .history .box.active {
	opacity: 1;
}
#index .history .box.kano {
	margin-top: -250px;
}
#index .history .box.tabata {
	margin-bottom: -125px;
}
#index .history .box > .inner {
	position: relative;
	height: 400px;
	background: url(../images/bg_kano.jpg) no-repeat center center;
	background-size: cover;
	padding-top: 20px;
	overflow: hidden;
}
#index .history .box.kishi > .inner {
	background-image: url(../images/bg_kishi.jpg)
}
#index .history .box.tabata > .inner {
	background-image: url(../images/bg_tabata.jpg)
}
#index .history .box h2 {
	text-align: right;
	margin-top: 40px;

}
#index .history .box h2 span {
	display: inline-block;
	font-size: 60px;
	line-height: 1.2em;
	font-weight: bold;
	background: #f5e804;
	margin-bottom: 20px;
	letter-spacing: 0.1em;
	padding-left: 10px;
}
#index .history .box .bt_more {
	position: absolute;
	display: block;
	line-height: 100px;
	background: #069335;
	bottom: 0;
	right: 0;
	font-size: 20px;
	font-weight: bold;
	color: #ffff;
	width: 500px;
	padding: 0 0 0 30px;
	border-right: 100px solid #2aa452;
	transition: all 0.3s ease;
}
#index .history .box .bt_more:hover {
	opacity: 1;
	background: #2aa452;
	width: 480px;
}
#index .history .box .bt_more::before {
	display: block;
	position: absolute;
	content: "";
	width: 24px;
	height: 24px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: scale(1,1.05) rotate(135deg);
	right: -64px;
	top: 32px;
}
#index .history .box .bt_more.open::before {
	transform: scale(1,1.05) rotate(-45deg);
	top: 46px;
}

#index .history .box .bt_more::after {
	display: block;
	position: absolute;
	content: "";
	width: 30px;
	height: 110px;
	background: #069335;
	transform: rotate(15deg);
	transform-origin: 0 0;
	left: 0px;
	top: 0;
	transition: background 0.3s ease;
}
#index .history .box .bt_more:hover::after {
	background: #29a352;
}
#index .history .box .detail {
	display: none;
	background: #29a352;
	padding: 40px;
	color: #fff;
	font-size: 16px;
	margin-top: -1px;
	line-height: 2em;
	position: relative;
}
#index .history .box .detail dl {
}
#index .history .box .detail dl dt {
	float: left;
	width: 200px;
}
#index .history .box .detail dl dd {
	margin-left: 200px;
}

/* Yukari *********************************/
#index .yukari {
	position: relative;
	padding: 10px 0 0 0;
	z-index: 200;
	margin-top: -506px;
	z-index: 400;
}
#index .yukari > .inner {
	position: relative;
	width: 1100px;
	margin: 0 auto;
	padding: 10px 0 0 0;
}
#index .yukari h2 {
	position: relative;
	width: 431px;
	left: 7px;
}
#index .yukari h2::before,
#index .yukari h2::after {
	position: absolute;
	display: block;
	content: "";
	width: 445px;
	height: 0;
	background: #f5e804;
	z-index: -1;
	bottom: 84px;
	left: -7px;
	transition: height 1s ease;
}
#index .yukari h2.active::before,
#index .yukari h2.active::after {
	height: 70px;
}
#index .yukari h2::after {
	bottom: -7px;
	width: 325px;
}
#index .yukari .box {
	margin-top: 30px;
	background: #f3f2ee;
	transition: opacity 1s ease;
	opacity: 0;
}
#index .yukari .box.active {
	opacity: 1;
}
#index .yukari .box:nth-child(2) {
	margin-top: 65px;
}
#index .yukari .box img {
	float: left;
	width: 350px;
}
#index .yukari .box .info {
	padding: 30px 25px 0 25px;
	margin-left: 350px;
}
#index .yukari .box .info .name {
	font-size: 24px;
	font-weight: bold;
}
#index .yukari .box .info .text {
	font-size: 14px;
	margin-top: 10px;
	line-height: 1.8em;
}
#index .yukari .box .info .tips {
	font-size: 14px;
	margin-top: 10px;
	line-height: 1.8em;
	background: #fff;
	padding: 8px 10px;
}


/* Twitter *********************************/
#index .twitter {
	position: relative;
	background: url(../images/bg_twitter.png) no-repeat center top;
	background-size: 4000px auto;
	padding: 600px 0 0 0;
	margin-top: -470px;
	z-index: 300;
}
#index .twitter > .inner {
	position: relative;
	width: 960px;
	margin: 0 auto;
	padding: 25px 0 94px 0;
}
#index .twitter h2 {
	float: left;
	margin-top: 50px;
}
#index .twitter h2 > span {
	display: inline-block;
	font-size: 24px;
	line-height: 1.2em;
	font-weight: bold;
	background: #000;
	color: #f5e804;
	margin-bottom: 15px;
	letter-spacing: 0.05em;
	padding: 0 5px 0 7px;
}
#index .twitter h2 > span.big1 {
	font-size: 36px;
	padding: 0 5px 0 8px;
}
#index .twitter h2 > span.big2 {
	font-size: 60px;
	padding: 0 8px 0 12px;
}
#index .twitter h2 > span.big2 span {
	display: inline-block;
	font-weight: bold;
	margin-right: 10px;
}
#index .twitter .timeline {
	float: right;
	background: #fff;
	border: 1px solid #e3e8ec;
	width: 542px;
	transition: opacity 1s ease;
	opacity: 0;
}
#index .twitter .timeline.active {
	opacity: 1;
}
#index .twitter .timeline .iframe {
	display: block;
}





/**************************************************************/
/**************************************************************/
/** SP ********************************************************/
/**************************************************************/
/**************************************************************/
@media screen and (max-width: 767px) {

	/* style
-------------------------------------------------------------- */
body {
	min-width: 320px;
	overflow: visible !important;
}
body.fixed {
	overflow: hidden;
}
body p {
	color: inherit;
	font-size: 12px;
	line-height: 1.8em;
}
a:hover {
	opacity: 1;
}
.non_pc {
	display: block !important;
}
.non_sp {
	display: none !important;
}
/* ===========================================================================================

Common

=========================================================================================== */
#top {
	position: relative;
	min-width: 320px;
}
.main {
	width: auto;
	margin: 0 auto;
	position: relative;
	padding-top: 0;
}


/* Header *******************************/
header {
	height: 50px;
}
header > .inner {
	width: auto;
	padding: 0;
}
header .logo {
	display: block;
	float: left;
	width: 153px;
	padding: 10px 10px 11px 14px;
}
header .icon {
	margin-left: 0;
	margin-top: 11px;
	margin-right: 14px;
}
header .icon + .icon {
	margin-right: 12px;
}

/* Footer *******************************/
footer {

}
footer > .inner {
	width: auto;
	padding: 20px 0 30px 0;
}
footer .logo {
	display: block;
	width: 153px;
	padding: 10px 14px;

}
footer ul.list {
	margin-top: 12px;
}
footer ul.list > li {
	float: none;
	width: auto;
	margin-left: 0;
	margin-top: -1px !important;
	position: relative;
}
footer ul.list > li:nth-child(3n-2) {
	margin-left: 0;
	clear: none;
}
footer ul.list > li:nth-child(-n+3) {
	margin-top: 0;
}

footer ul.list > li p {
	background: #cd2f35;
	color: #fff;
	font-size: 12px;
	letter-spacing: 0;
	padding: 10px 0px 10px 15px;
}
footer ul.list ul {
	margin-top: 0;
}
footer ul.list ul li {
	width: 50%;
	float: left;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	box-sizing: border-box;

}
footer ul.list ul li a {
	font-size: 11px;
	line-height: 1.8em;
	padding: 11px 0;
	text-align: center;
	display: block;
}
footer ul.list ul li a::before {
	display: none;
}
footer .link,
footer .copyright {
	font-size: 11px;
	letter-spacing: 0.1em;
	line-height: 2em;
	letter-spacing: 0;
	padding: 0 14px;
}
footer .link {
	margin-top: 15px;
	line-height: 2.8em;
	margin-bottom: 10px;
}
@media screen and (max-width: 374px) {
	footer .link,
	footer .copyright {
		font-size: 10px;
	}
}

/* Gototop *******************************/
.bt_gototop {
	display: block;
	position: fixed;
	width: 38px;
	height: 38px;
	bottom: 10px;
	left: 50%;
	text-indent: -9999px;
	overflow: hidden;
	transform: translate(640px, 0);
	transition: none;
	border-radius: 50px;
	background: #fff;
	z-index: 10000;
}
.bt_gototop.bottom {
	position: absolute;
}
.bt_gototop.left {
	transform: none;
	left: auto;
	right: 10px;
}
.bt_gototop::after {
	display: block;
	position: absolute;
	width: 9px;
	height: 9px;
	left: 50%;
	top: 16px;
	content: "";
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	margin: 0 0 0 -5px;
	transform: rotate(-45deg);
}
.bt_gototop.show:hover {
	opacity: 1;
}

/* ===========================================================================================

	Index

=========================================================================================== */

#index .main {
	background: url(../images/bg_body_sp.png) no-repeat center 50px;
	background-size: 700px auto;
	padding-top: 50px;
}


/* Visual *********************************/
#index .visual {
	position: relative;
	padding: 15px 0;
	z-index: 500;
}
#index .visual > .inner {
	position: relative;
	width: 375px;
	margin: 0 auto;
	padding: 30px 0;
}
#index .visual > .inner::before {
	display: block;
	position: absolute;
	content: "";
	background: #e03214;
	width: 460px;
	height: 460px;
	border-radius: 100%;
	z-index: -1;
	right: -230px;
	top: -10px;
	transition: top 2s ease;
}
#index .visual > .inner::after {
	display: block;
	position: absolute;
	content: "";
	background: #069335;
	width: 1060px;
	height: 60px;
	z-index: -1;
	right: -258px;
	top: 327px;
	transform: rotate(15.3deg);
}
#index .visual.active > .inner::before {
	top: -30px;
}
#index .visual h1 {
	position: absolute;
	width: 272px;
	right: 30px;
	top: 0;
	transition: right 2s ease;
}
#index .visual.active h1 {
	right: 0;
}
#index .visual .img {
	width: 310px;
	margin: 0 auto 0 auto;
}
#index .visual .subtitle {
	position: absolute;
	width: 45px;
	left: 10px;
	top: 140px;
	transition: top 2s ease;
}
#index .visual.active .subtitle {
	top: 110px;
}
#index .visual .credit {
	position: absolute;
	width: 10px;
	right: 11px;
	top: 133px;
}
#index .visual .note,
#index .visual .text {
	text-align: center;
	color: #fff;
	font-size: 15px;
	margin-top:20px;
	letter-spacing: 0.03em;
	padding-left: 6px;
}
#index .visual .text {
	font-weight: bold;
	letter-spacing: 0.03em;
	transition: opacity 1s ease;
	opacity: 0;
}
#index .visual .text.active {
	opacity: 1;
}

@media screen and (max-width: 374px) {
	#index .main {
		background-size: 640px auto;
	}
	#index .visual > .inner {
		width: 320px;
		margin: 0 auto;
	}
	#index .visual > .inner::before {
		width: 400px;
		height: 400px;
		right: -200px;
	}
	#index .visual > .inner::after {
		top: 289px;
	}
	#index .visual h1 {
		width: 252px;
		right: 20px;
	}
	#index .visual .img {
		width: 270px;
	}
	#index .visual .subtitle {
		width: 40px;
		left: 5px;
		top: 120px;
	}
	#index .visual.active .subtitle {
		top: 105px;
	}
	#index .visual .credit {
		width: 9px;
		right: 8px;
	}
	#index .visual .note,
	#index .visual .text {
		font-size: 14px;
	}
}

/* Character *********************************/
#index .character {
	position: relative;
	padding: 10px 0 0 0;
	margin-top: -10px;
	z-index: 400;
}
#index .character > .inner {
	position: relative;
	width: auto;
	margin: 0 auto 0px auto;
	padding: 10px 0 0 0;
}
#index .character h2 {
	position: relative;
	left: 7px;
	width: 245px;
}
#index .character h2::before,
#index .character h2::after {
	position: absolute;
	display: block;
	content: "";
	width: 260px;
	height: 0;
	background: #f5e804;
	z-index: -1;
	bottom: 54px;
	left: -7px;
	transition: height 1s ease;
}
#index .character h2.active::before,
#index .character h2.active::after {
	height: 42px;
}
#index .character h2::after {
	bottom: -3px;
}
#index .character h2 div span {
	font-size: 75px;
	letter-spacing: 0.05em;
	line-height: 1em;
	font-weight: bold;
	position: relative;
	top:3px;
}
#index .character .box {
	margin-top: 30px;
	background: url(../images/bg_c1_sp.png) no-repeat 14px bottom;
	background-size: 330px auto;
	transition: opacity 1s ease;
	opacity: 0;
	width: 375px;
	margin: 0 auto;
}
#index .character .box.active {
	opacity: 1;
}
#index .character .box.box1 {
	margin-top: 30px;
}
#index .character .box .img {
	position: relative;
	width: 218px;
	float: left;
	left: -30px;
	transition: left 1s ease;
	margin-left: 15px;
}
#index .character .box.active .img {
	left: 0;
}
#index .character .box .info {
	float: left;
	padding: 0 30px 30px 30px;
	margin-top: -60px;
	position: relative;
}
#index .character .box .info .name,
#index .character .box .info .kana {
	display: inline-block;
	font-size: 30px;
	font-weight: bold;
	background: #e03214;
	line-height: 1.2em;
	padding: 0 5px;
	letter-spacing: 0.1em;
	position: relative;
	left: 145px;
}
#index .character .box .info .kana {
	font-size: 12px;
	margin-top: 10px;
}
#index .character .box .info .text {
	font-size: 12px;
	margin-top: 12px;
	letter-spacing: 0;
}
#index .character .box .info a {
	position: relative;
	font-weight: bold;
	color: #e03214;
	border-bottom: 1px solid #e03214;
	display: inline-block;
	margin: 6px 0 0 16px;
	font-size: 12px;
}
#index .character .box .info a::before {
	left: -11px;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: #e03214;
	border-width: 4px;
	margin-top: -4px;
	transform: scale(2, 1);
}

/* box2 */
#index .character .box.box2 {
	background-image: url(../images/bg_c2_sp.png);
	background-position: 14px bottom;
	background-size: 345px auto;
	margin-top: 25px;
}
#index .character .box.box2 img {
	float: right;
	left: 30px;
	margin-left: 0;
	margin-right: 15px;
}
#index .character .box.box2 .info {
	float: left;
	padding: 0 30px 50px 30px;
	text-align: left;
	width: auto;
}
#index .character .box.box2 .info .name {
	position: relative;
	left: 50px;
}
#index .character .box.box2 .info .kana {
	position: relative;
	left: 70px;
}
#index .character .box.box2 .info .text {
	text-align: left;
	width: auto;
}

/* box3 */
#index .character .box.box3 {
	background-image: url(../images/bg_c2_sp.png);
	background-position: 14px bottom;
	background-size: 345px auto;
	margin-top: 25px;
}
#index .character .box.box3 .info {
	padding: 0 30px 45px 30px;
}

#index .character .mini {
	transition: opacity 1s ease;
	opacity: 0;
	width: 375px;
	margin: 25px auto 0 auto;
}
#index .character .mini.active {
	opacity: 1;
}
#index .character .mini .boxmini {
	float: left;
	background: url(../images/bg_c3.png) no-repeat right bottom;
	background-size: 180px auto;
	text-align: center;
	margin-left: -10px;
}
#index .character .mini .boxmini:first-child,
#index .character .mini .boxmini:nth-child(3) {
	margin-left: 14px;
}
#index .character .mini .boxmini:nth-child(3),
#index .character .mini .boxmini:nth-child(4) {
	margin-top: 30px;
}
#index .character .mini .boxmini img {
	width: 180px;
}
#index .character .mini .boxmini .info {
	padding: 15px 25px 15px 0;
	line-height: 1.5;
}
#index .character .mini .boxmini .kana {
	font-size: 7px;
	letter-spacing: 0.2em;
}
#index .character .mini .boxmini .name {
	font-size: 15px;
	letter-spacing: 0.1em;
}
#index .character .mini .boxmini .text {
	font-size: 8px;
}

@media screen and (max-width: 374px) {
	#index .character {
		height: 1760px;
		overflow: hidden;
	}
	#index .character .box {
		transform: scale(0.89);
		transform-origin: 0 0
	}
	#index .character .box.box2 {
		margin-top: 0;
		position: relative;
		top: -20px;
	}
	#index .character .box.box3 {
		margin-top: 0;
		position: relative;
		top: -32px;
	}
	#index .character .mini {
		transform: scale(0.85);
		transform-origin: 0 0;
		margin-top: 0;
	position: relative;
	top: -42px;
	}
}

/* Histroy *********************************/
#index .history {
	position: relative;
	padding: 180px 0 245px 0;
	background: url(../images/bg_history1_sp.png) no-repeat center top, url(../images/bg_history2_sp.png) no-repeat center bottom;
	background-size: 700px auto;
	margin-top: -60px;
	z-index: 300;
}
#index .history > .inner {
	position: relative;
	padding: 10px 0;
	background: #f3f2ed;
}
#index .history .box {
	width: 345px;
	margin: 15px auto 0 auto;
	transition: opacity 1s ease;
	opacity: 0;
}
#index .history .box.active {
	opacity: 1;
}
#index .history .box.kano {
	margin-top: -50px;
}
#index .history .box.tabata {
	margin-bottom: -125px;
}
#index .history .box > .inner {
	position: relative;
	height: 240px;
	background-position: -33px top;
	background-size: auto 211px;
	padding-top: 20px;
	overflow: hidden;
}
#index .history .box.kishi > .inner {
	background-image: url(../images/bg_kishi.jpg);
	background-position: -20px top;
}
#index .history .box.tabata > .inner {
	background-image: url(../images/bg_tabata.jpg);
	background-position: -14px top;
}
#index .history .box h2 {
	text-align: right;
	margin-top: 78px;
}
#index .history .box h2 span {
	display: inline-block;
	font-size: 30px;
	line-height: 1.2em;
	font-weight: bold;
	background: #f5e804;
	margin-bottom: 10px;
	letter-spacing: 0.1em;
	padding-left: 10px;
}
#index .history .box .bt_more {
	position: absolute;
	display: block;
	line-height: 50px;
	background: #069335;
	bottom: 0;
	right: 0;
	font-size: 12px;
	font-weight: bold;
	color: #ffff;
	width: 100%;
	padding: 0 0 0 15px;
	border-right: 50px solid #2aa452;
	transition: all 0.3s ease;
	box-sizing: border-box;
}
#index .history .box .bt_more:hover {
	opacity: 1;
	background: #069335;
	width: 100%;
}
#index .history .box .bt_more::before {
	display: block;
	position: absolute;
	content: "";
	width: 12px;
	height: 12px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: scale(1,1.05) rotate(135deg);
	right: -32px;
	top: 16px;
}
#index .history .box .bt_more.open::before {
	transform: scale(1,1.05) rotate(-45deg);
	top: 23px;
}

#index .history .box .bt_more::after {
	display: none;
}
#index .history .box .bt_more:hover::after {
	background: #29a352;
}
#index .history .box .detail {
	display: none;
	background: #29a352;
	padding: 22px;
	color: #fff;
	font-size: 11px;
	line-height: 2em;
}
#index .history .box .detail dl {
}
#index .history .box .detail dl dt {
	float: none;
	width: auto;
}
#index .history .box .detail dl dd {
	margin-left: 0;
}
@media screen and (max-width: 374px) {
	#index .history {
		margin-top: -130px;
	}
	#index .history .box {
		width: 300px;
	}
	#index .history .box > .inner {
		height: 220px;
		background-position: -40px top;
		background-size: auto 191px;
	}
	#index .history .box.kishi > .inner {
		background-position: -30px top;
	}
	#index .history .box.tabata > .inner {
		background-position: -24px top;
	}
	#index .history .box h2 {
		margin-top: 68px;
	}
	#index .history .box h2 span {
		font-size: 27px;
	}
}

/* Yukari *********************************/
#index .yukari {
	position: relative;
	padding: 10px 0 0 0;
	z-index: 200;
	margin-top: -69px;
	z-index: 400;
}
#index .yukari > .inner {
	position: relative;
	width: auto;
	margin: 0 auto;
	padding: 10px 0 0 0;
}
#index .yukari h2 {
	position: relative;
	width: 266px;
	left: 7px;
}
#index .yukari h2::before,
#index .yukari h2::after {
	position: absolute;
	display: block;
	content: "";
	width: 280px;
	height: 0;
	background: #f5e804;
	z-index: -1;
	bottom: 51px;
	left: -7px;
	transition: height 1s ease;
}
#index .yukari h2.active::before,
#index .yukari h2.active::after {
	height: 42px;
}
#index .yukari h2::after {
	bottom: -4px;
	width: 205px;
}
#index .yukari .box {
	margin-top: 30px;
	background: #f3f2ee;
	transition: opacity 1s ease;
	opacity: 0;
	width: 345px;
	margin: 25px auto 0 auto;
}
#index .yukari .box.active {
	opacity: 1;
}
#index .yukari .box:nth-child(2) {
	margin-top: 35px;
}
#index .yukari .box img {
	float: none;
	width: auto;
}
#index .yukari .box .info {
	padding: 30px 25px 22px 25px;
	margin-left: 0;
}
#index .yukari .box .info .name {
	font-size: 15px;
	font-weight: bold;
}
#index .yukari .box .info .text {
	font-size: 12px;
	margin-top: 6px;
	line-height: 1.8em;
	letter-spacing: 0;
}
#index .yukari .box .info .tips {
	font-size: 12px;
	margin-top: 14px;
	line-height: 1.8em;
	background: #fff;
	padding: 8px 10px;
	width: 102%;
	left: -13px;
	position: relative;
	letter-spacing: 0;
	margin-bottom: -9px;
}
@media screen and (max-width: 374px) {
	#index .yukari .box {
		width: 300px;
	}
	#index .yukari .box .info {
		padding: 18px 18px 20px 18px;
		margin-left: 0;
	}
	#index .yukari .box .info .tips {
		width: 100%;
		left: -10px;
	}
}


/* Twitter *********************************/
#index .twitter {
	position: relative;
	background: url(../images/bg_twitter_sp.png) no-repeat center top;
	background-size: 700px auto;
	padding: 100px 0 0 0;
	margin-top: -43px;
	z-index: 300;
}
#index .twitter > .inner {
	position: relative;
	width: 315px;
	margin: 0 auto;
	padding: 25px 0 56px 0;
}
#index .twitter h2 {
	float: none;
	margin-top: 0px;
	line-height: 1em;
}
#index .twitter h2 > span {
	display: inline-block;
	font-size: 12px;
	line-height: 1.2em;
	font-weight: bold;
	background: #000;
	color: #f5e804;
	margin-bottom: 6px;
	letter-spacing: 0.05em;
	padding: 2px 3px 2px 4px;
}
#index .twitter h2 > span.big1 {
	font-size: 18px;
	padding: 3px 5px 2px 8px;
}
#index .twitter h2 > span.big2 {
	font-size: 34px;
	padding: 0 5px 0 8px;
}
#index .twitter h2 > span.big2 span {
	display: inline-block;
	font-weight: bold;
	margin-right: 5px;
}
#index .twitter .timeline {
	float: none;
	background: #fff;
	border: 1px solid #e3e8ec;
	width: 313px;
	transition: opacity 1s ease;
	opacity: 0;
	margin-top: 10px;
}
#index .twitter .timeline.active {
	opacity: 1;
}
#index .twitter .timeline .iframe {
	display: block;
}
@media screen and (max-width: 374px) {
	#index .twitter > .inner {
		position: relative;
		width: 300px;
		margin: 0 auto;
		padding: 25px 0 56px 0;
	}
	#index .twitter .timeline {
		transform: scale(0.957);
		transform-origin: 0 0;
	}
}

}
