@charset "UTF-8";

/*** RESET ***/

body, header, footer, nav, section, div, ol, ul, li, p, h1, h2, h3, figure {
	margin: 0;
	padding: 0;
}

article,aside,canvas,details,figcaption,figure,
header,footer,hgroup,menu,nav,section,summary {
	display: block
}

/* For modern browsers */
.cf:before,
.cf:after {
    content:"";
    display:block;
    overflow:hidden;
}

.cf:after {
    clear:both;
}

/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}

/************************************************************
　　　　共通
************************************************************/
body {
	font-size: 14px;
	font-family: Helvetica , "游ゴシック" , "Yu Gothic" , "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", arial, verdana, Meiryo, "ＭＳ Ｐゴシック", Osaka,  sans-serif;
	color: #333;
}

ul, li {
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
}

a {
	text-decoration: none;
	color: #;
	-webkit-transition: all 0.1s linear;
       -moz-transition: all 0.1s linear;
        -ms-transition: all 0.1s linear;
         -o-transition: all 0.1s linear;
            transition: all 0.1s linear;
}

#wrapper {
	font-size: 100%;
	min-width: 1000px;
	margin: 0 auto;
	line-height: 180%;
}

.inner {
	width: 1000px;
	margin: 0 auto;
}

::selection {
	background: #00664F; color: #fff;
}

::-moz-selection {
	background: #00664F; color: #fff;
}

@media print, screen and (max-width: 919px) {
	.pc {display: none !important;}
}
@media print, screen and (min-width: 920px) {
	.sp {display: none !important;}
}

section a {
	color: #00664F
}

/*****************************************************************/
@media screen and (max-width: 920px) {

	#wrapper {
		min-width: 100%;
	}

}

/************************************************************
/* header
************************************************************/
header {
	background-color: #fff;
/*background-color: #00f;*/
	height: 70px;
	width: 100%;
}

header #navBtn,
header #switch-sp {
	display: none;
}

header #logo {
	position: fixed;
	width: 150px;
	top: 0;left: 50%;
	margin-left: -500px;
	z-index: 6;
}

header #logo a {
	display: block;
	width: 150px;
	height: 35px;
	padding: 20px 0;
	background: url('/common/images/logo_g.svg') no-repeat center;
	background-size: 150px;
	text-indent: -9999px;
}

header #logo a:hover {
	opacity: 1;
}

/* グローバルナビゲーション
--------------------------------------------------------- */

header #gNav {
	position: absolute;
	height: 70px;
	width: 100%;
	/* top: 61px; */
	padding: 0 0 0 0;
	margin: 0 auto;
	background-color: #fff;
/*background-color: #904654;*/
	z-index: 5;
	display: flex;
}

header #gNav .inner {
	width: 1000px;
	margin: 0 auto;
}


header #gNav.fixed {
	position: fixed;
	top: 0
}

header #gNav h1.headerLogo {
	width: 150px;
	float: left;
	padding: 20px 20px 20px 0;
	margin-right: 20px;
}

header #gNav nav {
	margin-left: 180px;
}

header #gNav nav > ul {
	height: 70px;
	display: flex;
	align-items: center;
}

header #gNav nav > ul li {
	width: 120px;
	text-align: center;
}

body:not(.kr) header #gNav nav > ul li {
	width: auto;
	margin-left: 10px;
	margin-right: 10px;
	white-space: nowrap;
}

header #gNav nav > ul > li + li {
	margin-left: 20px;
}

body:not(.kr) header #gNav nav > ul > li + li {
	margin-left: 16px;
	margin-right: 16px;
}

.kr header #gNav nav > ul li {
	width: auto;
}

header #gNav nav > ul li a {
	display: block;
	font-family: 'Marcellus', serif;
	font-size: 18px;
	color: #454545;
	vertical-align: middle;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
}

body:not(.kr) header #gNav nav > ul li a {
	letter-spacing: 0.08em;
	text-indent: -0.08em;
}

.kr header #gNav nav > ul > li.menu > a {
	padding: 0 20px;
}

header #gNav nav > ul li a span {
	position: relative;
}
header #gNav nav > ul li a span:after {
	content: "";
	position: absolute;
	bottom: -20px;left: 50%;
	width: 0;
	padding: 0 0;
	height: 2px;
	background-color: #00664F;
	-webkit-transition: all 0.2s linear;
       -moz-transition: all 0.2s linear;
        -ms-transition: all 0.2s linear;
         -o-transition: all 0.2s linear;
            transition: all 0.2s linear;
}
header #gNav nav > ul li a:hover span:after,
.home header #gNav nav > ul li.home a span:after,
.about header #gNav nav > ul li.about a span:after,
.masters header #gNav nav > ul li.masters a span:after,
.bows header #gNav nav > ul li.bows a span:after,
.resavation header #gNav nav > ul li.resavation a span:after,
.access header #gNav nav > ul li.access a span:after,
.workshop header #gNav nav > ul li.workshop a span:after {
	left: 0;
	width: 100%;
	padding: 0 30px;
	margin-left: -30px;
	background-color: #00664F;
	-webkit-transition: all 0.2s linear;
       -moz-transition: all 0.2s linear;
        -ms-transition: all 0.2s linear;
         -o-transition: all 0.2s linear;
            transition: all 0.2s linear;
}

body:not(.kr) header #gNav nav > ul li a:hover span:after,
body:not(.kr).home header #gNav nav > ul li.home a span:after,
body:not(.kr).about header #gNav nav > ul li.about a span:after,
body:not(.kr).masters header #gNav nav > ul li.masters a span:after,
body:not(.kr).bows header #gNav nav > ul li.bows a span:after,
body:not(.kr).resavation header #gNav nav > ul li.resavation a span:after,
body:not(.kr).access header #gNav nav > ul li.access a span:after,
body:not(.kr).workshop header #gNav nav > ul li.workshop a span:after,
body:not(.kr).cello_lesson header #gNav nav > ul li.cello_lesson a span:after {
	left: 0;
	width: 100%;
	padding: 0;
	margin-left: 0;
}

header #gNav nav > ul li.lang,
header #gNav nav > ul li.lang li,
header #gNav nav > ul li.insta,
header #gNav nav > ul li.fb {
	width: auto;
}

header #gNav nav > ul li.lang {
	position: relative;
	margin: 0 0 0 auto !important;
}
header #gNav nav > ul li.lang a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 30px;
	font-size: 15px;
	line-height: 1;
	text-align: center;
	border: 1px solid #131313;
}
header #gNav nav > ul li.lang ul {
	width: 100%;
	position: absolute;
	left: 0;
	top: calc(100% - 2px);
	display: none;
}
header #gNav nav > ul li.lang ul:before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 5px 8px;
	border-color: transparent transparent #131313;
	margin: 0 auto;
}
header #gNav nav > ul li.lang ul li + li {
	margin: 1px 0 0;
}
header #gNav nav > ul li.lang ul a {
	background-color: #131313;
	color: rgba(255,255,255,.5);
}

header #gNav nav > ul li.insta {
	margin: 0 0 0 20px !important;
}
header #gNav nav > ul li.fb {
	margin: 0 45px 0 20px !important;
}
header #gNav nav > ul li.insta a,
header #gNav nav > ul li.fb a {
	font-size: 0;
	text-indent: -9999px;
	width: 26px;
	height: 26px;
}
header #gNav nav > ul li.insta a {
	background: url(/common/images/sns01.svg) no-repeat;
}
header #gNav nav > ul li.fb a {
	background: url(/common/images/sns02.svg) no-repeat;
}

/*****************************************************************/
	@media screen and (max-width: 920px) {

		header {
			position: fixed;
			width:100%;
			height: 60px;
			transition: all 0.1s linear;
			background-color: rgba(255,255,255,0.9);
			top: 0;
			z-index: 100;
		}

		header.menuOpen {
			height: 100%;
			overflow: hidden;
			transition: all 0.1s linear;
			z-index: 100;
		}

		header #logo {
			position: relative;
			width: 128px;
			bottom: auto;
			top: 15px;
			margin-left: -64px;
		}

		header #logo a {
			width: 128px;
			height: 30px;
			background-size: 128px;
			opacity: 1;
			padding: 0;
		}

		#headerInnner {
			width:100%;
			min-height: 60px;
		}

		header.fixed {
			left: 0;
			margin-left: 0;
		}

		header #navBtn {
			display: block;
			position: absolute;
			top: 10px;
			right: 8px;
			z-index: 1;
			transition: all .6s;
		}

		header #navBtn a {
			display: inline-block;
			width: 26px;
			height: 26px;
			text-indent: -9999px;
			position: relative;
			border-radius: 50%;
			padding: 8px;
			background-color: #fff;
		}

		header #navBtn:after {
			content: "";
			position: absolute;
			top: 0;
			right: 0;
			display: block;
			width: 42px;
			height: 42px;
			transition: all .4s;
			border-radius: 50%;
			z-index: -1;
			background-color: #fff;
		}

		.menuOpen header #navBtn:after {
			height: 2400px;
			width: 2400px;
			top: -1200px;
			right: -1200px;
			transition: all .4s;
		}

		header #navBtn a:before,
		header #navBtn a:after,
		header #navBtn a i:after {
			content: "";
			position: absolute;
			left: 11px;top: 13px;
			width: 20px;height: 2px;
			background-color: #282929;
			border-radius: 1px;
			transition: all .4s;
		}

		header #navBtn a i:after {top: 19px;}
		header #navBtn a:after {top: 25px;}
		header.menuOpen #navBtn a i:after {opacity: 0;}
		header.menuOpen #navBtn a:before {
			-webkit-transform: translateY(7px) rotate(-135deg);
			transform: translateY(7px) rotate(-135deg);
		}
		header.menuOpen #navBtn a:after {
			-webkit-transform: translateY(-5px) rotate(135deg);
			transform: translateY(-5px) rotate(135deg);
		}

/* グローバルナビゲーション
--------------------------------------------------------- */

	header #gNav {
		position: absolute;
		height: auto;
		top: 0;
		background-color: transparent;
		margin-top: 60px;
		display: none;
		opacity: 0;
	}

	header #gNav .inner {
		width: 100%;
		margin: 0 auto;
	}


	header #gNav.fixed {
		position: absolute;
	}

	header.menuOpen #gNav {
		display: block;
		opacity: 1;
	}

	header #gNav nav {
		position: static;
		left: auto;
		width: 100%;
		margin: 0;
	}

	header #gNav nav > ul {
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-start;
		height: auto;
	}

	body:not(.kr) header #gNav nav > ul li {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	header #gNav nav > ul li,
	.kr header #gNav nav > ul li {
		width: 100%;
	}
	header #gNav nav > ul > li + li {
		margin: 0;
	}
	header #gNav nav > ul li a,
	.kr header #gNav nav > ul > li.menu > a {
		display: block;
		width: 100%;
		height: auto;
		padding: 25px 0;
	}
	header #gNav nav > ul li a span:after {
		content: none;
	}
	header #gNav nav > ul li.lang {
		display: none;
	}
	header #gNav nav > ul li.insta,
	header #gNav nav > ul li.fb {
		width: auto !important;
		margin: 40px 10px 0 !important;
	}
	header #gNav nav > ul li.insta a,
	header #gNav nav > ul li.fb a {
		padding: 0;
	}

/* 言語切替
--------------------------------------------------------- */
	header #switch-sp {
		display: block;
		position: absolute;
		right: 60px;
		top: 15px;
	}
	header #switch-sp a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 32px;
		height: 30px;
		color: #454545;
		font-size: 14px;
		line-height: 1;
		text-align: center;
	}
	header #switch-sp ul {
		width: 100%;
		position: absolute;
		left: 0;
		top: calc(100% - 2px);
		display: none;
	}
	header #switch-sp ul:before {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 5px 8px;
		border-color: transparent transparent #131313;
		margin: 0 auto;
	}
	header #switch-sp ul li + li {
		margin: 1px 0 0;
	}
	header #switch-sp ul a {
		background-color: #131313;
		color: rgba(255,255,255,.5);
	}
}

/************************************************************
/* コンテンツ
************************************************************/
article {
	overflow: hidden;
	padding-bottom: 190px;
}

section.w1000 {
	width: 1000px;
	margin: 0 auto;
}

#contentVis {
	background-color: #00664F;
	position: relative;
	height: 684px;
	margin-bottom: 100px;
}

#contentVis:before {
	content: "";
	width: 100%;
	height: 517px;
	position: absolute;
	top: 0;left: 0;
	background: url('/common/images/bg_top.png') top repeat-x;
}

#contentVis:after {
	content: "";
	position: absolute;
	height: 100px;
	width: 100%;
	bottom:100px;left: 0;
	background: url('/common/images/bg_bow.png') no-repeat center;
}

#contentVis h1 {
	background-repeat: no-repeat;
	background-position: top left;
	width: 1000px;
	height: 128px;
	margin: 0 auto;
	position: relative;
	text-indent: -9999px;
	z-index: 1;
}

#contentVis p {
	width: 1000px;
	margin: 0 auto;
	text-align: right;
	color: #fff;
}

#contentVis p + p {
	margin-top: 40px;
}

section .h-01 {
	font-size: 22px;
	font-family: 'Marcellus', serif;
	font-weight: normal;
	margin-bottom: 16px;
}

.janF {
	font-family: Helvetica , "游ゴシック" , "Yu Gothic" , "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", arial, verdana, Meiryo, "ＭＳ Ｐゴシック", Osaka !important;
	letter-spacing: 0.2em;
}

.tabMenu {
	position: absolute;
	width: 1000px;
	left:50%; bottom: -120px;
	margin-left: -500px;
}

.tabMenu ul {
	display: table;
	width: 1000px;
	margin: 0 auto;
}

.tabMenu li {
	display:table-cell;
	text-align: center;
	vertical-align: middle;
}

.tabMenu li a {
	display: block;
	font-family: 'Marcellus', serif;
	font-size: 22px;
	color: #454545;
	padding: 10px 10px;
	position: relative;
	letter-spacing: 0.1em;
}

.tabMenu li a:hover {
	color: #006951;
}

.tabMenu li a:after {
	content: "";
	width: 0;height: 0;font-size: 0;
	border: 5px solid transparent;
	position: absolute;
	bottom: -10px ;left: 50%;
	margin-left: -5px;
}

.tabMenu li a span {
	font-size: 16px;
	display: block;
	text-align: center;
}

.tabMenu a i {
	font-style: normal;
}

.textLink a {
	position: relative;
	margin-left: 20px;
}

.textLink a:before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #225545;
    border-right: 1px solid #225545;
    position: absolute;
    top: 50%;
    left: -20px;
    margin-top: -5px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: all .1s;
}

/*****************************************************************/
@media screen and (max-width: 920px) {
	article {
		padding-bottom: 0;
		margin-top: 60px;
	}

	section.w1000 {
		width: 100%;
	}

	#contentVis {
		height: auto;
		margin-bottom: 40px;
		background-color: transparent;
	}

	#contentVis:before {
		height: 140px;
	}

	#contentVis:after {
		height: 30px;
		bottom:auto;
		top: 100px;
		background-size: 600px;
		z-index: 1;
	}

	#contentVis h1 {
		width: 100%;
		height: 140px;
		background-color: #00664F;
		background-position: center top;
		background-size: contain !important;
	}

	#contentVis p {
		width: calc(100% - 20px);
		margin: 10px;
		text-align: left;
		color: #222;
	}

	#contentVis p + p {
		margin-top: 10px;
	}

	.tabMenu {
		position: static;
		width: 100%;
		left:auto;
		bottom: auto;
		margin-left: 0;
		margin-top: 30px;
	}

	.tabMenu ul {
		width: 100%;
	}

	.tabMenu li {
		position: relative;
	}

	.tabMenu li a {
		font-size: 12px;
		padding: 0;
		background-color: #f5f5f5;
		width: 100%;
		height: 100%;
		text-align: center;
		line-height: 1.2;
		height: 40px;
		position: relative;
	}

	.tabMenu li a span {
		font-size: 10px;
		display:block !important;
	}

	.tabMenu a i {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit-transform: translateY(-50%) translateX(-50%);
	}
}



/************************************************************
/* footer
************************************************************/
footer {
}

/*	ページトップボタン
------------------------------------------------------*/
.pageTop {
	width: 72px;
	z-index: 2;
	right : 20px;bottom: 0;
	position: fixed;
	margin-bottom: 50px;
}

.pageTop a {
	display: block;
	text-indent: -9999px;
	background: url('/common/images/pagetop.png') no-repeat center;
	background-size: 22px;
	width: 22px;
	height: 104px;
	position: relative;
}


/*****************************************************************/
@media screen and (max-width: 920px) {

	.pageTop {
		width: 25px;
		right : 10px;
		margin-bottom: 10px;
	}

}

/*	日本ヴァイオリンバナー
------------------------------------------------------*/
#nvBanner {
	position: fixed;
	top:50%;right: -93px;
	margin-top: 10px;
}

#nvBanner a {
	display: block;
	width: 142px;
	background: url('/common/images/nv_logo.png') no-repeat 30px center rgba(0, 0, 0, 0.6);
	background-size: 40px;
	color: rgb(255, 255, 255);
	font-size: 12px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 20px 5px;
	transform: rotate(-90deg);
	padding: 10px 0 10px 80px;
	border-bottom: 1px solid rgb(170, 170, 170);
	border-radius: 4px 4px 0px 0px;
	transition: all 0.1s linear;
	position: relative;
}

#nvBanner a:after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	position: absolute;
	top: 50%;right: 30px;
	margin-top: -4px;
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	     -ms-transform: rotate(45deg);
	        -o-transform: rotate(45deg);
	            transform: rotate(45deg);
	transition: all .1s;
}

#nvBanner a:hover:after {
	right: 26px;
	transition: all .1s;
}

/*****************************************************************/
@media screen and (max-width: 920px) {
	#nvBanner {
		top:10px;
		right: auto;
		left: 20px;
		margin-top: 0;
		z-index: 101;
	}

	#nvBanner a {
		background-position: center;
		background-color: transparent;
		box-shadow: none;
		transform: rotate(0deg);
		padding: 0;
		width: 40px;
		height: 40px;
		border-bottom: none;
		text-indent: -9999px;
	}

	#nvBanner a:after {
		content: none;
	}
}

/*	コピーライト
------------------------------------------------------*/
#copyRight {
	margin: 0;
	text-align: center;
	padding: 10px 0;
}

#copyRight p {
	font-size: 10px;
}


