@charset "utf-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, button {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

/*デフォルトフォントの指定*/
body,td,th {
	color: #666;
	font-size: 16px; 
	font-family: Arial,"Noto Sans JP","ヒラギノ丸ゴ Pro W4","Hiragino Maru Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	line-height: 1.6;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: normal;
}
ul,ol {
	list-style-type:none;
}
img {
	padding: 4px;
	border: none;
	vertical-align:bottom;
	max-width: 100%;
	height: auto;
}

/*clearfix2014*/
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

/*box-sizing*/
* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}

/*ここまで初期設定*/

/*----------------------------------------------------------------------------------*/
/*汎用クラス*/
/*----------------------------------------------------------------------------------*/
/*
#e84f50 濃い赤
#f19596 薄い赤
#edc21a 濃いオレンジ
#f4da76 薄いオレンジ
#7f7f80 グレー
*/

article h2 {
	margin: 48px -16px;
	padding: 16px 32px;
	border-top: solid 2px #e84f50;
	border-bottom: solid 2px #e84f50;
	color: #edc21a;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
}

article h3 {
	margin: 20px 0;
	border-bottom: solid 2px #e84f50;
	font-size: 20px;
	font-weight: 500;
}
article h4 {
	margin: 18px 0 8px;
	font-size: 18px;
	font-weight: 500;
}
article h5 {
	margin: 16px 0 0;
	font-size: 16px;
	font-weight: 500;
}
article h6 {
	margin: 16px 0 0;
	font-size: 16px;
	font-weight: 500;
}
article a {
	color: #06c;
	text-decoration: none;
}
article a:hover {
	color: #147;
}
article p {
	margin-bottom: .5em;
	text-align: justify;
	text-justify: inter-ideograph;
}
article table p {
	margin-bottom: 0;
}
article table,
article ul,
article dl {
	margin-bottom: .5em;
}
article table tr,
article table td,
article ul li,
article dl dt,
article dl dd {
	line-height: 1.4;
}
.one-half {
	width: 100%;
	margin: 0 auto;
}
.one-half:after {
  content: "";
  clear: both;
  display: block;
}
.one-half > div {
	width: 50%;
	padding: 0 8px;
	text-align: left;
	float: left;
}
.one-half > div p {
	text-align: justify;
	text-justify: inter-ideograph;
}
@media screen and (max-width:640px){
	.one-half > div {
		width: 100%;
		float: none;
		padding: 0;
	}
}

.small {
	font-size: 80%;
}
.italic {
	font-size: 90%;
	font-style: italic;
}
.button a {
	width: 100%;
	max-width: 480px;
	margin: 16px auto;
	padding: 16px;
	display: block;
	background: #fff;
	border: solid 4px #edc21a;
	border-radius: 8px;
	color: #666;
	text-align: center;
}
.button a:hover {
	background: #f4da76;
	color: #fff;
}
.buttonCloud a {
	width: 100%;
	max-width: 480px;
	margin: 16px auto;
	padding: 16px;
	display: block;
	background: #e84f50;
	border: solid 4px #e84f50;
	border-radius: 8px;
	color: #fff;
	text-align: center;
}
.buttonCloud a:hover {
	background: #f19596;
	color: #fff;
}
.buttonRed a {
	width: 100%;
	max-width: 480px;
	margin: 16px auto;
	padding: 16px;
	display: block;
	background: #fff;
	border: solid 4px #e84f50;
	border-radius: 8px;
	color: #666;
	text-align: center;
}
.buttonRed a:hover {
	background: #f19596;
	color: #fff;
}
.buttonCloud a {
	width: 100%;
	max-width: 480px;
	margin: 16px auto;
	padding: 16px;
	display: block;
	background: #e84f50;
	border-radius: 8px;
	color: #fff;
	text-align: center;
}

#toTop {
	display: block;
	position: fixed;
	right: 16px;
	bottom: 64px;
	z-index: 999;
}
#toTop i {
	font-size: 48px;
	color: #e84f50;
	text-shadow: 2px 2px 0px #fff,
	2px -2px 0px #fff,
	-2px 2px 0px #fff,
	-2px -2px 0px #fff;
}
.fa-facebook {
  color: #4167b1;
}
.fa-youtube {
  color: #ff0000;
}
.fa-instagram {
  background: #833ab4;
  background: linear-gradient(
	to right,
	#833ab4,#fd1d1d,#fcb045
  );
  -webkit-background-clip:text;
  -webkit-text-fill-color: transparent;
}
.fa-tiktok {
	color: #000;
	text-shadow: 1px 1px 0px #ff0050,-1px -1px 0px #00f2ea;
}
.privacy {
	display: block;
	text-align: right;
	color: #666;
	font-size: 12px;
}
/*----------------------------------------------------------------------------------*/
/*ここから各ページ共通の基本*/
/*----------------------------------------------------------------------------------*/
/*
#e84f50 濃い赤
#f19596 薄い赤
#edc21a 濃いオレンジ
#f4da76 薄いオレンジ
#7f7f80 グレー
*/

.width {
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
	padding: 16px;
	text-align: left;
}
body {
	background: #fff;
	text-align: center;
}
/*ヘッダー*/
header {
	width: 100%;
	padding: 0;
	background: #fff;
	position: fixed;
	z-index: 100;
	box-shadow: 4px 0 4px rgba(0,0,0,0.5);
}
header > div {
	position: relative;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding: 4px 16px;
	text-align: left;
}
header h1 {
	display: inline-block;
}
header h1 a img {
	height: 40px;
}
header #menu {
	position: absolute;
	text-align: right;
	top: 4px;
	right: 16px;
}
header #menu button {
	display: none;
}
header #menu nav {
	display: inline-block;
}
header #menu nav li {
	display: inline-block;
	padding: 2px 8px;
}
header #menu nav a {
	display: block;
	color: #edc21a;
	text-align: center;
	text-decoration: none;
}
header #menu nav a:hover {
	color: #f4da76;
}
header #menu nav a.on {
	color: #e84f50;
}
header #menu nav a.on:hover {
	color: #f19596;
}
header #menu nav a span {
	display: block;
	font-size: 16px;
}
header #menu nav a i ~ span,
header #menu nav a img ~ span {
	font-size: 8px;
}
header #menu nav a i {
	display: block;
	font-size: 24px;
}
header #menu nav a img {
	display: block;
	margin: -6px auto;
	height: 36px;
}

	header #menu button {
		display: inline-block;
	}
	header #menu button i {
		font-size: 32px;
		line-height: 40px;
		color: #999;
	}
	header #menu button i.on {
		display: block;
	}
	header #menu button i.off {
		display: none;
	}
	header #menu nav {
		display: none;
		box-shadow: 2px 2px 2px rgba(0,0,0,0.3);
		border-radius: 4px;
		background: #fff;
		padding: 8px 32px 16px;
	}
	header #menu nav li {
		display: block;
		padding: 8px;
	}
	header #menu nav a i ~ span,
	header #menu nav a img ~ span {
		font-size: 12px;
	}

/*本文*/
video {
	width: 100%;
	max-width: 960px;
	margin-top: 48px;
}
article {
	background: #fff;
	padding: 16px 0;
}

/*フッター*/
footer {
	margin: 0px auto;
	background: #fff;
	border-top: 1px solid #e84f50;
	text-align: center;
}
footer #copyright {
	display: block;
	width: 100%;
	padding: 0 0 16px;
	font-size: 12px;
	text-align: center;
}
footer #copyright a {
	color: #333;
	text-decoration: none;
	font-weight: 600;
}



/*----------------------------------------------------------------------------------*/
/*トップページ*/
/*----------------------------------------------------------------------------------*/
/*
#e84f50 濃い赤
#f19596 薄い赤
#edc21a 濃いオレンジ
#f4da76 薄いオレンジ
#7f7f80 グレー
*/
article dl#news {
}
article dl#news dt {
	font-size: 80%;
}
article dl#news dd {
	margin-bottom: 8px;
	padding-bottom: 8px;
	padding-left: 0;
	border-bottom: dashed 1px #e84f50;
}

#topMessage {
	margin: 32px -16px;
	padding: 32px;
	background-image: url("../img/2hashira_Performer.png");
	background-color:rgba(0,0,0,0.5);
	background-blend-mode: darken;
	color: #fff;	
}
#topMessage p {
	margin: 24px 0;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
}
#topMessage p span {
	color: #edc21a;
	font-size: 24px;
	font-style: italic;
	font-weight: 600;
}
#topMessage p.center {
	margin: 32px 0;
	font-size: 24px;
	font-style: italic;
	font-weight: 600;
}
@media screen and (max-width: 639px) {
	#topMessage p {
		font-size: 16px;
	}
	#topMessage p span {
		font-size: 20px;
	}
	#topMessage p.center {
		font-size: 18px;
	}
}
p.daihyo {
	font-size: 14px;
}
P.yoshikawa {
	font-size: 32px;
	line-height: 24px;
	font-weight: 600;
}
P.yoshikawa span {
	font-size: 18px;
}
#okurimono {
	width: 100%;
	margin: 0 auto 64px;
}
#okurimono:after {
  content: "";
  clear: both;
  display: block;
}
#okurimono h3 {
margin: 0 auto 32px;
border: none;
color: #f19596;
font-size: 32px;
font-weight: 600;
text-align: center;
}
#okurimono div {
	width: 50%;
	padding: 0;
	background: #fff;
	text-align: left;
	border: solid 1px #ccc;
	box-shadow: 4px 4px 8px rgba(0,0,0,0.25);
}
#okurimono > div:nth-of-type(1) {
	float: left;
	transform: rotate(-2deg);
}
#okurimono > div:nth-of-type(2) {
	float: right;
	transform: rotate(2deg);
}
#okurimono div p {
	padding: 8px 16px;
	color: #999;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.2;
}
@media screen and (max-width:640px){
	#okurimono div p {
		font-size: 16px;
	}
}

/*
#e84f50 濃い赤
#f19596 薄い赤
#edc21a 濃いオレンジ
#f4da76 薄いオレンジ
#7f7f80 グレー
*/

#topCircle {
	position: relative;
	text-align: center;
	margin: 0 -16px 32px;
	padding-top: 156px;
}
#topCircle > h2 {
	display: block;
	position: relative;
	margin: -400px auto 16px;
	background: none;
	border: none;
	color: #f19596;
	line-height: 1.2;
	font-family: "Noto Serif JP", serif;
	font-size: 36px;
	font-weight: 600;
	text-shadow: 2px 2px 2px rgba(255,255,255,0.5);
}
#topCircle > p {
	display: block;
	position: relative;
	margin: 0 auto;
	background: none;
	border: none;
	color: #e84f50;
	line-height: 1.2;
	font-family: "Noto Serif JP", serif;
	font-size: 38px;
	font-weight: 600;
	text-align: center;
	text-shadow: 2px 2px 2px rgba(255,255,255,0.5);
}
#topCircle > div,
#topCircle > a {
	display: inline-block;
	width: 256px;
	height: 256px;
	background: #edc21a;
	border-radius: 50%;
	color: #fff;
	text-align: center;
}
#topCircle .circle {
	display: block;
	width: 512px;
	height: 512px;
	margin: 0 auto;
	background: none;
	border: solid 2px #f19596;
	border-radius: 50%;
}
#topCircle .performer {
	position: absolute;
	top: 32px;
	left: 20%;
}
#topCircle .uketoru {
	position: absolute;
	top: 32px;
	right: 20%;
}
#topCircle .ouensuru {
	position: absolute;
	top: 300px;
	left: 16px;
}
#topCircle .okuru {
	position: absolute;
	top: 300px;
	right: 16px;
}
#topCircle .sponsor {
	margin: 16px auto 16px;
}
#topCircle > div > h3,
#topCircle > a > h3 {
	margin: 32px 0 8px;
	border: none;
	font-size: 24px;
	font-weight: 900;
	color: #fff;
}
#topCircle > div > span,
#topCircle > a > span {
	display: inline-block;
	width: 80%;
	margin: 0 0 16px;
	background: #fff;
	border-radius: 4px;
	color: #edc21a;
	font-weight: 600;
}
#topCircle > div > p,
#topCircle > a > p {
	font-size: 12pt;
	text-align: center;
}
@media screen and (max-width: 959px) {
	#topCircle  h2 {
		line-height: 1.2;
		font-size: 28px;
	}
	#topCircle p {
		line-height: 1.2;
		font-size: 32px;
	}
	#topCircle > p span {
		display: block;
	}
	#topCircle > div,
	#topCircle > a {
		width: 240px;
		height: 240px;
	}
	#topCircle .performer {
		left: 15%;
	}
	#topCircle .uketoru {
		position: absolute;
		top: 32px;
		right: 15%;
	}
	#topCircle .ouensuru {
		position: absolute;
		top: 300px;
		left: 16px;
	}
	#topCircle .okuru {
		position: absolute;
		top: 300px;
		right: 16px;
	}
	#topCircle .sponsor {
		margin: 16px auto 16px;
	}
	#topCircle > div > p,
	#topCircle > a > p {
		font-size: 11pt;
	}
}
@media screen and (max-width: 639px) {
	#topCircle {
		position: static;
		padding: 16px;
		background-image: url(../img/world.jpg);
		background-color:rgba(255,255,255,0.75);
		background-blend-mode:lighten;
		background-size:  cover;
	}
	#topCircle > h2 {
		display: block;
		position: relative;
		margin: 0;
		background: none;
		border: none;
		color: #e84f50;
		line-height: 1.2;
		font-size: 36px;
		text-shadow: 2px 2px 2px rgba(255,255,255,0.5);
	}
	#topCircle > p {
		background: none;
		margin: 0;
		border: none;
		color: #fe4e4c;
		line-height: 1.2;
		font-size: 42px;
		text-align: center;
		text-shadow: 2px 2px 2px rgba(255,255,255,0.5);
	}
	#topCircle > div,
	#topCircle > a {
		display: block;
		width: 80%;
		height: auto;
		margin: 32px auto 32px 20%;
		padding: 8px;
		padding-left: 64px;
		border: solid 4px  #edc21a;
		background: #fff;
		border-radius: 24px;
		color: #edc21a;
		text-align: left;
		position: static;
	}
	#topCircle .circle {
		display: none;
	}
	#topCircle .performer {
		position: static;
	}
	#topCircle .uketoru {
		position: static;
	}
	#topCircle .ouensuru {
		position: static;
	}
	#topCircle .okuru {
		position: static;
	}
	#topCircle .sponsor {
		display: block;
		width: 80%;
		height: auto;
		margin: 32px auto 64px 20%;
		padding: 8px;
		padding-left: 64px;
	}
	#topCircle > div > h3,
	#topCircle > a > h3 {
		width: 128px;
		height: 128px;
		margin: 8px;
		margin-top: -32px;
		margin-left: -35%;
		padding-top: 28px;
		border: none;
		font-size: 18px;
		font-weight: 900;
		color: #fff;
		text-align: center;
		background: #edc21a;
		border-radius: 50%;
		position: absolute;
	}
	#topCircle > div > span,
	#topCircle > a > span {
		display: inline-block;
		width: 100%;
		margin: 8px;
		margin-left: 0;
		padding: 8px;
		padding-left: 0;
		background: none;
		border-radius: 4px;
		color: #fe4e4c;
		font-weight: 600;
	}
	#topCircle > div > p,
	#topCircle > a > p {
		font-size: 10pt;
		text-align: left;
	}
	#topCircle h3 i {
		display: block;
		font-size: 36pt;
	}
}
#SupportingPartners li {
	display: inline-block;
	width: 16%;
	text-align: center;
}
@media screen and (max-width: 639px) {
	#SupportingPartners li {
		width: 32%;
	}
}

#endroll {
	padding-top: 32px;
	text-align: center;
}
#endroll h2 {
	border: none;
	text-align: center;
}
#endroll h3 {
	border: none;
	text-align: center;
}
#endroll p {
	font-size: 14px;
	text-align: center;
}
#endroll dt,
#endroll dd {
	display: inline-block;
	width: 50%;
	padding: 0 8px;
}
#endroll dt {
	font-size: 14px;
	text-align: right;
}
#endroll dd {
	font-size: 14px;
	text-align: left;
}


/*----------------------------------------------------------------------------------*/
/*VIVA Festページ*/
/*----------------------------------------------------------------------------------*/
/*
#e84f50 濃い赤
#f19596 薄い赤
#edc21a 濃いオレンジ
#f4da76 薄いオレンジ
#7f7f80 グレー
*/
#viva-performer {
	width: 100%;
	margin: 0 auto;
}
#viva-performer:after {
  content: "";
  clear: both;
  display: block;
}
#viva-performer > div {
	width: 33%;
	height: 400px;
	padding: 0 0 8px;
	text-align: left;
	float: left;
}
@media screen and (max-width:640px){
	#viva-performer > div {
		width: 49%;
	}
}
#viva-performer > div > img {
	width: 100%;
	height: 400px;
	object-fit: cover;
}
#viva-performer > div > img.right65 {
	object-position: 65% 50%;
}
#viva-performer > div > img.right90 {
	object-position: 90% 50%;
}
#viva-performer > div > p {
	display: block;
	margin: -64px 4px 0 4px;
	padding: 8px 8px 8px 16px;
	background-color: rgba(0,0,0,0.5);
	color: #fff;
	font-weight: 500;
	line-height: 1.2;
	position: relative;
}

/*----------------------------------------------------------------------------------*/
/*パフォーマーページ*/
/*----------------------------------------------------------------------------------*/
/*
#e84f50 濃い赤
#f19596 薄い赤
#edc21a 濃いオレンジ
#f4da76 薄いオレンジ
#7f7f80 グレー
*/

#kekka th {
	width: 160px;
}
#kekka th,
#kekka td {
	text-align: left;
	vertical-align: top;
}
img.photo {
	display: none;
}
@media screen and (max-width: 639px) {
	#kekka td.photo {
		display: none;
	}
	img.photo {
		display: block;
	}

}
#entry {
	display: block;
	width: 320px;
	margin: 0 auto;
	padding: 16px;
	background: #4be;
	border-radius: 8px;
	color: #fff;
	text-align: center;
	font-size: 24px;
	font-weight: 600;
	position: fixed;
	right: 0;
	left: 0;
	bottom: 32px;
	z-index: 999;
	box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}
@media screen and (max-width: 639px) {
	#entry {
		padding: 16px;
		font-size: 18px;
		right: 16px;
		bottom: 16px;
	}
}
#entryFlow {
	margin-bottom: 32px;
}
#entryFlow li {
	display: inline-block;
	margin: 2px 0;
	padding: 18px 0px 18px 48px;
	background: #4be;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	position: relative;
}
#entryFlow li:first-child {
	padding: 18px 18px 18px 36px;
}
#entryFlow li:before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	background: none;
	border: solid 29px transparent;
	position: absolute;
	top: 0;
	right: -58px;
	z-index: 2;
}
#entryFlow li:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	background: none;
	border: solid 34px transparent;
	border-left-color: #fff;
	position: absolute;
	top: -5px;
	right: -68px;
	z-index: 1;
}
#entryFlow li:nth-of-type(1) {
	background: #4be;
}
#entryFlow li:nth-of-type(1):before {
	border-left-color: #4be;
}
#entryFlow li:nth-of-type(2) {
	background: #4be;
}
#entryFlow li:nth-of-type(2):before {
	border-left-color: #4be;
}
#entryFlow li:nth-of-type(3) {
	background: #f4da76;
}
#entryFlow li:nth-of-type(3):before {
	border-left-color: #f4da76;
}
#entryFlow li:nth-of-type(4) {
	background: #edc21a;
}
#entryFlow li:nth-of-type(4):before {
	border-left-color: #edc21a;
}
#entryFlow li:nth-of-type(5) {
	background: #edc21a;
}
#entryFlow li:nth-of-type(5):before {
	border-left-color: #edc21a;
}
#entryFlow li:nth-of-type(6) {
	background: #f19596;
}
#entryFlow li:nth-of-type(6):before {
	border-left-color: #f19596;
}
#entryFlow li:nth-of-type(7) {
	background: #e84f50;
}
#entryFlow li:nth-of-type(7):before {
	border-left-color: #e84f50;
}

/*----------------------------------------------------------------------------------*/
/*GIFT2024ページ*/
/*----------------------------------------------------------------------------------*/
/*
#e84f50 濃い赤
#f19596 薄い赤
#edc21a 濃いオレンジ
#f4da76 薄いオレンジ
#7f7f80 グレー
*/
#giftlogo {
	text-align: center;
}
#giftlogo img {
	width: 49%;
}
@media screen and (max-width: 639px) {
	#giftlogo img {
		width: 100%;
	}
}

#giftlogo p {
	text-align: center;
	font-size: 24px;
}
.waku {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin: 0;
	border: 1px solid #edc21a;
	border-bottom: none;
}
.waku dt {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #f4da76;
	padding: 4px 8px;
	width: 180px;
	border-right: 1px solid #edc21a;
	border-bottom: 1px solid #edc21a;
	text-align: center;
}
.waku dd {
	background: #fff;
	padding: 8px;
	width: calc(100% - 180px);
	border-bottom: 1px solid #edc21a;
}
.waku dd img {
	width: 20%;
	margin: -8px 8px;
	z-index: -100;
}
@media screen and (max-width: 639px) {
	.waku dd img {
		width: 42%;
	}
}
.performer {
	margin-top: -16px;
	margin-bottom: 32px;
}
.performer div {
	display: inline-block;
	width: 49%;
	margin-bottom: 16px;
	vertical-align: top;
}
.performer div:after {
  content: "";
  clear: both;
  display: block;
}
.performer div h4 {
	position: relative;
	margin: 8px 4px;
	padding-left: 8px;
	color: #fff;
	font-size: 24px;
	font-weight: 600;
	text-shadow: 
	-2px -2px 0px #edc21a,
	0px -2px 0px #edc21a,
	2px -2px 0px #edc21a,
	-2px 0px 0px #edc21a,
	0px 0px 0px #edc21a,
	2px 0px 0px #edc21a,
	-2px 2px 0px #edc21a,
	0px 2px 0px #edc21a,
	2px 2px 0px #edc21a
	;
	z-index: 99;
}
.performer div h4:before {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 20px;
	background-color: #edc21a;
	content: "";
	z-index: -1;
}
.performer div h4 span {
	display: block;
	position: absolute;
	bottom: 0px;
	right: 8px;
	font-size: 12px;
	text-shadow: none;
}
.performer div img {
	width: 50%;
	float: left;
}
.performer div p {
	margin: 0 8px 8px;
}
.performer div.exc {
	display: inline-block;
	width: 100%;
	margin-bottom: 16px;
	vertical-align: top;
}
.performer div.exc img {
	width: 33%;
	float: left;
}

@media screen and (max-width: 639px) {
	.performer div {
		display: block;
		width: 100%;
	}
	.performer div h4 span {
		bottom: 1px;
		font-size: 10px;
	}
}

/*----------------------------------------------------------------------------------*/
/*おくるページ*/
/*----------------------------------------------------------------------------------*/
/*
#e84f50 濃い赤
#f19596 薄い赤
#edc21a 濃いオレンジ
#f4da76 薄いオレンジ
#7f7f80 グレー
*/
#ticket th {
	white-space: nowrap;
}
#ticket i {
	display: block;
	font-size: 16px;
}
#ticket td i {
	margin-bottom: 8px;
}
#ticket td span.bold {
	font-size: 16px;
	font-weight: 600;
}
#ticket td span.nobr {
	white-space: nowrap;
}
#ticket tr td.yellow {
	background: #edc21a;
	color: #fff;
	font-size: 14px;
}
#ticket tr td.yellow2 {
	background: #f1d059;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}
#ticket tr.yellow:nth-child(odd) {
	background: #fdf8e7;
}
#ticket tr.yellow:nth-child(even) {
	background: #fbf1cf;
}
#ticket tr td.red {
	background: #e84f50;
	color: #fff;
	font-size: 14px;
}
#ticket tr td.red2 {
	background: #f19596;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
}
#ticket tr.red:nth-child(odd) {
	background: #f9d6e7;
}
#ticket tr.red:nth-child(even) {
	background: #fceded;
}
#ticket th {
	background: #edc21a;
	border: solid #fff 2px;
	color: #fff;
	font-size: 10px;
}
#ticket td {
	border: solid #fff 2px;
	font-size: 12px;
	vertical-align: middle;
}
#ticket td:empty{
	background: #eee;
}

@media screen and (max-width: 959px) {
	#ticket td {
		font-size: 12px;
	}
}
@media screen and (max-width: 639px) {
	#ticket td {
		font-size: 9px;
	}
	#ticket td span.bold {
		font-size: 12px;
		font-weight: 600;
	}
	#ticket td span.nobr {
		display: block;
	}
	#ticket tr td.yellow,
	#ticket tr td.yellow2,
	#ticket tr td.red,
	#ticket tr td.red2 {
		font-size: 12px;
	}
	#ticket tr td i {
		font-size: 14px;
	}
}

#boarder .profile {
	display: flex;
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: solid #e84f50 1px;
}
#boarder .profile:last-of-type {
	border-bottom: none;
}
#boarder .photo {
	width: 38.2%;
}
#boarder .data {
	width: 61.8%;
	padding-left: 16px;
	font-size: 14px;
}
#boarder .data h4 {
	font-size: 14px;
}
#boarder img {
	width: 100%;
	margin: 0;
	padding: 0;
}
#boarder h3 {
	width: 100%;
	padding: 8px 16px;
	background-color: rgba(256,256,256,0.5);
	border: none;
	border-left: solid #edc21a 8px;
	color: #666;
	font-size: 32px;
}
#boarder h3 span {
	display: block;
	color: #7f7f80;
	font-size: 12px;
}
#boarder dl dt {
	font-weight: 400;
	float: left;
}
#boarder dl dt::after{
	content: "｜"
}
#boarder dl dt {
	float: left;
}
@media screen and (max-width: 639px) {
	#boarder .profile {
		display: block;
		position: relative;
	}
	#boarder .photo {
		width: 100%;
		padding-top: 128px;
		padding-bottom: 16px;
	}
	#boarder .data {
		width: 100%;
		padding-left: 0;
	}
	#boarder h3 {
		position: absolute;
		top: 0;
		left: 0;	
	}
}


#boarderMember:after {
  content: "";
  clear: both;
  display: block;
}
#boarderMember > div {
	width: 25%;
	padding: 8px;
	float: left;
	font-size: 12px;
}
@media screen and (max-width: 639px) {
	#boarderMember > div {
		width: 50%;
	}
}

#boarderMember div img {
	width: 100%;
	border-radius: 50%;
}
#boarderMember div h3 {
	margin-bottom: 0;
	text-align: center;
}
#boarderMember div span {
	display: block;
	margin-bottom: 32px;
	font-size: 12px;
	text-align: center;
}
#boarderMember div h4 {
	font-size: 12px;
}
#boarderMember div dl dt {
	font-weight: 400;
	float: left;
}
#boarderMember div dl dt::after{
	content: "｜"
}
#boarderMember div dl dt {
	float: left;
}



/*----------------------------------------------------------------------------------*/
/*メッセージページ*/
/*----------------------------------------------------------------------------------*/
/*
#e84f50 濃い赤
#f19596 薄い赤
#edc21a 濃いオレンジ
#f4da76 薄いオレンジ
#7f7f80 グレー
*/
#line {
	margin: 0;
	padding: 16px 0;
	background: #769ece;
}
#line li {
	display: inline-block;
	margin: 16px 32px;
	padding: 16px;
	border-radius: 16px;
	color: #333;
}
#line li p {
	text-align: justify;
	text-justify: inter-ideograph;
}
#line li:nth-child(odd) {
	margin-right: 64px;
	background: #fff;
	position: relative;
	float: left;
}
#line li:nth-child(odd):before {
	content: '';
	position: absolute;
	border: solid transparent 4px;
	border-right: solid #fff 16px;
	top: -0px;
	left: -12px;
	transform: rotate(25deg);
}
#line li:nth-child(even) {
	margin-left: 64px;
	background: #30e852;
	position: relative;
	float: right;
}
#line li:nth-child(even):before {
	content: '';
	width: 0;
	height: 0;
	position: absolute;
	border: solid transparent 4px;
	border-left: solid #30e852 16px;
	top: -0px;
	right: -12px;
	transform: rotate(-25deg);
}

/*----------------------------------------------------------------------------------*/
/*font-awesome */
/*----------------------------------------------------------------------------------*/
.pdf {color: #f00;}

/*----------------------------------------------------------------------------------*/
/*テーブル */
/*----------------------------------------------------------------------------------*/

table {
    border-collapse:collapse;
    border-spacing:0;
}
table th {
	width: 256px;
	padding: 0.5em;
	text-align: center;
	vertical-align: middle;
}
table td {
	padding: 0.5em;
	text-align: center;
	vertical-align: middle;
}
@media screen and (max-width: 639px) {
	table th {
		width: 128px;
	}
}
/*----------------------------------------------------------------------------------*/
/* リストスタイル
/*----------------------------------------------------------------------------------*/

/* 黒丸 */
.disc {
	list-style: disc outside;
	margin-bottom: 1em;
	margin-left: 1.5em;
}

/* 白丸 */
.circle {
	list-style: circle outside;
	margin-bottom: 1em;
	margin-left: 1.5em;
}

/* ◆ */
.dia {
	margin-left: 2em;
}
.dia > li {
	position: relative;
}
.dia > li:before {
	text-align:center;
}
.dia > li:before {
	position:absolute;
	left:-1.5em;
	width:1.5em;
	content: '◆';
}

/* ※ */
.kome {
	counter-reset: li;
	margin-left: 1.5em;
}
.kome > li {
	position: relative;
}
.kome > li:before {
	text-align:center;
}
.kome > li:before {
	position:absolute;
	left:-1.5em;
	width:1.5em;
	content: '※';
}

/* 1. 2. 3. */
.dot {
	counter-reset: li;
	margin-left: 2em;
}
.dot > li {
	position: relative;
}
.dot > li:before {
	text-align:center;
}
.dot > li:before {
	position:absolute;
	left:-2.5em;
	width:2.5em;
	content: counter(li)'.';
	counter-increment: li;
}

/* (1) (2) (3) */
.kakko {
	counter-reset: li;
	margin-left: 2em;
}
.kakko > li {
	position: relative;
}
.kakko > li:before {
	text-align:center;
}
.kakko > li:before {
	position:absolute;
	left:-2.5em;
	width:2.5em;
	content: '（'counter(li)'）';
	counter-increment: li;
}

/* 1) 2) 3) */
.kata_kakko {
	counter-reset: li;
	margin-left: 2em;
}
.kata_kakko > li {
	position: relative;
}
.kata_kakko > li:before {
	text-align:center;
}
.kata_kakko > li:before {
	position:absolute;
	left:-2em;
	width:2.5em;
	content: counter(li)'）';
	counter-increment: li;
}

.YouTube {
	display: inline-block;
	position: relative;
	width: 100%;
	padding-top: 56.25%;
} 
.YouTube iframe {
	width: 100% !important;
	height: 100% !important;
	border: none;
	position: absolute;
	top: 0;
	right: 0;
}
.upmargen {
	margin-top: 16px;
}
.comingsoon {
	text-align: center;
}
.comingsoon img {
	margin: 160px auto;
}
