@charset "utf-8";

/*------------------------------------------------------------
  共通
------------------------------------------------------------ */
.mypage-login {
}

.sub_header {
	border-bottom: solid 1px #aab8c2;
	padding: 10px 0;
}

.sub_header h2 {
	font-size: 2em;
	line-height: 1.2;
	margin: 40px 0;
}

.sub_header h2 span {
	font-family: "Georgia", "Times New Roman", serif;
	font-size: 0.6em;
	font-weight: normal;
	color: #be9d31;
}

.fa-music {
	color: #be9d31;
}
.hr_line1 {
	border: none;
	border-top: solid 1px #aab8c2;
	height: 1px;
	margin: 0;
}

.no_border {
	border: none !important;
}

.hr_line2 {
	border: none;
	border-top: dotted 1px #aab8c2;
	height: 1px;
	margin: 10px 0;
}

.content h2 {
	font-size: 1.8em;
	line-height: 1.2;
	color: #044b7f;
	margin-bottom: 40px;
}

.content h2 span {
	font-size: .6em;
	font-family: "Georgia", "Times New Roman", serif;
	font-weight: normal;
	margin-left: 1em;
	color: #be9d31;
}

.content h3 {
	font-size: 1.5em;
	line-height: 1.2;
	margin-bottom: 15px;
	padding-left: 10px;
	border-left: 5px solid #be9d31;
	overflow:hidden;
}

.content h3 em {
	font-size: 0.7em;
	font-weight: normal;
	line-height: 0.9;
}

.content h4 {
	font-size: 1.4em;
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: 5px solid #eef0f2;
	overflow:hidden;
}

.content h5 {
	font-size: 1.4em;
	margin-bottom: 15px;
	padding-bottom: 10px;
	overflow:hidden;
}


table {
  border-collapse: collapse;
  width: 100%;
}

.table1 th,
.table1 td {
  padding: 10px;
  border: 1px solid #aab8c2;
}

.table1 th {
  background-color: #f9f9f9;
  text-align: center;
}
/*金額掲載用*/
.td-a-r td {
  text-align: right;
}
.syusai {
	margin: -20px 0 20px;
	font-size: 0.9em;
}

.syusai span {
	color: #fff;
	font-size: 0.9em;
	background: #be9d31;
	margin-right: 10px;
	padding: 2px 10px;
}

.border-box {
	border: 1px solid #ccc;
	padding: 30px;
}
.border-box-15 {
	border: 1px solid #ccc;
	padding: 15px;
	margin: 15px 0;
	background: #f8f8f7;
}


.bg-box {
	background: #efefef;
	padding: 30px;
}

.chui {
	font-size: 0.9em;
	color: #666;
}

/*重要なお知らせ*/
.notice {
	border: 5px solid #e2afb1;
	padding: 30px;
	background: #fff;
}

.notice h4 {
	text-align: center;
	margin-top: 0;
}

.notice label {
	display: inline-block;
	font-weight: bold;
	color: #fff;
	background-color: #e2afb1;
	padding: 5px 20px;
	margin-bottom: 15px;
}

.notice label.notice_btn {
	cursor: pointer;
	margin-bottom: 0;
	display: block;
	position: relative;
}

.notice label.notice_btn::after {
	font-family: FontAwesome;
	content: '\f067';
	color: #fff;
	position: absolute;
	right: 20px;
	top: 6px;
}

input.check_on {
  display: none;
}

.panel {
	transition: 0.5s ease;
	height: 0;
	overflow: hidden;
	padding: 0;
}

input.check_on:checked + label + .panel {
	height: auto;
	padding: 10px 0 0;
}

input.check_on:checked + .notice_btn::after {
	content: '\f068';
}

.panel li {
	display: flex;
	align-items: baseline;
	margin-top: 5px;
}

.panel li::before {
	font-family: FontAwesome;
	content: '\f06a';
	color: #e2afb1;
	margin-right: 10px;
}

.content dl {
	border-bottom: 1px dotted #aab8c2;
	background-color: #fff;
}

.content dt, .content dd {
    padding: 11px 0 9px;
    float: left;
	border-top: 1px dotted #aab8c2;
}

.content dt {
    width: 20%;
	font-weight: bold;
	clear:left;
	color: #011B2E;
}

.content dd {
    width: 80%;
	padding-left: 30px;
}

.content dd p {
	border-bottom: dotted 1px #aab8c2;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.content dd p:last-child {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}

/*よくある質問用*/
dl.dt40 dt {
    width: 40%;
	padding-right: 25px;
	font-weight: bold;
}

dl.dt40 dd {
    width: 60%;
}
dl.faq dt, dl.faq dd {
	padding-left: 35px;
	position: relative;
}

dl.faq dt::before {
    font-family: FontAwesome;
	content: '\f059';
	color: #ff6464;
	font-size: 1.5em;
	line-height: 1.5;
	position: absolute;
	top:4px;
	left: 0;
}

dl.faq dd::before {
    font-family: FontAwesome;
	content: '\f058';
	color: #c3e678;
	font-size: 1.5em;
	line-height: 1.5;
	position: absolute;
	top:4px;
	left: 0;
}

/*ピアコンスケジュール用*/
dl.sch dd {
	position:relative;
}

dl.sch dd p {
	padding-bottom: 0;
	border: none;
}

dl.sch dd p:first-child {
	font-weight: bold;
}

dl.sch dd p.shime {
	display: inline-block;
	padding: 2px 10px;
	background-color: #f0f0f0;
	position:absolute;
	right:0;
	top: 10px;
}

/*入れ子※使ってない*/
.content dl dd dl {
	border: 0;
}

.content dl dd dl dt:first-of-type, .content dl dd dl dd:first-of-type {
	border: 0;
	padding: 0 0 9px;
}

.content dl dd dl dt:last-of-type, .content dl dd dl dd:last-of-type {
	padding: 11px 0 0;
}


.content ol{
	counter-reset: item;
	list-style-type: none;
}
.content ol ol{
	padding-left: 1em;
}
.content ol li{
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.content ol li::before {
	counter-increment: item;
	content: counter(item)'.';
	font-family: Georgia, "Times New Roman", Times, "serif";
	font-size: 1.2em;
	color: #be9d31;
	margin-right: 0.5em;
}


.external::after {
	font-family: FontAwesome;
	content: '\f08e';
	margin: 0 5px;
}

.mail::before {
	font-family: FontAwesome;
	content: '\f0e0';
	margin: 0 5px;
}

.tel::before {
	font-family: FontAwesome;
	content: '\f098';
	margin: 0 5px;
}

.in-text:hover {
	text-decoration-line: underline;
}

.img-center {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
}

.img-left {
	float:left;
	display: block;
	margin:0 20px 20px 0;
	max-width: 100%;
	height: auto;
}

.img-right {
	float:right;
	display: block;
	margin:0 0 30px 30px;
	max-width: 100%;
	height: auto;
}

.page-top-btn {
	position: absolute;
	bottom: 15px;
	right: 25px;
}
.page-top-btn a {
	display: block;
	width: 150px;
	padding: 10px 0;
	border-radius: 30px;
	color: #fff;
	font-size: 0.9em;
	text-align: center;
	background-image: linear-gradient(to right, #25aae1, #40e495, #30dd8a, #2bb673);
    box-shadow: 0 4px 15px 0 rgba(118,118,118,0.75);
	transition: 0.3s ease-in;
	background-size: 300% 100%;
}
.page-top-btn a:hover {
	background-position: 100% 0;
}

.anime_v {
	-webkit-animation: vertical 1s ease-in-out infinite alternate;
    -webkit-animation-duration: 2s;	
}

.anime_h {
	-webkit-animation: horizontal 1s ease-in-out infinite alternate;
    -webkit-animation-duration: 2s;	
}

@-webkit-keyframes horizontal {
	0% {-webkit-transform: translateX(4px);}
	100% {-webkit-transform: translateX(0px);}
}
@-webkit-keyframes vertical {
	0% {-webkit-transform: translateY(4px);}
	100% {-webkit-transform: translateY(0px);}
}

.img-shadow {
	background-color: #fff;
	background-image: url(../aboutus/images/history_s.jpg);
	background-repeat: no-repeat;
	background-position:bottom center; 
	padding-bottom: 120px;
}

.row {
	margin: 20px -10px; 
}

.col {
    float: left;
    padding: 0 10px;
}

a.btn {
	display: block;
	padding: 10px 0;
	border: 1px solid #067ed5;
	color: #fff;
	text-align: center;
	background-color: #067ed5;
}
a.btn:hover {
	background-color: #fff;
	color: #067ed5;
}

a.btn-ib {
	display: inline-block;
	padding: 5px 25px;
	border: 1px solid #067ed5;
	color: #fff;
	text-align: center;
	background-color: #067ed5;
	margin:0 10px 10px 0;
	font-size: 0.9em;
}

.concert a.btn-ib {
	margin:0 10px 2px 0;
}

.concert a.btn-ib::before {
	font-family: FontAwesome;
	content: '\f07a';
	padding-right: 3px;
}


a.btn-ib:hover {
	background-color: #fff;
	color: #067ed5;
}

.btn_dis {
	background: #eee;
	pointer-events: none;
	color: #ccc !important;
}

.pdf-link::after {
	font-family: FontAwesome;
	content: '\f1c1';
	color: #E51D21;
	font-size: 0.9em;
	padding: 0 0 0 5px;
} 

/*------------------------------------------------------------
  サイトマップ
------------------------------------------------------------ */
.sitemap ul li p {
	padding: 12px 0 10px 15px;
	border-top: 1px dotted #aab8c2;
	position: relative;
}

.sitemap ul li p::before {
	font-family: FontAwesome;
	content: '\f0da';
	color: #be9d31;
	font-size: 0.9em;
	padding: 0 6px 0 0;
	position: absolute;
	top: 13px;
	left: 0;
}
.bline {
	border-bottom: 1px dotted #aab8c2;
}

/*------------------------------------------------------------
  アーティスト紹介
------------------------------------------------------------ */
.artists ul li img {
	max-width: 100%;
	width: 100%;
	display: block;
	transition: 0.3s ease-in;
}

.artists ul li {
	position: relative;
}

.artists ul li img + p {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background-color: rgba(0,0,0,0.9);
	padding: 10px;
}
.artists ul li a {
	color: #fff;
}
.artists ul li a:hover img {
	opacity: 0.8;
}

.artists p {
	padding-bottom: 10px;
}



/*------------------------------------------------------------
  マスタークラス教授紹介　マスタークラスの特徴
------------------------------------------------------------ */
.prof section {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #aab8c2;
}

.prof section img {
	box-shadow: 0 0 5px 0 #999;
}

/*ギャラリー*/
.gallery li img {
	display: block;
	margin: 0 auto;
	border: 5px solid #ddd;
	max-width: 100%;
	margin-bottom: 5px;
}

/*------------------------------------------------------------
  交通アクセス
------------------------------------------------------------ */
.ggmap {
	position: relative;
	padding-bottom: 40%;
	height: 0;
	overflow: hidden;
}

.ggmap iframe, .ggmap object, .ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-bottom: 30px;
}
/*------------------------------------------------------------
  コンサート
------------------------------------------------------------ */
/*コンサートセレクト*/
.concert_select {
	position: absolute;
	top: -5px;
	right: 10px;
}
.concert_select > select {
	padding: 10px 15px;
	border: 1px solid #aab8c2;
	background: #f0f0f0;
	font-size: 1em;
	line-height: 1;
}

/*コンサート*/
.concert section {
	padding: 30px 0;
	border-bottom: 1px solid #aab8c2;
}

.concert section:first-of-type {
	border-top: solid 1px #aab8c2;

}

/*コンサートアイテムボックス*/
.itembox_inner {
}

.itembox h3 {
	font-size: 1.6em;
	line-height: 1.3;
    padding: 10px 0;
	margin: 0;
	border: none;
}

.itembox_inner .tojiru {
	display: none;
}

.concert_info {
    width: 80%;
}

.concert_img {
	width: 20%;
}

.concert_img img {
	max-width: 212px;
	transition: all 0.4s ease-in;
	box-shadow: 0 0 5px 0 #ccc;
}

.concert_img img:hover {
	opacity: 0.7;
}

.concert section p.cat span {
	padding: 2px 20px;
	margin: 0 10px 0 0;
	color: #fff;
	font-size: 0.9em;
	line-height: 1.5;
	background-color: #73c2fb;
}

.concert section p.cat span.koen {
	background-color: #ce4676;
}

.concert section p.cat span.prem {
	background-color: #D7B658;
}
.concert section p.cat span.duo {
	background-color: #C374F8;
}
.concert section p.cat span.deb {
	background-color: #54D157;
}

.kanbai {
	display: inline-block;
	padding: 5px 35px;
	margin: 0 0 2px 0;
	text-align: center;
	color: #fff;
	background: linear-gradient(to right,#ff7500 20%,#b34e98 90%);
}

.kanbai::after {
	font-family: FontAwesome;
	content: '\f2a7';
	padding-left: 3px;
}
/*CD楽譜アイテムボックス*/
.cdscore_img {
	width: 20%;
}

.cdscore_img img {
	max-width: 212px;
	transition: all 0.4s ease-in;
	box-shadow: 0 0 5px 0 #999;
}

.cdscore_img img:hover {
	opacity: 0.7;
}

.cdscore_info {
    width: 80%;
}

.cdscore {
	padding-top: 0 !important;
}

/*------------------------------------------------------------
  伴奏ピアニスト
------------------------------------------------------------ */
.pianist-list section {
	border-bottom: solid 1px #aab8c2;
	margin-bottom: 30px;
}

.pianist-list .col {
	width: 11%;
}

.pianist-list .col + .col {
    width: 89%;
}

.pianist-list img {
	box-shadow: 0 0 5px 0 #999;
}

.pianist-list span {
	display: inline-block;
	margin: 5px 0;
	color: #fff;
	font-size: 0.9em;
	line-height: 1.5;
	background-color: #73c2fb;
	padding: 1px 13px;
	border-radius: 3px;
}

.content.pianist-list nav.page_nav {
	margin:0 0 30px 0;
	padding-bottom: 10px;
	border-bottom: solid 1px #999;
}
/*------------------------------------------------------------
  ぱんくず
------------------------------------------------------------ */
nav.topicPath ul li {
	float: left;
	font-size: 0.8em;
	line-height: 1.4;
}

nav.topicPath ul li::after {
	font-family: FontAwesome;
	content: '\f105';
	font-size: 0.9em;
	color:#999;
	margin: 0 5px;
}

nav.topicPath ul li:last-child::after {
	content: none;
}



nav.topicPath ul li:first-child a::before {
	font-family: FontAwesome;
	content: '\f015';
	font-size: 0.9em;
	margin: 0 5px 0 0;
}


/*タイトル画像ありの場合*/
.tPwimg {
	border-bottom: 0;
	padding-bottom: 0;
}
.tPwimg nav.topicPath ul {
	padding-bottom: 10px;
}

/*ページナビ*/
nav.page_nav a {
	margin: 0 10px 0 0;
	font-size: 0.9em;
	color: #333;
}
nav.page_nav a:hover {
	color: #067ed5;
}

/*コンテンツ内に設置時*/
.content nav.page_nav {
	margin: -10px 0 12px;
	padding-bottom: 10px;
	border-bottom: solid 1px #999;
}

/*ページタブ*/
.page_tab {
	background-color: #f0f0f0;
	padding: 15px 0 0 0;
	box-shadow: 0 6px 5px -5px #ccc inset;
	border-bottom: 1px solid #aab8c2;
}

.page_tab nav {
	clear: both;
}

.page_tab a {
	margin-right: -1px;
	float: left;
	display: block;
	color: #333;
	background-color: #f9f9f9;
	padding: 15px 40px;
	border: 1px solid #aab8c2;
	transform: translate3d(1px, 1px, 0);
	position: relative;
}

.page_tab a::after {
    content: "";
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 100%;
    background-color: #73c2fb;
    height: 0;
    transition-property: height;
    transition-duration: 200ms;
}

.page_tab a:hover::after, .page_tab a.selected::after {
    height: 4px;
}

.page_tab a.selected {
	border-bottom: 1px solid #fff;
	background-color: #fff;
}

/*コンテンツ内に設置時*/
.content .page_tab {
	background-color: #fff;
	box-shadow: none;
}

.content .page_tab nav {
	margin-left: 10px;
}

/*------------------------------------------------------------
  メルマガ
------------------------------------------------------------ */
#ml_form input[type=button],#ml_form_only_in input[type=button] {
	height: 40px;
	font-size: 0.9em;
	line-height: 40px;
	letter-spacing: 2px;
	transition: 0.3s;
	color: #fff;
	padding: 0 20px;
	background: #7f4c16;
	border-radius: 0 40px 40px 0;
	border: none;
}
#ml_form input[type=text],#ml_form_only_in input[type=text] {
	outline: 0;
	font-size: 0.9em;
	border: none;
	background: #efefef;
	height: 40px;
	width: 250px;
	padding: 0 20px;
	line-height: 40px;
	border-radius: 40px 0 0 40px;
}
#ml_form input[type=button]:hover {
	background: #9e6c36;
}
.mailmag .column3 li{
	border: 1px solid #ccc;
	border-radius: 15px;
	padding: 20px;
	font-size: 1.1em;
	font-weight: 500;
	text-align: center;
}

.mailmag .column3 li i{
	font-size: 1.5em;
	font-weight: 500;
}
.mailmag h2{
	color:#69561B;
	line-height: 2;
	font-family : 'Noto Serif JP', serif;
}

.mailmag a.btn-bn {
	display: inline-block;
	padding: 5px 25px;
	color: #fff;
	background-color: #7f4c16;
	margin:0 10px 10px 0;
	border-radius: 40px;
	transition: 0.3s;
}
.mailmag a.btn-bn:hover {
	background: #9e6c36;
}

/*------------------------------------------------------------
  フォーム
------------------------------------------------------------ */
.formWrap {
	border-radius: 10px;
	background-color: #f0f0f0;
	padding: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
}

.content form dl {
	margin: 0 auto 25px auto;
	overflow: hidden;
	border-bottom: 1px solid #cccccc;
	background-color: #f0f0f0;
}

.content form dl dt{
	clear: both;
	width: 30%;
	float: left;
	border-top: 1px solid #cccccc;
	padding: 10px 0;
	overflow: hidden;
	font-weight:bold;
	color: #333;
}

.content form dl dd{
	width: 70%;
	float: right;
	border-top: 1px solid #cccccc;
	padding: 10px 0 10px 5%;
}

.content form dl dt:first-child,
.content form dl dt:first-child+dd{
	border: none;
}

.essential:before {
	content: "必須";
	display: inline-block;
	color: #FFF;
	font-size: 12px;
	font-weight:normal;
	line-height: 18px;
	background-color: #F06;
	margin-right: 10px;
	padding: 0 5px;
}

.content form input{
/*	height: 2em;*/
	padding: 8px 1%;
	border: 1px solid #cccccc;
	border-radius: 3px;
	background: #fafafa;
}

.content form select {
	height: 2.1em;
	padding: 1px 2%;
	border: 1px solid #cccccc;
	border-radius: 3px;
}

.content form input, form select, form textarea {
	font-size: 100%;
}

.content form input[type="radio"] {
	margin: -3px 5px 0 0;
	width: 5%;
	height: 1em;
	border:0;
}

.content form input[type="checkbox"] {
	margin: -3px 5px 0 0;
	width: 5%;
	height: 1em;
	border: 0; 
}

.content form label {
	margin:0 10px 0 0;
}

.content form textarea{
	width: 90%;
	height: 200px;
	padding: 5px 2%;
	resize: vertical;
	border: 1px solid #cccccc;
	border-radius: 3px;
	background: #fafafa;
	font-family: sans-serif;
}

.content form input:focus,
.content form textarea:focus{
	border: 1px solid #55ccff;
	background: #ffffff;
}

.content form input.p5 {
	width: 5%;
}

.content form input.p10 {
	width: 10%;
}

.content form input.p15 {
	width: 15%;
}

.content form input.p20 {
	width: 20%;
}

.content form input.p30 {
	width: 30%;
}

.content form input.p40 {
	width: 40%;
	margin-bottom:10px;
}

form input.p60 {
	width: 60%;
}

.content form input.p80 {
	width: 80%;
	margin-bottom:10px;
}

.content form dl dt p{
	font-size:80%;
	font-weight: normal;
}

.content form input[type="submit"] {
	display: block;
	width: 100%;
	cursor: pointer;
	-webkit-appearance: none;
	padding: 10px 0;
    border: 1px solid #067ed5;
    color: #fff;
    text-align: center;
    background-color: #067ed5;
}

.content form input[type="submit"]:hover {
	background-color: #fff;
	color: #067ed5;
}
table.formTable{
	width:100%;
	margin:0 auto 20px;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
}
p.error_messe{
	margin:5px 0;
	color:red;
}

.pt20 {
	padding-top: 20px;
}

.pt40 {
	padding-top: 40px;
}

.pb5 {
	padding-bottom: 5px;
}

.pb10 {
	padding-bottom: 10px;
}

.pb20 {
	padding-bottom: 20px;
}

.pb40 {
	padding-bottom: 40px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb40 {
	margin-bottom: 40px;
}

.mt20 {
	margin-top: 20px;
}

.mt40 {
	margin-top: 40px;
}

.fs9 {
	font-size: 0.9em;
	line-height: 1.5;
}
.fs7 {
	font-size: 0.7em;
}

.f20 {
	font-size: 2em;
}
/*中止*/
.f_red {
	background-color: #d40000;
	color: #fff;
	font-weight: bold;
	padding: 0 10px;
	margin: 0 10px;
}

/*------------------------------------------------------------
  アドセンス
------------------------------------------------------------ */
.AdSense {
	padding-top: 10px;
}

.AdSense ul li {
	padding: 10px !important;
	border-top: 1px solid #999;
}

.AdSense ul::before {
	content: "【広告】";
	color: #999;
	font-size: 12px;
	font-weight:normal;
	line-height: 18px;
}


@media print, screen and (max-width: 768px){


/*------------------------------------------------------------
  共通
------------------------------------------------------------ */
.sub_header h2 {
	font-size: 1.4em;
	margin: 25px 0 20px;
}

.content h2 {
	font-size: 1.3em;
	margin-bottom: 5%;
}

.content h3 {
	font-size: 1.2em;
	font-weight: bold;
}

.content h4 {
	font-size: 1.1em;
	font-weight: bold;
}

.syusai {
	margin: -2% 0 5%;
}

a.btn-ib, .kanbai {
	display: block;
	margin: 0 0 10px 0 !important;
}
	
/*	使ってない*/
.hr_line2 {
	border: none;
	height: 0;
	margin: 0;
}

.mb20 {
	margin-bottom: 10px;
}

.mt20,.mt40  {
	margin-top: 10px;
}

.mb40 {
	margin-bottom: 20px;
}
.pt40 {
	padding-top: 20px;
}
.content dl {
	border-bottom: 0;
}

.content dt {
    width: 100%;
	font-weight: bold;
}

.content dd {
    width: 100%;
	margin-bottom: 10px;
}

.content dt, .content dd {
    padding: 0;
    float: none;
	border-top: 0;
}

.content dd p {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}

/*よくある質問用*/
dl.dt40 dt {
    width: 100%;
	padding-right: 0;
}

dl.dt40 dd {
    width: 100%;
	margin-bottom: 20px;
}
dl.faq dt::before {
	line-height: 1;
	top:0;
}

dl.faq dd::before {
	line-height: 1;
	top:0;
}

dl.sch dd p.shime {
	top: -28px;
	padding: 0 10px;
}

/*入れ子※使ってない*/
.content dl dd dl dt:first-of-type,
.content dl dd dl dd:first-of-type,
.content dl dd dl dt:last-of-type,
.content dl dd dl dd:last-of-type {
	padding: 0;
}

.content dl dd dl dt {
	margin-left: 1em;
	font-weight: normal;
}

.content dl dd dl dd {
	margin-left: 1em;
	margin-bottom: 0;
}
	
.row {
	margin: 10px 0; 
}

.col {
    float: none;
    padding: 0;
}

.img-left, .img-right{
	float:none;
	display:block;
	margin:0 auto 20px;
}

.img-shadow {
	background-position:bottom center; 
	background-size: contain;
	padding-bottom: 50px;
}

/*ギャラリー*/
ul.gallery > li {
		text-align: center;
}
/*------------------------------------------------------------
  交通アクセス
------------------------------------------------------------ */
.ggmap {
	padding-bottom: 80%;
}
/*------------------------------------------------------------
  メルマガ
------------------------------------------------------------ */
#ml_form input[type=text],#ml_form_only_in input[type=text] {
	width: 60%;
}
#ml_form input[type=button],#ml_form_only_in input[type=button] {
	letter-spacing: 0;
	padding: 0 15px;
}
/*------------------------------------------------------------
  コンサート
------------------------------------------------------------ */	
/*コンサートセレクト*/
.concert_select > select {
	font-size: 0.9em;
}

.concert section {
	padding: 0;
}

.concert_select {
	top: -8px;
}
	
/*コンサートアイテムボックス*/
.itembox_inner {
    display:none;
}

.itembox h3 {
	cursor:pointer;
	font-size: 1.1em;
	font-weight: 400;
	padding: 15px 30px 15px 5px;
	background-color: #fff;
	background-image: url(../images/bottom-arrow50.png);
	background-repeat: no-repeat;
	background-position: right 5px center; 
	background-size: 15px auto;
}

.itembox h3.open {
	background-color: #e5f4fe;
	background-image: url(../images/top-arrow50.png);
	background-repeat: no-repeat;
	background-position: right 5px center; 
	background-size: 15px auto;
}

.itembox h3:hover {
	background-color: #e5f4fe;
}

.itembox_inner .tojiru {
	display: block;
	width: 90px;
	font-size: 0.7em;
	color: #aab8c2;
	margin: -5px auto 5px;
	padding: 3px 0;
	text-align: center;
	cursor: pointer;
	position: relative;
	border: #aab8c2 solid 1px;
	border-radius: 10px;
}
	
.itembox_inner .tojiru::before {
	font-family: FontAwesome;
	content: '\f00d';
	margin: 0 5px;
}

.itembox_inner .tojiru:hover {
	text-decoration: none;
	opacity: 0.7;
}

.concert_info, .cdscore_info {
    width: 100%;
    padding-bottom: 10px;
}

.concert_img, .cdscore_img {
	width: 100%;
	text-align: center;
    padding-bottom: 10px;
}

.concert section p.cat {
	margin: 10px 0 0 0;
}

/*------------------------------------------------------------
  伴奏ピアニスト
------------------------------------------------------------ */
.pianist-list .col {
	width: 100%;
}

.pianist-list .col + .col {
    width: 100%;
}

/*------------------------------------------------------------
  ぱんくず
------------------------------------------------------------ */
nav.topicPath {
	border-bottom: solid 1px #eee;
	padding-bottom: 10px;
}

nav.topicPath ul li {
	font-size: 0.7em;
}

/*タイトル画像ありの場合*/
.tPwimg nav.topicPath ul {
	padding-bottom: 0;
}

/*ページタブ*/
.page_tab {
	padding: 10px 0;
}

.page_tab a {
	margin: -1px 0 0 0;
	float: none;
	font-size: 0.9em;
	padding: 10px 20px;
	border: 1px solid #aab8c2;
	background-image: url(../images/right-arrow50.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size:10px auto;
}

.page_tab a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 50%;
    background-color: #73c2fb;
    height: 0;
	width: 10px;
}

.page_tab a:hover::after, .page_tab a.selected::after {
    height: 4px;
}

.page_tab a.selected {
	background-image: none;
	border-bottom: 1px solid #aab8c2;
}

/*コンテンツ内に設置時*/
.content .page_tab {
	border-bottom: none;
}
.content .page_tab nav {
	margin-left: 0;
}

.content form dl{
}

.content form dl dt{
	width: auto;
	float: none;
	text-align: left;
	padding: 10px 0 5px;
}

.content form dl dd{
	width: auto;
	float: none;
	border-top: none;
	padding: 0px 0 13px 0px;
}

.content form input.p5,
.content form input.p10,
.content form input.p20,
.content form input.p30 {
	width:48.5%;
	margin-bottom:5px;
}

.content form input.p40,
.content form input.p60,
.content form input.p80,
.content form textarea {
	width: 100%;
}
.f20 {
	font-size: 1em;
}
}
