@charset "UTF-8";
/* CSS Document */

/* <uniquifier>: Use a unique and descriptive class name
<weight>: Use a value from 200 to 900*/

body {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
	background-color: #faf5fa;
	padding: 0;
}
img {
	height: inherit;
}
p {
	line-height: 1.6;
	font-size: 93%;
}
p.center {
	text-align: center;
}
table {
	border-collapse: collapse;
}

a {
	color:#020E97;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}


.iframe-wrapper-wide {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.iframe-wrapper-wide iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* header */
header {
	text-align: center;
	width: 1000px;
	margin: 0 auto 10px;
}
.content {
	width: 1000px;
	margin: 0 auto;
}
.no-sp {
	display: none;
}

header img.title {
	margin: 30px auto;
	width:200px;
}

header img.title-emma {
	margin: 30px auto;
	width:150px;
}

/* メニュー */
nav ul {
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}
nav ul li {
	margin:0 6px;
	display: inline;
}
nav ul li a {
	color: #000;
	text-decoration: none;
	padding: 5px 0;
}
nav ul li a:hover {
	background-color:#FAE8FA;
	text-decoration: none;
}

/* 見出し*/
.center {
	text-align: center;
}
h1 {
	text-align: center;
	margin: 30px auto 40px;
}
h2 {
	margin-top:50px;
}
/* 見出し左右線*/

.side-border {
	align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
  justify-content: center; /* 文字を中央寄せ */
	margin-top: 50px;
}

.side-border:before,
.side-border:after {
    content: '';
    width: 50px;
    height: 1px;
    background-color: #000;
}
.side-border:before {
    margin-right: 15px;
}
.side-border:after {
    margin-left: 15px;
}

/* home */


.top-greeting h1 {
	font-size: 1.8em;
	margin: 30px auto 40px;
}
.home-piano {
	text-align: center;
}
.home-piano img {
	margin: 30px auto 10px;
	width: 800px;
}

.bgm {
	font-size: 79%;
	text-align: right;
}

img.top-img {
	margin: 0 auto 10px;
}
.chopin-link {
	text-align: center;
}
.salon {
	font-size: 2.2em;
	margin-top: 20px;
	margin-bottom: 0;
}
.enter {
	font-size: 1.7em;
	margin-top: 0;
}

.slide-items__wrap {
  margin: 0 auto 50px;
	line-height: 0;
}
ul.slide-items  {
	padding: 0;
	margin: 0;
}
ul.slide-items li {
	padding: 0;
	margin: 0;
}
.slide-items img {
  width: 100%;
  height: 100%;
}
.greeting {
	text-align: center;
	margin-bottom: 100px;
}

.container {
	display: flex;
	justify-content:space-around;
}
.container img {
	width: 100%;
}
.item {
	flex-basis: 25%;
	text-align: center;
}
.item a {
	color: #000;
	text-decoration: none;
}
.item a:hover {
	text-decoration: underline;
}

/* upcoming events */

.event {
	text-align: center;
}

.event img {
	margin: 30px auto 20px;
	width: 400px;
}

.event img.small {
	margin: 30px auto 20px;
	width: 300px;
}


/* Profile */

.profile-photo {
	text-align: center;
}
.profile-photo img {
	margin:10px;
}

img.line {
	display: block;
	width:350px;
	margin: 50px auto;
}

/* Partner */
.t-akiyama {
	text-align: center;
}

/* L'Astrée publishing */
#essay .content ul {
	padding: 0 10px 0 20px;
}
#essay .content ul li {
	list-style-type: circle;
	padding: 10px 0;
	line-height: 1.5;
}
#essays .content ul {
	padding: 40px 10px 30px;
}
#essays .content ul li {
	list-style-type: none;
	padding: 10px 0;
	line-height: 1.5;
}
.year {
	font-size: 86%;
	margin-right:15px;
}
.setumei {
	display: block;
	font-size: 86%;
	margin-top:6px;
}

/* chopin center */

p.salon-menu {
	font-size: 1.3em;
}

ul.salon-menu {
	overflow: hidden;
	margin: 0 auto 30px;
	text-align: center;
	padding: 0;
}
.salon-menu li {
	display: inline;
	list-style: none;
	font-size: 1.2em;
}
.salon-menu li a {
	padding: 10px;
}

.music {
	text-align: center;
}
.music p {
	margin: 5px auto;
}


img.center-top {
	display: block;
	width:80%;
	margin: 50px auto 50px;
}

#chopin table{
	width: 95%;
	margin: 20px 10px;
}
#chopin th {
	border: 1px solid #ccc;
	text-align: left;
	padding: 8px;
	font-size:86%;
}

#chopin td {
	border: 1px solid #ccc;
	padding: 8px;
	font-size:93%;
	line-height: 1.5;
}

#concert h2 {
	text-align: center;
	line-height: 1.5;
	color:#8F720E;
	font-size: 130%;
}
#concert h3 {
	text-align: center;
	line-height: 1.5;
	color:#8F720E;
}

.concert-photo {
	margin: 30px auto;
	text-align: center;
}

.concert-photo img.yoko {
	width: 300px;
	margin: 10px;
}

.concert-photo img.tate {
	width: 250px;
	margin: 10px;
}

.concert-photo iframe {
	margin: 30px auto;
}

/* Gallery */

.gallery-photo img {
	width: 200px;
	padding: 5px;
}

/* Angels cats */

#angels h2 {
	font-size: 130%;
	margin: 30px 0 20px;
}

.cats-photo img {
	width: 200px;
	padding: 5px;
}

/* contact */

.formTable {
	font-size:90%;
	line-height:1.5;
	width:100%;
}
.formTable th {
	padding:10px;
	border:1px solid #999;
	text-align:left;
	font-weight:normal;
	background-color:#f1e0f4;
}
.formTable td {
	padding:10px;
	border:1px solid #999;
}
.formTable td input {
	height:30px;
}
.formTable textarea {
	width:100%;
	height:250px;
}
.question_submit {
	text-align:center;
	margin:10px auto;
}
.question_submit input {
	border:1px solid #999;
	padding:10px;
	font-size:83%;
	background-color:#dec97f;
}

/* footer */

footer {
/*	background-color: #f1e0f4; */
	text-align: center;
	padding:20px 0 20px;
	overflow: hidden;
	font-size:86%;
	margin-top: 50px;
}
.footer-content {
	width: 1000px;
	margin: 0 auto;
}

ul.footer-menu {
	margin-bottom: 50px;
	
}

.pagetop {
	line-height:1;
	position: fixed;
	right:20px;
	bottom:40px;
}
.pagetop a {
	color: #BF9E51;
	border: 1px solid #C1AC63;
	text-decoration: none;
	padding: 10px;
}
.pagetop a:hover {
	text-decoration: none;
	color: #fff;
	background-color: #C1AC63;
}


/* レスポンシブ
--------------------------------------------- */

@media screen and (max-width: 480px) {
	
.no-pc {
		display: none;
	}
img {
		max-width:100%;
}
	/* header */
header {
	width: 96%;
	margin-bottom: 0;
}

.content {
	width: 90%;
}

	
.top-greeting h1 {
	font-size: 1.3em;
	margin: 0 auto 20px;
}


.greeting {
	text-align: left;
	margin-bottom: 50px;
}
.item {
	flex-basis: 30%;
}
.item p {
	margin: 10px auto;
}

.side-border {
	margin-bottom: 20px;
}
.salon-menu li {
font-size: 90%;
}
.salon-menu li a {
	padding: 5px;
}

/*===================
 contact
=====================*/
.formTable th {
	display:block;
	border-bottom:none;
}
.formTable td {
	display:block;
}
.formTable td input {
	width:95%;
}	

/* footer */

footer {
	background-color: #f1e0f4;
	text-align: center;
	padding:30px 0;
	overflow: hidden;
	font-size:86%;
}
.footer-content {
	width: 90%;
	margin: 0 auto;
}

ul.footer-menu {
	overflow: hidden;
	padding: 0;
	}
ul.footer-menu li {
	float:left;
	width:43%;
}
ul.footer-menu li a {
	margin:5px;
	padding:10px 5px;
	border:1px solid #fff;
	display:block;
}
	
/* スマホメニュー
--------------------------------------------- */
nav#site-navigation {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 300px;
  background: #FAE8FA;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
}
.open nav#site-navigation {
  left: 0;
  opacity: 1;
}
nav#site-navigation {
  padding: 40px 25px 0 25px;
}
nav#site-navigation ul {
  position: inherit;
  list-style: none;
  margin: 0;
  padding: 0;
}
nav#site-navigation ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #ff8400;
  text-align: left;
}
nav#site-navigation ul li a {
  display: block;
  color: #333;
  font-size: 14px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}

/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  position: fixed;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  transition: all .5s;
  cursor: pointer;
  z-index: 3;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 4px;
}
.toggle_btn span:nth-child(2) {
  top: 14px;
}
.toggle_btn span:nth-child(3) {
  bottom: 4px;
}
.open .toggle_btn span {
/*  background-color: #fff;*/
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
}

	
/* Angels cats */

.cats-photo img {
	width: 45%;
}

	/* 動画、PCでは幅狭め */

.iframe-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

	
	
}