@charset "utf-8";

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

	STU 48
	addition.css(追加要素)

=================================== */
/* 開発用ツールバー非表示 */
.sf-toolbar {display: none!important;}


/* utility
------------------------------------------------*/
.center {text-align: center!important;}
.ph {position: relative; line-height: 0;}
.ph .dummy {
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	left: 0;
	top: 0;
}

/* footer
------------------------------------------------*/
.footerS {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    z-index: 1;
}
#pageTop a {
	display: block;
	width: 5.5rem;
	height: 5.5rem;
	background: rgba(25, 36, 124, 0.3);
	border-radius: 50px;
	text-align: center;
	padding: 10px;
	transition: all .3s ease;
	-moz-transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
.bnr .bnr48 {text-align: left;}
#headerInner .socialMenu li,
.socialMenu li{display: inline-block;width: auto;border: none;}
#footerArea .fNavCopy {
    color: #5666e8;
    font-size: 1.1rem;
}
#footerArea .socialMenu {
    background: #19247c;
    text-align: center;
    padding: 30px 0 0;
}
.socialMenu a{
	color: #969ede;
	font-size: 24px;
	display: inline-block;
	padding: 0 15px;
}
.socialMenu li.menuMm a,
#headerInner .socialMenu li.menuMm a{
    font-size: 19px;
    position: relative;
    top: -2px;
}

/* cmn
------------------------------------------------*/
#wrap {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
.btn {text-align: center;}
.btnBack a {border-color: #81c4f8;border-radius: 100px;}
#next .loading {
  margin: 30px auto;
  position: relative;
  text-align: center;
}
#next .loading:after {
	content: '';
    width: 50px;
    height: 50px;
    background: url(/static/stu48/official/common/ico_loading_2.png) no-repeat center;
    background-size: 50px;
    display: inline-block;
	-webkit-animation: gear 5s linear infinite;
	-moz-animation: gear 5s linear infinite;
	animation: gear 5s linear infinite;
}

/* info関連 */
.newsBlock .newsCateIco { background: #fff; font-weight: normal; padding: 1px 0;}
.newsCateIco {border-radius: 100px; color:#5b73d2;}

.newsCateIco.cate2{ color:#111d67; }/*お知らせ*/
.newsCateIco.cate3{ color:#2a8fdd; }/*劇場*/
.newsCateIco.cate4,
.newsCateIco.cate13{ color:#5261b9; }/*握手会*/
.newsCateIco.cate5,
.newsCateIco.cate16{ color:#efbb1e; }/*イベント*/
.newsCateIco.cate6{ color:#55bf43; }/*youtube*/
.newsCateIco.cate7{ color:#f35bb5; }/*グッズ*/
.newsCateIco.cate8,
.newsCateIco.cate18{color:#ff7f32; }/*メディア*/
.newsCateIco.cate9,
.newsCateIco.cate15{ color:#009688; }/*リリース*/
.newsCateIco.cate10,
.newsCateIco.cate20{ color:#f376af; }/*その他*/
.newsCateIco.cate12{ color:#de7373; }/*誕生日*/
.newsCateIco.cate14{ color:#38a7b9; }/*公演*/
.newsCateIco.cate17{ color:#ad5eb5; }/*コンサート*/
.newsCateIco.cate19{ color:#3599d6; }/*メンバー*/
.newsBlock .newsCateIco.cate21 { border-color: #F8768D; color: #F8768D;} /*	Charming Trip */
.newsBlock .newsCateIco.cate22 { border-color: #B889D1; color: #B889D1;} /*	STUDIO */
.newsBlock .newsCateIco.cate23 { border-color: #81B1D6; color: #81B1D6;} /*	せとまいく */
.newsBlock .newsCateIco.cate24 { border-color: #d8e20f; color: #d2db12;} /*	瀬戸7 */
.newsBlock .newsCateIco.cate25 { border-color: #83D2C4; color: #83D2C4;} /*	勝手に！四国観光大使 */


#newsDetail .eventDate {font-size: 15px;}
#newsDetail .newsDate{vertical-align: -2px;}
.newsBlock li .thumb img {background-image: url(/static/stu48/official/common/thumb_noimg.png);}
.newsBlock .newsCateIco, .newsBlock .newsDate {font-size: 11px;}
#newsDetail .newsBlock a{
	text-decoration: underline;
	color: #167ccc;
	word-break: break-word;
}

.eventListDate {
    float: left;
    margin: 0 10px 0 0;
    width: 95px;
}
.eventListDate dt {
    font-size: 30px;
    font-weight: 400;
    display: block;
    margin: 0 0 5px;
}
.eventListDate dd {
    font-size: 14px;
}
.noInfo {color: #878787; text-align: center;}
#newsList .archive {
}
#newsList .archive a{
    font-size: 1.2rem;
    line-height: 3.6rem;
    text-decoration: none;
}
#newsList .archive a:after{
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1px solid rgba(2, 64, 149, 0.50);
    border-top: 1px solid rgba(2, 64, 149, 0.50);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-left: 4px;
    position: relative;
    top: -1px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
#newsList .archive a:hover:after{border-color:#ee4757;}


/* トップ
------------------------------------------------*/
/* loading */
#topLoading {display: none;}
#index #topLoading {
    display: block;
    text-align: center;
    background: #fff;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
#index #loadInner {
width: 100px;
height: 100px;
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
#index #loadInner:after {
	content: '';
    width: 100px;
    height: 100px;
    background: url(/static/stu48/official/top/ico_toploading_2.png) no-repeat center;
    background-size: 100px;
	-webkit-animation: gear 5s linear infinite;
	animation: gear 5s linear infinite;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.5;
}
.schedule .text .eventDate {
    font-size: 13px;
    margin: 0 0 6px;
}
.slider li a {line-height: 0;}
.slider li img{
    border: 4px solid #fff;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
.slick-prev,
.slick-next {
    display: block;
    width: 60px;
    height: 60px;
    background: transparent;
    color: transparent;
    font-size: 0;
    line-height: 0;
    padding: 0;
    position: absolute;
    z-index: 99;
    cursor: pointer;
    border: none;
    outline: none;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: rgba(255,255,255,0.8);
    border-radius: 100%;
    -moz-transition: all .4s ease;
	-webkit-transition: all .4s ease;
}
.slick-next {right: -60px;}
.slick-prev { left:-60px; }
.slider:hover .slick-prev {left: 15px;}
.slider:hover .slick-next { right: 15px;}
.slick-prev::after, .slick-next::after {
    content: '';
    display: block;
    width: 15px;
    height: 15px;
    border-right: 2px solid #669fd1;
    border-top: 2px solid #669fd1;
    transition: all .2s ease;
    -moz-transition: all .2s ease;
    -webkit-transition: all .2s ease;
    margin-top: -9px;
    position: absolute;
}
.slick-prev::after {right: 17px;-webkit-transform: rotate(-135deg);transform: rotate(-135deg);}
.slick-next::after { left: 17px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.slick-prev:hover:after,
.slick-next:hover:after {
	border-color:#ee4757;
}
.slider {background: none;}
.sliderWrap.one .slider li{
	margin: 0 auto;
}
#index .slick-dots li button:before {
    top: 6px;
    left: 6px;
    width: 8px;
    height: 8px;
    content: '';
    text-align: center;
    background: #fff;
    border-radius: 8px;
}
#index .slick-dots li.slick-active button:before {background: #ee4757;}
#index .slick-list {z-index: 10;}

#index .slider:before,
#index .slider:after {
    content: '';
    width: 100%;
    height: 18px;
    background: url(/static/stu48/official/common/chain_single.png) repeat-x 0 0 ;
    background-size: 26px auto;
    position: absolute;
    left: 0;
}
#index .slider:before {top: 29%;margin-top: -9px;}
#index .slider:after {top: 76%;margin-top: -9px;}

#index .slider.change:before {
	-webkit-animation: chain01 1s linear;
	-moz-animation: chain01 1s linear;
	animation: chain01 1s linear;
}
#index .slider.change:after {
	-webkit-animation: chain02 1s linear;
	-moz-animation: chain02 1s linear;
	animation: chain02 1s linear;
}
#index .slider.changeAfter:before {
	-webkit-animation: after01 0.4s linear;
	-moz-animation: after01 0.4s linear;
	animation: after01 0.4s linear;
}
#index .slider.changeAfter:after {
	-webkit-animation: after02 0.4s linear;
	-moz-animation: after02 0.4s linear;
	animation: after02 0.4s linear;
}
@-webkit-keyframes chain01 {
	0%{background-position:0 0;}
	100%{background-position:-104px 0;}
}
@-moz-keyframes chain01 {
	0%{background-position:0 0;}
	100%{background-position:-104px 0;}
}
@keyframes chain01 {
	0%{background-position:0 0;}
	100%{background-position:-104px 0;}
}
@-webkit-keyframes chain02 {
	0%{background-position:0 0;}
	100%{background-position:104px 0;}
}
@-moz-keyframes chain02 {
	0%{background-position:0 0;}
	100%{background-position:104px 0;}
}
@keyframes chain02 {
	0%{background-position:0 0;}
	100%{background-position:104px 0;}
}
@-webkit-keyframes after01 {
	0%{background-position:0 0;}
	100%{background-position:-26px 0;}
}
@-moz-keyframes after01 {
	0%{background-position:0 0;}
	100%{background-position:-26px 0;}
}
@keyframes after01 {
	0%{background-position:0 0;}
	100%{background-position:-26px 0;}
}
@-webkit-keyframes after02 {
	0%{background-position:0 0;}
	100%{background-position:26px 0;}
}
@-moz-keyframes after02 {
	0%{background-position:0 0;}
	100%{background-position:26px 0;}
}
@keyframes after02 {
	0%{background-position:0 0;}
	100%{background-position:26px 0;}
}

#index .noInfo {text-align: left;}



/* サポート系
------------------------------------------------*/
#support .txt {margin: 0 0 30px;}
#support .supportList {margin: 0 0 30px;}
#support .supportList.decimal  {padding-left: 1.9em;}
#support .supportList.decimal li {list-style-type: decimal;}
#support .supportList li {
    line-height: 1.5em;
    margin: 0 0 14px;
}
#support .supportList dt {
    font-size: 20px;
    margin: 0 0 12px;
    line-height: 1.4em;
}
#support .supportList dd {margin: 0 0 50px;}
#support .supportList dd p{margin: 0 0 15px;}


/* FAQ
------------------------------------------------*/
#support.faq .area {margin: 0 0 50px;}
#support.faq .areaTit {
	height: 5.5rem;
    line-height: 4.5rem;
    background: url(/static/stu48/official/common/title_ico_pc.png) no-repeat 0 0.4rem;
    background-size: 3.5rem;
    padding: 0 0 0 5rem;
    font-size: 22px;
}
#support.faq .faqList{ border-bottom: 1px solid #C7E8FA;}
#support.faq .faqList dt {
    font-size: 15px;
    padding: 15px 40px 15px 38px;
    cursor: pointer;
    color: #111d67;
    border-top: 1px solid #C7E8FA;
    position: relative;
    text-indent: -1.8em;
}
#support.faq .faqList dd{
    display: none;
    padding: 15px 40px 15px 38px;
    text-indent: -1.7em;
    border-top: 1px dashed #C7E8FA;
    line-height: 1.5em;
}
#support.faq .faqList dt:before {
    content: 'Q.';
    font-family: 'Quicksand', sans-serif !important;
    margin: 0 8px 0 0;
    font-weight: 700;
    font-size: 18px;
    vertical-align: -1px;
}
#support.faq .faqList dd:before {
    content: 'A.';
    font-family: 'Quicksand', sans-serif !important;
    margin: 0 8px 0 0;
    font-weight: 700;
    font-size: 18px;
    vertical-align: -1px;
}
#support.faq .faqList dt:after {
    content: "\f067";
    font: normal normal normal 14px/1 FontAwesome;
    font-size: 18px;
    position: absolute;
    right: 0px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
    color: #C7E8FA;
}
#support.faq .faqList dt.open:after { content: "\f068"; }


/* プロフィール
------------------------------------------------*/
#profile.profilelist .pageInner{padding: 0;}
#profile .profileList {margin-left: -50px;}
#profile .profileList li {
    width: 350px;
    float: left;
    margin: 0 0 60px 50px;
    position: relative;
}
#profile .profileList.before li:nth-child(2n+1) {clear: both;}
#profile .profileList li a{
	display: block;
	color: #000;
	position: relative;
	z-index: 1;
}
#profile .profileList.before li a{pointer-events: none;}
#profile .profileList li .ph {
    position: relative;
    line-height: 0;
    margin-right: 26px;
}
#profile .profileList li.before .ph {float: left;}
#profile .profileList li .ph img{
	width: 100%;
	background-position: center;
	background-size: 100% auto;
	-webkit-background-size:  100% auto;
	-moz-background-size:  100% auto;
	border-radius: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
#profile .profileList .txtSide {font-size: 12px;line-height: 1.9em;}
#profile .profileList.before .txtSide { overflow: hidden;}
#profile .profileList .name {font-size: 18px;}
#profile .profileList .yomi {
	color: #81c4f8;
	word-wrap: break-word;
	font-family: 'Quicksand', sans-serif !important;
}
#profile .profileList.before .yomi {margin: 0 0 8px;}
#profile .profileList dt {float: left;color: #024095;}
#profile .profileList dd {padding-left: 64px;}
#profile .profileList .role {
    font-size: 11px;
    line-height: 1.5em;
    margin-top: 8px;
}
#profile .profileList.after .ph img{border: 2px solid #81c4f8;}
#profile .profileList.after li {width: 216px;}
#profile .profileList.after li:nth-child(3n+1) {clear: both;}
#profile .profileList.after .txtSide {text-align: center;}
#profile .profileList.after dl,
#profile .profileList.after .role {display: none;}
#profile .profileWrap .profileList {margin :0;}
#profile .profileWrap .ph img {
	height: 100%;
	background-repeat : no-repeat;
	background-position: top center;
	background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
}
#profile .profileWrap .name {font-size: 30px;margin: 20px 0 5px;}
#profile .profileWrap .yomi {margin: 0 0 30px;}
#profile .profileWrap dl {margin: 0 0 20px; line-height: 1.4em;}
#profile .profileWrap dd {
    padding-left: 178px;
    margin: 0 0 7px;
}
#profile .profileWrap .role {font-size: 14px;line-height: 1.8em;}

#profile .name a.sns{
  width: 27px;
  height: 27px;
  display: inline-block;
  color: #fff;
  background: #024095;
  border-radius: 30px;
  font-size: 17px;
  line-height: 1em;
  text-align: center;
  padding: 5px 0 0;
  box-sizing: border-box;
  vertical-align: top;
  margin: -3px 0 0 10px;
}
#profile .name a.sns:hover{
  background: #81c4f8;
}
#profile .name a.sns:first-of-type{
  margin: -3px 0 0 20px;
}

/* schedule
--------------------- */
#schedule #main *,
#schedule #main *::before,
#schedule #main *::after{
	box-sizing: border-box;
}

#schedule .pageInner{
	width:65%;
	position: relative;
}
#schedule.schedule-list .pageInner{
	width: 75rem;
}

#schedule .categoryList {
	margin:0 auto 40px;
    font-family: 'Quicksand', sans-serif ,'Noto Sans Japanese';
    font-size: 1.6rem;
    max-width: 635px;
}

#schedule .infoList{ overflow: hidden; }
#schedule .infoList a .tit{ color: #000; }

#schedule .infoList .date{ 
	float: left; 
	line-height: 100%; 
	margin-right: 2%;
	margin-top: 20px; 
	position: absolute;
	font-family: 'Quicksand', sans-serif;
}
#schedule .infoList .md{
	display: inline-block;
	font-weight: 100;
	font-size: 37px;
	font-size: 3.2em;
	letter-spacing: -0.03em;
	margin-bottom: 16px;
	margin-left:-2px;
}
#schedule .infoList .week{
	display: block;
	font-size: 14px;
	font-size: 1em;
	letter-spacing: 0.03em;
	text-align: center;
}

#schedule .infoList .text{ position: relative; left: 55px}
#schedule .infoList .text .entry{ position: relative; left: 0;}
#schedule .infoList li > div:not(.text){ position: relative; left: 55px;}
#schedule .infoList li a{
	padding-top: 20px;
	padding-bottom: 20px;
}

#schedule .infoList li{ 
	position: relative;
	margin-bottom: 10px;
    padding-bottom: 10px; 
	border-bottom: 1px solid #f7f7f7;
}
#schedule .infoList li:not(:last-child){ 
}
#schedule .infoList li a .text{ margin-top: -10px;}
#schedule .infoList li a [class^="cat"]{ margin-bottom: 10px; margin-right:0;}
#schedule .more{ bottom: -60px; bottom: -3vw; }


#schedule .calendarHeader,
#schedule .calendar .weekHeader,
#schedule .calendar .calendarBody{
	display: flex;
	display: webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#schedule .calendar .weekHeader div{
	font-size: 13px;
	padding-bottom: 5px;
}
#schedule .calendar .weekHeader div,
#schedule .calendar .calendarBody div > div{
	width: calc( ( 100% / 7 ) - 1px);
	text-align: center;
	border-right: 0.5px solid #000;
	border-bottom: 0.5px solid #000;
}
#schedule .calendar .calendarBody > div{
	width: 100%;
	display: flex;
	display: webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0;
}
#schedule .calendar .weekHeader div{ border: none; border-bottom: 0.5px solid #000; }
#schedule .calendar .week > div:nth-child(1){ border-left: 0.5px solid #000; }
#schedule .calendar .weekHeader div:nth-child(6),
#schedule .calendar .week > div:nth-child(6) .date{ color: #64a4f3; }
#schedule .calendar .weekHeader div:nth-child(7),
#schedule .calendar .week > div:nth-child(7) .date{ color: #f95d5d; }

#schedule .calendar .calendarBody .cell{
	min-height: 100px;
	text-align: left;
	padding: 0 5px 5px;
}
#schedule .calendar .calendarBody .cell > div{
	width: 100%;
	border: none;
}
#schedule .calendar .calendarBody .cell > div:not(:last-child){
	margin-bottom: 5px;
}
#schedule .calendar .calendarBody .cell > div a{
	display: block;
	text-align: left;
	text-decoration: none;
	font-size: 8px;
	line-height: 140%;
	word-break: break-all;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.cell a{ color: #000; }
.cell a span{
	display: inline-block;
	font-size: 8px;
	padding: 3px 4px 2px;
	line-height: 1;
	margin-bottom: 4px;
}
.cell a .cat{ color:#fff; }
.cell a .tit{
	font-size: 12px;
	line-height: 140%;
	word-break: break-all;
}
#schedule .calendar .calendarBody .cell > div a:hover{ opacity: 0.6; }

.form__checkbox label p {
	font-size: 11px;
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: 0.06em;
	display: block;
	padding: 0.5em 1em;
	position: relative;
	cursor: pointer;
	color: #aaa !important;
	border: 1px solid #aaa !important;
	border-radius: 20px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.form__checkbox li label p:hover { color: #fff; }
.form__checkbox input[type="checkbox"] {
	-webkit-appearance: none;
	width: 0;
	height: 0;
	opacity: 0;
	position: absolute;
}
.form__checkbox.form__error { color: #f33; }
.form__checkbox :checked ~ p{ background: inherit;  color: #fff !important; }
.form__checkbox :checked ~ p:hover{ opacity: 0.5; }

.calendarHeader{ 
	margin-bottom: 40px; 
	font-family: 'Quicksand', sans-serif;
}
.calendarHeader li{ width: calc( (100% / 3 ) - 0.1% ); }
.calendarHeader li a{
	display: inline-block;
	font-size: 14px;
	text-decoration: none;
	position: relative;
	top: 9px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	left:0;
}

.calendarHeader li a:hover{
	background: url(/static/stu48/official/common/hover_wave.png) no-repeat;
	-webkit-animation: wavehover 10s linear infinite;
	-moz-animation: wavehover 10s linear infinite;
	animation: wavehover 10s linear infinite;
	background-size: 134px 30px;
	background-position: bottom;
	height: 30px;
	color:#81c4f8;
}

.calendarHeader li div{ opacity: 0.3; }
.calendarHeader li:nth-child(1) a{
	right:0;
	left: inherit;
}
.calendarHeader li:nth-child(1) svg{
	transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
	right:0;
	left: inherit;
}
.calendarHeader li:nth-child(1){ text-align: left; }
.calendarHeader li:nth-child(2){ text-align: center; }
.calendarHeader li:nth-child(2) .year{ display: inlnie-block; padding-right: 5px; }
.calendarHeader li:nth-child(2) .month{ font-size: 46px; font-weight: 300; }
.calendarHeader li:nth-child(2) .month_en{ display: inlnie-block; padding-left: 5px; }
.calendarHeader li:nth-child(3){ text-align: right; }


.calendarHeader li:nth-child(1) div,
.calendarHeader li:nth-child(3) div{
	 padding-top: 10px; 
}

.form--horizontal li{ display: inline-block; margin: 0 2px 10px; }

#schedule .calendarHeader{
	border-bottom: 1px solid #ddd;
	padding-bottom: 30px;
	margin-bottom: 30px;
}


#schedule .btn{
	position: absolute;
    right: 0;
    top: 10px;
}
.btn .change{
	display: block;
	width: 38px;
	height: 38px;
	font-family: "Comfortaa";
	font-weight: 600;
	font-size: 19px;
	line-height: 100%;
	text-decoration: none;
	text-align: center;
	background: #000;
	color: #fff;
	border-radius: 33px;
	padding: 10px 0 10px;
}
.btn .change:hover{
	opacity: 0.5;
}
.btn .change i{
	display: block;
	margin-bottom: 2px;
}


#schedule.detail .infoDetail .tit{ margin-bottom: 0; }
#schedule.detail .infoDetail .date{ line-height: 100%; margin-bottom: 15px; }
#schedule.detail .infoDetail .md{ display: inline; font-weight: 100; font-size: 22px; letter-spacing: 0.1em; }
#schedule.detail .infoDetail .year{ display: inline-block; font-size: 14px; text-align: center; margin-right: 5px; }
#schedule.detail .infoDetail .new{ font-size: 14px; margin-left: 6px; }
#schedule.detail .infoDetail [class^="cat"]{ vertical-align: 3px; margin-right: 0;}


/* schedule_cmn
================================= */
#schedule .cell a{
	color:#000;
}

#schedule .cat12,.cat12 a{ color:#de7373; border-color: #de7373 !important; }/*誕生日*/
#schedule .cat13,.cat13 a{ color:#5261b9; border-color: #5261b9 !important; }/*握手会*/
#schedule .cat14,.cat14 a{ color:#38a7b9; border-color: #38a7b9 !important; }/*公演*/
#schedule .cat15,.cat15 a{ color:#009688; border-color: #009688 !important;}/*リリース*/
#schedule .cat16,.cat16 a{ color:#efbb1e; border-color: #efbb1e !important;}/*イベント*/
#schedule .cat17,.cat17 a{ color:#ad5eb5; border-color: #ad5eb5 !important; }/*コンサート*/
#schedule .cat18,.cat18 a{ color:#ff7f32; border-color: #ff7f32 !important; }/*メディア*/
#schedule .cat19,.cat19 a{ color:#38a7b9; border-color: #38a7b9 !important; }/*メンバー*/
#schedule .cat20,.cat20 a{ color:#f376af; border-color: #f376af !important;}/*その他*/
#schedule .cat21,.cat21 a{ color:#F8768D; border-color: #F8768D !important;}/*	Charming Trip */
#schedule .cat22,.cat22 a{ color:#B889D1; border-color: #B889D1 !important;}/*	STUDIO */
#schedule .cat23,.cat23 a{ color:#81B1D6; border-color: #81B1D6 !important;}/*	せとまいく */
#schedule .cat24,.cat24 a{ color:#d8e20f; border-color: #d8e20f !important;}/*	瀬戸7 */
#schedule .cat25,.cat25 a{ color:#83D2C4; border-color: #83D2C4 !important;}/*	勝手に！四国観光大使 */

/* shcedule */


/*誕生日*/
#schedule .form__checkbox :checked + .cat12,
#schedule .cell .cat12 a .cat{ background: #de7373; color: #fff !important; border-color: #de7373 !important; }

/*握手会*/
#schedule .form__checkbox :checked + .cat13,
#schedule .cell .cat13 a .cat{ background: #5261b9; color: #fff !important; border-color: #5261b9 !important; }

/*公演*/
#schedule .form__checkbox :checked + .cat14,
#schedule .cell .cat14 a .cat{ background: #38a7b9; color: #fff !important; border-color: #38a7b9 !important; }

/*リリース*/
#schedule .form__checkbox :checked + .cat15,
#schedule .cell .cat15 a .cat{ background: #009688; color: #fff !important; border-color: #009688 !important; }

/*イベント*/
#schedule .form__checkbox :checked + .cat16,
#schedule .cell .cat16 a .cat{ background: #efbb1e; color: #fff !important; border-color: #efbb1e !important; }

/*コンサート*/
#schedule .form__checkbox :checked + .cat17,
#schedule .cell .cat17 a .cat{ background:#ad5eb5; color: #fff !important; border-color:#ad5eb5 !important; }

/*メディア*/
#schedule .form__checkbox :checked + .cat18,
#schedule .cell .cat18 a .cat{ background: #ff7f32; color: #fff !important; border-color: #ff7f32 !important; }

/*メンバー*/
#schedule .form__checkbox :checked + .cat19,
#schedule .cell .cat19 a .cat{ background: #38a7b9; color: #fff !important; border-color: #38a7b9 !important; }

/*その他*/
#schedule .form__checkbox :checked + .cat20,
#schedule .cell .cat20 a .cat{ background: #f376af; color: #fff !important; border-color:#f376af !important; }

/*Charming Trip*/
#schedule .form__checkbox :checked + .cat21,
#schedule .cell .cat21 a .cat{ background: #F8768D; color: #fff !important; border-color:#F8768D !important; }

/*STUDIO*/
#schedule .form__checkbox :checked + .cat22,
#schedule .cell .cat22 a .cat{ background: #B889D1; color: #fff !important; border-color:#B889D1 !important; }

/*せとまいく*/
#schedule .form__checkbox :checked + .cat23,
#schedule .cell .cat23 a .cat{ background: #81B1D6; color: #fff !important; border-color:#81B1D6 !important; }

/*瀬戸7*/
#schedule .form__checkbox :checked + .cat24,
#schedule .cell .cat24 a .cat{ background: #d8e20f; color: #fff !important; border-color:#d8e20f !important; }

/*勝手に！四国観光大使*/
#schedule .form__checkbox :checked + .cat25,
#schedule .cell .cat25 a .cat{ background: #83D2C4; color: #fff !important; border-color:#83D2C4 !important; }


#schedule .form__checkbox label p {
    color: #aaa !important;
    border: 1px solid #aaa !important;
}

#schedule .form__checkbox li:nth-child(1) label p { color: #87C5E8; }
#schedule .form__checkbox :checked ~ p{ background: inherit;  color: #fff !important; }
#schedule .form__checkbox li:nth-child(1) :checked ~ p{ background: #87C5E8; color: #fff;border-color: #87C5E8 !important; }

.scheduleCateIco{
	text-align: center;
	display: block;
	height: 1.6rem;
	width:7rem;
	font-size: 1rem;
	line-height: 1.7rem;
	font-weight: bold;
	color: #111d67;
	border:1px solid currentColor;
	border-radius: 100px;
}

#schedule .infoList .scheduleCateIco{
    margin-bottom: 10px;
    width: auto;
    padding: 2px 10px;
}


#schedule .infoList div.entry {
	padding:8px 10px;
}

#schedule .infoList div.entry:after {
    content: '';
    display: block;
    border-radius: 10px;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 55px);
    height: 100%;
    transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    z-index: -1;
}

#schedule .infoList div.entry:hover:after {
    background: #def7f2;
    color: #000;
}


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

	PC ONLY

=================================================*/
@media screen and (min-width: 960px) {

	/* haeder / nav
	------------------------------------------------*/
	#header nav {overflow: hidden;}
	.gNav {width: auto;}
	/*.gNav li {margin: 0 1rem;}*/
	#navBtn {display: none;}
	.navOn {background: none;}
	.navOn a {
	    background: url(/static/stu48/official/common/hover_wave.png);
	    background-size: 134px auto;
	    background-position: bottom;
	    color: #81c4f8!important;
	}


	/* footer
	------------------------------------------------*/
	#bottomWave {
		background-size: 140px 71px;
		-webkit-background-size: 140px 71px;
		-moz-background-size: 140px 71px;
		height: 25px;
		-webkit-animation: wave04 500s linear infinite;
		-moz-animation: wave04 500s linear infinite;
		animation: wave04 500s linear infinite;
	}
	.footerS #footerArea .fNav {
	    background: #19247c;
	    padding: 20px 0;
	    margin-bottom: 0;
	}
	#footerArea .fNav a:hover,
	#footerArea .fNavCopy a:hover,
	#footerArea .socialMenu a:hover{
		color: #fff;
	}
	#footerArea .fNav a:hover,
	#footerArea .fNavCopy a:hover{
	    opacity: 0.8;
	}


	/* cmn
	------------------------------------------------*/
	a:hover { color: #ee4757; text-decoration: none; -webkit-transition: all .3s ease; transition: all .3s ease;  }
	#wrap {padding-bottom: 200px;}
	.container {padding-top: 94px;}
	.pageInner {
	    width: 75rem;
	    margin: 0 auto;
	    padding: 70px 0;
	}
	.titleArea .fontNoto {padding-top: 4rem;}
	.titleArea .fontQuick {padding: 0; margin: 0 0 4px;}
	.btnBack {margin: 8rem auto;}
	.btn .sub:hover,
	.btnBack a:hover {
		border: 1px solid #81c4f8;
	    background: #81c4f8;
	    color: #fff;
	}
	body.error {text-align: center;}
	#pageTop a:hover {background: rgba(25, 36, 124, 0.8);}


	/* info関連 */
	.newsBlock li {position: relative;}
	.newsBlock li a {
		position: relative;
		z-index: 1;
	}
	.newsBlock li:after{
		content:'';
	    display: block;
	    padding: 25px;
	    border-radius: 10px;
	    position: absolute;
	    top: -25px;
	    left:-25px;
	    width: 100%;
	    height: 100%;
	    transition: all .3s ease;
		-moz-transition: all .3s ease;
		-webkit-transition: all .3s ease;
		z-index: 0;
	}
	.newsBlock li:hover:after {
	    background: #def7f2;
	    color: #000;
	}
	.eventTit {font-size: 17px;}
	#newsList .newsBlock a:hover {color: #000;}
	#newsDetail .newsBlock .newsTxt {margin: 0 0 7rem;}
	#newsDetail .detailTxt .ph {
		margin: 7rem auto;
		text-align: center;
	}
	#newsDetail .detailTxt .ph img{max-width: 54rem;}
	.newsNav { max-width: 600px;}
	.newsNav li { margin-bottom: 5px;}
	.newsNav li:nth-child(9):before { display: none;}
	.newsNav li, .newsNav li a {padding: 0 0.2rem 0 0.45rem;}
	.newsBlock .text h2 {margin-bottom: 3px; font-size: 16px;}
	.newsBlock .text h2,
	.schedule .text .eventDate {line-height: 1.5em;}
	.newsBlock .newsCateIco {
		margin-bottom: 10px;
		width: auto;
		padding: 2px 10px;
	}
	#newsDetail .newsDate {font-size: 14px;}
	#newsDetail .newsBlock .newsCateIco {    vertical-align: -1px;}
	#newsDetail .newsTxt h1 {
	    font-size: 24px;
	    line-height: 1.4em;
	}
	#newsDetail .eventDate {
	    font-size: 17px;
	    margin-top: 10px;
	}
	#newsList .newsBlock {margin-bottom: 10rem;}
	#newsList .archive {
	    width: 75rem;
	    margin: -35px auto 50px;
	    text-align: right;
	}
	#newsList .archive a:after{
	    -webkit-transition: all .3s ease;
	    transition: all .3s ease;
	}
	#newsList .archive a:hover:after{border-color:#ee4757;}

	.newsBlock .newsTxt span { width: auto;}

	/* top
	------------------------------------------------*/
	/*#index #wrap {padding-bottom: 140px;} サポートなし時*/
	#index #wrap {padding-bottom: 187px;}
	.slick-dots {bottom: -35px!important;}
	.bnr .bnr48 li  {margin-bottom: 3rem;}
	.newsWrap > .news, .youtubeWrap .youtube {
	    width: 45.5rem;
	    margin: 0 9rem 0 0;
	}
	.youtube .btnMore a {
	    top: 19px;
	    background: #fff;
	    padding: 8px 14px;
	    border-radius: 100px;
	}
	.youtube, .twitter {
	    padding: 10px 0 3rem;
	}
	.bnr {padding-bottom: 40px;}
	.bnr .bnr48 li + li {margin-left: 37px;}
	.sliderWrap.one .slider li{
		width: 65%;
	}

	/* プロデューサー(プロフィール兼用)
	------------------------------------------------*/
	.profileWrap .ph {
		float: left;
	    width: 280px;
	    margin-right: 20px;
	}
	#producer .profileWrap .ph img{width: 100%;}
	.profileWrap .txtSide {overflow: hidden;}
	.profileWrap .txtSide .name {
	    font-size: 28px;
	    margin: 20px 0 30px;
	}
	.profileWrap .txtSide .name span{
		font-size: 15px;
	}
	.profileWrap .txtSide .txt {
		font-size: 13px;
		margin: 0 0 20px;
	}

	/* プロフィール
	------------------------------------------------*/
	#profile .profileList {margin-top: 60px;}
	#profile .profileList.after li img{
		transition: all .25s ease;
		-moz-transition: all .25s ease;
		-webkit-transition: all .25s ease;
	}
	#profile .profileList.after li:hover img{
		background-size:110% auto;
		-moz-background-size:110% auto;
		-webkit-background-size:110% auto;
	}
	#profile .profileList.after li:hover .name {
		transition: all .3s ease;
		-moz-transition: all .3s ease;
		-webkit-transition: all .3s ease;
	}
	#profile .profileList.after li:hover .name {color: #024095;}
	#profile .profileList.before li .ph {
	    width: 120px;
	    height: 120px;
	    float: left;
	}
	#profile .profileList.after li .ph {width: 216px;height: 216px;}
	#profile .profileList.after li {margin-bottom: 45px;}
	#profile .profileList.after .txtSide {margin: 20px 0 0;}
	#profile .profileWrap .ph {margin-right: 60px;}
	#profile .profileWrap .ph img {width: 100%;}

	/* サポート系
	------------------------------------------------*/
	body#support .pageInner {font-size: 13px;}
	#support .supportTit {
	    font-size: 20px;
	    margin: 0 0 50px;
	}
	#support .supportTable {width: 100%;}
	#support .supportTable th,
	#support .supportTable td {padding: 0 0 20px;}
	#support .supportTable th {
	    vertical-align: top;
	    text-align: left;
	    width: 120px;
	    font-size: 15px;
	}

	/* FAQ
	------------------------------------------------*/
	#support.faq .faqList dt:hover { background: #def7f2;}


	/* MAP
	------------------------------------------------*/

	/* SCHEDULE
	------------------------------------------------*/
	.calendarHeader li a{
		height: 30px;
	}
		/* schedule_list
	--------------------- */
	#schedule .infoList .date{ 
		float: left; 
		line-height: 100%; 
		text-align: center;
	}
	#schedule .infoList .md{
	}
	#schedule .infoList .week{
		display: block;
		font-size: 14px;
		font-size: 1em;
		letter-spacing: 0.05em;
		text-align: center;
	}
	#schedule .infoList li{ position: relative; }
	#schedule .infoList li:not(:last-child){}
	#schedule .infoList li a .text{ margin-top: -10px;}
	#schedule .infoList li a .arrow{margin-top: -0.8%;}
	#schedule .infoList li a [class^="cat"]{ margin-bottom: 2px; margin-right:0;}
	#schedule .more{ bottom: -60px; bottom: -3vw; }

	#schedule .infoList [class^="cat"]{
		display: inline-block;
		font-size: 10px;
		line-height: 0;
		border: 1px solid #ccc;
		padding: 10px 11px 8px;
		margin-right: 10px;
	}


	#schedule .form__checkbox li:nth-child(1) label p:hover { background: #87C5E8; color: #fff !important; border-color: #87C5E8 !important;}

	/*誕生日*/
	#schedule .form__checkbox label p.cat12:hover{ background: #de7373; color: #fff !important; border-color: #de7373 !important; }

	/*握手会*/
	#schedule .form__checkbox label p.cat13:hover{ background: #5261b9; color: #fff !important; border-color: #5261b9 !important; }

	/*公演*/
	#schedule .form__checkbox label p.cat14:hover{ background: #38a7b9; color: #fff !important; border-color: #38a7b9 !important; }

	/*リリース*/
	#schedule .form__checkbox label p.cat15:hover{ background: #009688; color: #fff !important; border-color: #009688 !important; }

	/*イベント*/
	#schedule .form__checkbox label p.cat16:hover{ background: #efbb1e; color: #fff !important; border-color: #efbb1e !important; }

	/*コンサート*/
	#schedulev.form__checkbox label p.cat17:hover{ background:#ad5eb5; color: #fff !important; border-color:#ad5eb5 !important; }

	/*メディア*/
	#schedulev.form__checkbox label p.cat18:hover{ background: #ff7f32; color: #fff !important; border-color: #ff7f32 !important; }

	/*メンバー*/
	#schedule .form__checkbox label p.cat19:hover{ background: #38a7b9; color: #fff !important; border-color: #38a7b9 !important; }

	/*その他*/
	#schedule .form__checkbox label p.cat20:hover{ background: #f376af; color: #fff !important; border-color:#f376af !important; }

	/*Charming Trip*/
	#schedule .form__checkbox label p.cat21:hover{ background: #F8768D; color: #fff !important; border-color:#F8768D !important; }

	/*STUDIO*/
	#schedule .form__checkbox label p.cat22:hover{ background: #B889D1; color: #fff !important; border-color:#B889D1 !important; }

	/*せとまいく*/
	#schedule .form__checkbox label p.cat23:hover{ background: #81B1D6; color: #fff !important; border-color:#81B1D6 !important; }

	/*瀬戸7*/
	#schedule .form__checkbox label p.cat24:hover{ background: #d8e20f; color: #fff !important; border-color:#d8e20f !important; }

	/*勝手に！四国観光大使*/
	#schedule .form__checkbox label p.cat25:hover{ background: #83D2C4; color: #fff !important; border-color:#83D2C4 !important; }

}

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

	SP ONLY

=================================================*/
@media screen and (max-width: 960px) {

	/* header / nav
	------------------------------------------------*/
	#gNav {margin: 0 0 30px;}
	.index #navBtn {top: 8px;}
	.socialMenu li{
	    border: none;
	    display: inline-block;
	    width: auto;
	    font-size: 28px;
	}
	.socialMenu li a,
	#headerInner .socialMenu li a  {
		padding: 0 10px;
		font-size: 22px;
	}
	#navBtn span {
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}
	.menuOpen #navBtn .top,
	.menuOpen #navBtn .bottom{
		transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
	}
	.menuOpen #navBtn .top{
		top: 20px;
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
	}
	.menuOpen #navBtn .bottom{
		top: 20px;
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}
	.menuOpen #navBtn .middle{ opacity:0; }
	#gNavWrap {opacity: 1; padding: 0; z-index: 20;}
	#headerInner {
	    -webkit-overflow-scrolling: touch;
	    padding: 40px 6.5% 0;
	    box-sizing: border-box;
	    -webkit-box-sizing: border-box;
	}
	#headerInner nav {
		-webkit-transition: all 1s ease;
		transition: all 1s ease;
	}
	.menuOpen #headerInner nav {opacity: 1;}
	#headerInner nav li.gNavOff,
	#headerInner nav li.gNavOff span {color: rgba(255,255,255,0.4);}
	.headerFix #scrollHeader h1{
	    width: 48px;
	    height: 67px;
	    -webkit-transition: all .3s ease;
	    transition: all .3s ease;
	}
	.headerFix #navBtn {
	    top: 2px;
	    right: 5px;
	    -webkit-transition: all .3s ease;
	    transition: all .3s ease;
	}
	#headerInner nav li a, #headerInner nav li.gNavOff {
		font-size: 16px;
	}


	/* footer
	------------------------------------------------*/
	#bottomWave {
	    height: 25px;
	    background-size: 140px 71px;
	    -webkit-background-size: 140px 71px;
	    -webkit-animation: wave04 160s linear infinite;
	    -moz-animation: wave04 160s linear infinite;
	    animation: wave04 160s linear infinite;
	}
	.bnr { padding-bottom: 4rem;}
	#footerArea .socialMenu {padding: 10px 0 8px;}
	.footerS #footerArea .fNav {text-align: center;}
	.footerS #footerArea .fNav {padding: 10px 2rem 15px; box-sizing: border-box;}
	.footerS #footerArea .fNav #logout {
		disaplay: block;
	}
	#footerArea .fNav li {
		margin: 0 10px 8px;
	}
	.bnr .bnrS li:nth-child(2n) {margin-left: 4%;}
	.bnr .bnr48 li {
	    width: 12%;
	    margin: 0 1.3333%;
	    float: left;
	    display: block;
	}
	.bnr .bnr48 li:nth-child(7n) {margin-right: 0;}
	.bnr .bnr48 li:nth-child(8n) {margin-left: 0;}
	.bnr .bnrS li {
		display: block;
		float: left;
	}
	#footerArea .fNavCopy {
	    font-family: -apple-system, Verdana, "Droid Sans", sans-serif!important;
	}

	/* cmn
	------------------------------------------------*/
	.btn .main {
	    display: inline-block;
	    min-width: 70%;
	    margin: 0 auto 10px;
	    background: #C7E8FA;
	    color: #111d67;
	    font-size: 15px;
	    border-radius: 100px;
	    text-align: center;
	    text-shadow: none;
	    text-decoration: none;
	    border: none;
	    padding: 18px 15px;
	    -webkit-appearance: none;
	}
	.btn .sub {
	    text-align: center;
	    font-size: 13px;
	    margin: 0 auto 10px;
	    border-radius: 100px;
	    border: 1px solid #81c4f8;
	    display: inline-block;
	    padding: 8px 20px;
	    min-width: 70%;
	    box-sizing: border-box;
	    background: #fff;
	    -webkit-appearance: none;
	    text-shadow: none;
	    color: #111d67;
	}
	#pageTop {display: none!important;}
	#wrap,
	.detail #wrap {padding-bottom: 170px;}
	#headerWave {padding-top: 0;}
	.container {padding-top: 67px;}
	.pageInner {
		width: 90%;
		margin: 0 auto;
	}
	.btnMore a {
	    font-size: 14px;
	    border-radius: 100px;
	    width: 70%;
	    margin: 0 auto;
	    height: 45px;
	    line-height: 45px;
	}
	.youtube .btnMore a {
	    background: #fff;
	    border: 1px solid #C7E8FA;
	    box-sizing: border-box;
	    -webkit-box-sizing: border-box;
	}
	.titleArea .fontQuick {
	    position: relative;
	    top: -4px;
	    font-weight: 500;
	}
	.pulldownBox{
		border:none;
		position: relative;
		width: 30rem;
	    margin: 0.5rem auto 5rem;
	}
	.pulldownBox select {
	    width: 100%;
	    height: 40px;
	    padding: 0 8%;
	    box-sizing: border-box;
	    -webkit-box-sizing: border-box;
	    position: relative;
	    border: none;
	    border-radius: 25px;
	    background: #93cdfa;
	    color: #fff;
	    font-size: 15px;
	    line-height: 40px;
	    text-align: left;
	    -webkit-appearance: none;
	    -moz-appearance: button;
	}
	.pulldownBox:before {
	    content: "\f107";
	    font-family: 'FontAwesome';
	    position: absolute;
	    right: 6%;
	    top: 50%;
	    z-index: 10;
	    color: #fff;
	    line-height: 0;
	    font-size: 22px;
	}
	/* form 関連 */
	.formList {margin: 0 0 30px;}
	.formList dt{
	    font-size: 12px;
	    color: #8598c0;
	    margin: 0 0 1px;
	}
	.formList dd{margin: 0 0 10px;}
	.formList dd:last-child{margin: 0;}
	.formList input,
	.formList textarea {
		width: 100%;
		background: none;
		border: none;
		font-size: 18px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding: 8px 10px 10px;
		border: 1px solid #b4c3e2;
		background:#fff;
		border-radius: 5px;
		box-shadow: none;
		    -webkit-appearance: none;
	}
	.formList textarea {font-size: 14px;}
	.formList .pulldownBox {width: 100%;}
	.formList .pulldownBox select{
	    border: 1px solid #b4c3e2;
	    background: #fff;
	    border-radius: 5px;
	    color: #000;
	    padding: 8px 10px 10px;
	    height: auto;
	    line-height: 1.8em;
	}
	.formList .pulldownBox:before {
		color: #b4c3e2;
		right: 4%;
	}
	/* info 関連 */
	#newsDetail .newsBlock .newsThumb img {margin: 0;}
	#newsDetail .newsBlock .newsThumb {margin: 4rem auto;}
	#newsDetail .newsBlock .newsTxt {margin: 0 0 4rem;}
	#newsDetail .detailTxt .ph {margin: 2rem auto; text-align: center;}
	#newsDetail .detailTxt .ph img {text-align: center; max-width: 100%;}
	#newsDetail .newsTxt h1 {
	    font-size: 20px;
	    line-height: 1.4em;
	}
	.newsBlock .newsCateIco {
		border-width: 0.5px;
		margin: 0 0 9px;
	}
	.newsBlock h2 {
	    font-size: 15px;
	    line-height: 1.4em;
	    margin-bottom: 1px;
	}
	.schedule .text .eventDate {
	    margin-bottom: 4px;
	    line-height: 1.5em;
	}
	#newsDetail .newsDate {
	    vertical-align: -2px;
	    font-size: 14px;
	}
	#newsDetail .newsCateIco.cate2 {    vertical-align: -1px;}
	#newsList .newsBlock {margin-bottom: 6rem;}
	.newsBlock li {margin-bottom: 24px;}
	.eventListDate {width: 70px;}
	.eventListDate dt {
	    font-size: 26px;
	    margin: 0 0px 2px;
	}
	.eventListDate dd {font-size: 11px;}
	#newsDetail .newsBlock iframe {width: 100%!important;margin: 30px 0; height: auto;}
	#newsList .archive {
	    margin: -30px auto 30px;
	    text-align: center;
	    padding: 0 5%;
	}

	/* top
	------------------------------------------------*/
	#index #wrap {padding-bottom: 0;}
	#index .btnMore {margin: 28px 0 0 ; padding: 0;}
	#index .news, .schedule,
	#index .youtube,
	#index .twitter {
	    margin: 0 auto 60px;
	}
	#index h2.title {margin-bottom: 17px;}
	#index .stripes h2 {margin-bottom: 5px;}
	.iframeWrap {border-width: 2px;}
	.youtubeWrap {padding: 0 0 30px;}
	#index .footerS {
		position: relative;
		margin-top: -10px;
	}
	.twitterArea {
	    overflow: hidden;
	    text-align: center;
	    padding: 20px 0;
	}
	.twitterArea iframe {width: 300px !important;}
	#index .slick-dotted.slick-slider {
	    margin: 0;
	}
	.slider li img {border-width: 3px;}
	.sliderWrap.one {padding: 14px 0;}
	.sliderWrap.one .slider {position: static;}
	.sliderWrap.one .slider li a {padding: 0 5%;}
	.slick-prev,
	.slick-next {display: none!important;}
	#index .slider:before,
	#index .slider:after {
	    height: 8px;
	    background-size: 14px auto;
	}
	#index .slider:before {top: 29%;margin-top: -4px;}
	#index .slider:after {top: 76%;margin-top: -4px;}
	@-webkit-keyframes chain01 {
		0%{background-position:0 0;}
		100%{background-position:-56px 0;}
	}
	@-moz-keyframes chain01 {
		0%{background-position:0 0;}
		100%{background-position:-56px 0;}
	}
	@keyframes chain01 {
		0%{background-position:0 0;}
		100%{background-position:-56px 0;}
	}
	@-webkit-keyframes chain02 {
		0%{background-position:0 0;}
		100%{background-position:56px 0;}
	}
	@-moz-keyframes chain02 {
		0%{background-position:0 0;}
		100%{background-position:56px 0;}
	}
	@keyframes chain02 {
		0%{background-position:0 0;}
		100%{background-position:56px 0;}
	}
	@-webkit-keyframes after01 {
		0%{background-position:0 0;}
		100%{background-position:-14px 0;}
	}
	@-moz-keyframes after01 {
		0%{background-position:0 0;}
		100%{background-position:-14px 0;}
	}
	@keyframes after01 {
		0%{background-position:0 0;}
		100%{background-position:-14px 0;}
	}
	@-webkit-keyframes after02 {
		0%{background-position:0 0;}
		100%{background-position:14px 0;}
	}
	@-moz-keyframes after02 {
		0%{background-position:0 0;}
		100%{background-position:14px 0;}
	}
	@keyframes after02 {
		0%{background-position:0 0;}
		100%{background-position:14px 0;}
	}

	/* プロデューサー(プロフィール兼用)
	------------------------------------------------*/
	.profileWrap .ph {margin: 0 0 30px;}
	#producer .profileWrap .ph img{
		width: 40%;
		float: left;
	}
	#producer .profileWrap .name {
	    font-size: 20px;
	    line-height: 1.3em;
	    position: absolute;
	    top: 50%;
	    -webkit-transform: translateY(-50%);
	    transform: translateY(-50%);
	    padding: 0 0 0 43%;
	}
	#producer .profileWrap .name span{
		font-size: 13px;
		display: block;
	}
	#producer .profileWrap .txtSide .txt {
		font-size: 13px;
		margin: 0 0 20px;
	}

	/* プロフィール
	------------------------------------------------*/
	#profile .profileList {margin-left: -5%;}
	#profile .profileList li {
	    width: 45%;
	    margin: 0 0 50px 5%;
	}
	#profile .profileList li .ph {
	    float: none;
	    margin: 0 0 20px;
	    width: 88%;
	    margin: 0 auto 20px;
	}
	#profile .profileList.before li .ph {margin: 0 auto 15px;}
	#profile .profileList .txtSide {font-size: 11px;}
	#profile .profileList dd {padding-left: 54px;}
	#profile .profileList.before .name {margin: 0 0 2px;}
	#profile .profileList.after .name {margin: 0 0 3px;}
	#profile .profileList .name,
	#profile .profileList .yomi {text-align: center; line-height: 1.4em;}
	#profile .profileList .role {font-size: 10px;}
	#profile .profileList.after {margin-left: -2%;}
	#profile .profileList.after li {width: 31%;margin: 0 0 30px 2%;}
	#profile .profileList.after .ph img{border-width: 1px;}
	#profile .profileList.after {margin-top: 0px;}
	#profile .profileList.after .name {font-size: 14px;}
	#profile .profileList.after li .ph {margin-bottom: 10px;}
	#profile .profileWrap .ph {text-align:center;}
	#profile .profileWrap .ph img {width: 80%;}
	#profile .profileWrap .name {font-size: 24px;}
	#profile .profileWrap .profileList dt {font-size: 11px;}
	#profile .profileWrap .profileList dd {
		padding-left:136px;
	}

	#profile .profileWrap .yomi {margin: 0 0 25px;}
	#profile .profileWrap .profileList .name,
	#profile .profileWrap .profileList .yomi {text-align: left;}
	#profile .profileWrap .role {font-size: 14px;}

	/* サポート系
	------------------------------------------------*/
	body#support .pageInner {font-size: 13px;}
	#support .supportTit {
	    font-size: 20px;
	    margin: 0 0 20px;
	}
	#support .supportTable {
		width: 100%;
		border-top: 1px solid #C7E8FA;
	}
	#support .supportTable td {
	    border-bottom: 1px solid #C7E8FA;
	    line-height: 1.5em;
	    padding-bottom: 20px;
	    display: block;
	}
	#support .supportTable th {
	    text-align: left;
	    font-size: 15px;
	    display: block;
	    margin: 0 0 10px;
	    padding: 20px 0 0;
	    color: #19247c;
	}
	#support .supportList dt {
	    font-size: 16px;
	    margin: 0 0 8px;
	    color: #19247c;
	}
	#support .supportList dd {margin: 0 0 40px;}

	/* faq
	------------------------------------------------*/
	#support.faq .faqList dt {
	    padding: 15px 20px 15px 1.8em;
	    font-size: 14px;
	    line-height: 1.5em;
	}
	#support.faq .faqList dd {
		padding: 15px 20px 15px 1.8em;
		font-size: 13px;
	}
	#support.faq .faqList dt:after {right:-10px;}
	#support.faq .areaTit {
	    height: auto;
	    font-size: 18px;
	    line-height: 1.35em;
	    background-position: 0 center;
	    margin: 0 0 10px;
	    padding: 7px 0 5px 5rem;
	}

	/* 無料ログイン
	------------------------------------------------*/
	#login .txt {margin: 0 0 30px;}
	#login .supportList {
		margin: 50px 0 70px;
		border-top: 1px solid #b4c3e2;
	}
	#login .supportList li {
		position: relative;
	}
	#login .supportList li a{
		display: block;
		border-bottom: 1px solid #b4c3e2;
		padding: 10px 0;
		font-size: 12px;
	}
	#login .supportList li:after {
		content:'';
		width: 6px;
		height: 6px;
		border-left: 1px solid #b4c3e2;
		border-bottom: 1px solid #b4c3e2;
		transform: rotate(-135deg);
		position: absolute;
		right: 2px;
		top: 50%;
		margin-top: -3px;
	}
	#login .entry {margin-top: 30px;}
	#login .entry .txt {
	    margin: 0 0 10px;
	    font-size: 12px;
	    text-align: center;
	    line-height: 1.6em;
	}
	.attentionList {
		margin: 0 0 30px;
	}
	.attentionList li {
		font-size: 12px;
		color: #de4e4e;
		text-indent: -1.2em;
		padding-left: 1.2em;
		margin: 0 0 5px;
		line-height:1.5;
	}

	.attentionList li:last-child{margin: 0;}
	.attentionList li:before {
	    content: "\f06a";
	    font-family: 'FontAwesome';
	    margin-right: 4px;
	}
	/* 2017.05 ヘッダ削除 */
	#login #scrollHeader,
	#login #footerArea .socialMenu,
	#login .footerS #footerArea .fNav{
		display: none;
	}
	#login #wrap {padding-bottom: 60px;}
	#login .container {padding-top: 20px;}

	/* MAP
	------------------------------------------------*/
	#map .lead {text-align: center;margin: 0 0 22px;}
	#map .lead img{width: 89%;}
	#map .map {margin: 0 0 40px;position: relative;}
	#map .map > img {width: 100%;}
	#map .pins li {
		width: 10%;
		position: absolute;
		line-height: 0;
		opacity: 0;
	}
	#map .pins #pin01{top:24%; left: 11%;}
	#map .pins #pin02{top:38%; left: 75%;}
	#map .pins #pin03{top:01%; left: 60%;}
	#map .pins #pin04{top:63%; left: 23%;}
	#map .pins #pin05{top:10%; left: 42%;}
	#map .pins #pin06{top:-2%; left: 83%;}
	#map .pins #pin07{top:46%; left: 47%;}
	#map .pins #pin08{top:30%; left: 24%;}
	#map .pins li img{
		width: 100%;
		transform: translateY(-50px);
		-webkit-transform: translateY(-50px);
	}
	#map .pins li.fall {
		opacity: 1;
		transition: all .5s ease;
		-webkit-transition: all .5s ease;
		-webkit-transition-timing-function:ease;
	}
	#map .pins li.fall img{
		transform: translateY(0px);
		transition: all .5s ease;
		-webkit-transition: all .5s ease;
	}
	#map .pins.swing li {
		-webkit-animation: swing linear 4s infinite;
	    animation: swing linear 4s infinite;
	    -webkit-transform-origin: bottom center;
	    transform-origin: bottom center;
	}
	@-webkit-keyframes swing {
	    0% { -webkit-transform: rotate(0deg); }
	    25% { -webkit-transform: rotate(8deg); }
	    50% { -webkit-transform: rotate(0deg); }
	    75% { -webkit-transform: rotate(-8deg); }
	    100% { -webkit-transform: rotate(0deg); }
	}
	@keyframes swing {
	    0% { transform: rotate(0deg); }
	    25% { transform: rotate(8deg); }
	    50% { transform: rotate(0deg); }
	    75% { transform: rotate(-8deg); }
	    100% { transform: rotate(0deg); }
	}
	#map .txtArea {
	    margin: 0 0 40px;
    font-size: 15px;
    line-height: 1.8em;
	}
	#map .txt {margin: 0 0 20px;}
	#map .txt.em {
	    font-size: 19px;
    	line-height: 1.5em;
    	color: #19509e;
    	position: relative;
	}
	#map .txtArea .txt.em {margin: 0 0 45px; text-align: center;}
	#map .txtArea .txt.em:before,
	#map .txtArea .txt.em:after {
		content: '';
		background: -webkit-repeating-linear-gradient(-45deg, #f5acb3, #f5acb3 2px, #fff 2px, #fff 4px);
		background: repeating-linear-gradient(-45deg, #f5acb3, #f5acb3 2px, #fff 2px, #fff 4px);
		width: 100%;
		height: 5px;
		display: block;
		position: relative;
	}
	#map .txtArea .txt.em:before {top: -15px;}
	#map .txtArea .txt.em:after {bottom: -15px;}
	#map .txt.em span{
		display: inline-block;
		text-align: center;
		margin: 0 5px;
		/*color: #ff6f7d;*/
		font-weight: bold;
	}
	#map .txt.em span:first-child{margin-left: 8px;}
	#map .txt.em span:last-child{margin-right: 8px;}
	#map .entryArea {
		margin: 15px 0 50px;
		text-align: center;
	}
	#map .entryArea .txt{margin: 0 0 8px;}
	#map .txtLink a {font-size: 15px;}
	#map .txtLink a:after{
		content: "\f105";
		font-family: 'FontAwesome';
		margin-left: 8px;
		font-size: 20px;
		vertical-align: -1px;
	}
	#map .highlight {
		background: linear-gradient(transparent 60%, #ffdee1 0%);
	}

	.newsBlock .newsCateIco { width: auto; padding: 2px 10px;}
	.newsBlock .newsTxt span { width: auto;}


	/* SCHEDULE
	------------------------------------------------*/	

	#schedule .pageInner{
		width:90%;
		margin:30px auto 40px;
	}
	#schedule .schedule.categoryList{
		padding: 0;
	}

	#schedule .btn{
		top:-50px
	}
	/*listpage*/

	#schedule.schedule-list .pageInner {
		width: 90%;
	}

	#schedule .calendarHeader {
		padding-bottom: 16px;
		margin-bottom: 16px;
		font-family: 'Quicksand', sans-serif;
	}

	#schedule .calendarHeader li:nth-child(1){ text-align: left; width: 25%;}
	#schedule .calendarHeader li:nth-child(2){ text-align: center; width: 50%;}
	#schedule .calendarHeader li:nth-child(2) .year{ display: inlnie-block; padding-right: 5px; font-size: 0.8em;}
	#schedule .calendarHeader li:nth-child(2) .month{ font-size: 30px; font-weight: 400; }
	#schedule .calendarHeader li:nth-child(2) .month_en{ display: inlnie-block; padding-left: 5px; font-size: 0.8em}
	#schedule .calendarHeader li:nth-child(3){ text-align: right; width: 25%;}

	#schedule .infoList li a [class^="cat"]{
		display: inline-block;
		text-align: center;
		font-size: 10px;
		line-height: 0;
		border: 0.5px solid #999;
		padding: 9px 7px 7px;
		margin-bottom: 2px;
		margin-right: 5px;
	}
	#schedule .infoList .date{
		float: left;
		line-height: 100%;
		width: 10%;
		text-align: center;
		position: absolute;
		margin: 13px 0 0 0;
		color:#000;
		font-family: 'Quicksand', sans-serif;
	}
	#schedule .infoList .md{
		display: inline-block;
		font-weight: 100;
		font-size: 37px;
		font-size: 4vw;
		letter-spacing: -0.01em;
		margin-bottom: 14px;
		margin-right: 3px;
	}
	#schedule .infoList .week{
		display: block;
		font-size: 1.4vw;
		letter-spacing: 0.05em;
		text-align: center;
		margin-left:-2px;
	}
	#schedule .infoList li{ 
		position: relative;
	}
	#schedule .infoList li{
		margin-bottom: 8px;
		padding-bottom: 8px;
	}

	#schedule .infoList .text {
		position: relative;
		left: 10%;
	}

	#schedule .infoList .text .entry {
		width: calc(100% - 10%);
	}
	#schedule .infoList div.entry:after {
		width: 100%;
	}
}


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

	Tablet ONLY

=================================================*/
@media screen and (max-width: 960px) and (min-width: 735px) {
	.bnr .bnrS li {
	    width: 32%;
	    margin-right: 2%;
	    display: block;
	    float: left;
	}
	.bnr .bnrS li:nth-child(3n) {
		margin-right: 0;
	}
	.bnr .bnrS li:nth-child(2n) {margin-left: 0;}
	.newsBlock li .thumb {
	    width: 20%;
	    margin-right: 4%;
	}
	.newsBlock li {margin-bottom: 40px;}
}


/* 2期研究生 追加 */

#profile .profileWrap dd {
  margin: 0 0 12px;
}
#profile .profileList .spirit ul li{
  width: auto;
  float: none;
  margin: 0;
  position: relative;
  text-indent: -1em;
  padding: 0px 0 10px 1em;
  letter-spacing: 1px;
}
#profile .profileList .spirit ul li span{
  margin:0 2px 0 0;
  color: #ee4757;
  font-weight: bold;
}


@media screen and (min-width: 960px) {

  #profile.detail .pageInner{width: 900px;}

}