/* header start */

#header {
	background-image: url(../images/bgl01d.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	z-index: 100;
}

#logo {
	float: left;
	margin: 15px 0 15px 15px;
}

@media screen and (max-width: 1255px) {
  h1 {
    position: relative;
	background: url(../images/logo_s.png) no-repeat;
	width: 204px;
	height: 30px;
	z-index: 50;
  }
}

#menu {
	margin: 50px 20px 0 0;
}

@media screen and (max-width: 1255px) {
  #menu {
	margin: 32px 20px 0 0;
  }
}

@media screen and (max-width: 1130px) {
  #menu {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	padding: 0;
	text-align: right;
	width: 100%;
	z-index: 10;
  }
}

@media screen and (min-width: 1131px) {
  #menu_b {
	display: none;
  }
}

#menu li {
	display: inline;
	margin-left: 10px;
	padding: 10px;
}

@media screen and (max-width: 1130px) {
  #menu li:first-child {
	margin-left: 0;
  }
}

#menu li a:hover {
	border-bottom: 5px solid;
	border-color: rgba(256,256,256,0.7);
}

#menu li#now_p {
	background: rgba(256,256,256,0.8);
	-moz-border-radius: 10px 10px 0 0;
    -webkit-border-radius: 10px 10px 0 0;
    border-radius: 10px 10px 0 0;
}

@media screen and (max-width: 1130px) {
  #menu li#now_p {
	display: none;
  }
}

#menu li#now_p a {
	color: #000000;
}

#menu li#now_p a:hover {
	border-bottom: none;
}

@media screen and (max-width: 1130px) {
  #menu_b {
	display: block;
	float: right;
	width: 60px;
	height: 60px;
  }
  #menu_list {
	display: none;
	position: absolute;
	top: 60px;
	text-align: left;
	margin: 0;
	padding: 0;
	width: 100%;
  }
  #menu ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	width: 100%;
	background: #ffffff;
  }
  #menu li {
	margin: 0;
	padding: 0;
	width: 100%;
  }
  #menu li a {
	width: 100%;
	margin: 0;
	padding: 0;
	color: #333333;
	text-decoration: none;
	font-size: 18px;
	font-weight: 300;
  }
  #menu li a span {
	display: block;
	padding: 10px 10px 10px 27px;
	background: #f4f4f4 url(../images/link_icon.png) 10px 18px no-repeat;
	border-bottom: 1px dotted #bbbbbb;
  }
  #menu li a:hover span {
	background: #ffffff url(../images/link_icon_over.png) 10px 18px no-repeat;
  }
}

/* header end */






/* main start */

#main {
	position: relative;
	top: 77px;
	width: 1050px;
	margin: 0 auto;
	padding: 0;
}

@media screen and (max-width: 1160px) {
  #main {
	top: 60px;
  }
}

@media screen and (max-width: 1050px) {
  #main {
	width: 100%;
  }
}

@media screen and (max-width: 1010px) {
  #main {
	top: 97px;
  }
}

@media screen and (max-width: 790px) {
  #main {
	top: 60px;
  }
}

#page_title {
	margin: 70px 20px 50px 20px;
}

h2 {
	float: left;
	font-size: 42px;
	margin: 0;
	padding: 0;
	line-height: 1;
	font-weight: 300;
}

@media screen and (max-width: 790px) {
  h2 {
	float: none;
  }
}

#pagenai_link {
	float: right;
	list-style-type: none;
	margin: 10px 0 0 0;
	padding: 0;
}

@media screen and (max-width: 790px) {
  #pagenai_link {
	float: none;
	margin: 40px 0 0 0;
  }
}

#pagenai_link li {
	display: inline-block;
	margin: 0 0 0 10px;
}

@media screen and (max-width: 790px) {
  #pagenai_link li:first-child {
	margin: 0;
  }
}

#pagenai_link li a {
	display: inline-block;
	padding: 4px 22px 4px 10px;
	background-image: url(../images/pagenai_link_icon.png);
	background-position: right 7px top 10px;
	background-repeat: no-repeat;
	color: #333333;
	text-decoration: none;
	font-weight: 300;
}

@media screen and (max-width: 790px) {
  #pagenai_link li a {
	background-position: right 7px top 12px;
	background-color: #f4f4f4;
	-moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
  }
}

#pagenai_link li a:hover {
	background-color: #f7e4de;
	background-image: url(../images/pagenai_link_icon_over.png);
	-moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
}

.main_in {
	margin: 0 20px;
}

#illust01, #illust01b, .img_pc, .img_both {
	float: right;
	margin: 10px 0 30px 30px;
}

@media screen and (max-width: 1050px) {
  #illust01 {
	display: none;
  }
}

@media screen and (min-width: 1051px) {
  #illust01b {
	display: none;
  }
}

@media screen and (max-width: 767px) {
  #illust01b, .img_pc {
	display: none;
  }
}

h3 {
	font-size: 28px;
	font-weight: 300;
	margin: 50px 0 20px 0;
}

dl.webtech {
	text-align: left;
	margin: 15px 0 0 0;
}

dl.webtech dt {
	background: url(../images/webtech_bg.gif) 0 5px no-repeat;
	padding: 0 0 0 16px;
	margin: 0 0 10px 0;
	width: 160px;
	float: left;
	font-size: 16px;
	line-height: 25px;
}

dl.webtech dt span {
	display: inline-block;
	width: auto;
	background: #ffffff;
	padding-right: 5px;
}

dl.webtech dd {
	margin: 0 0 10px 175px;
	font-size: 14px;
	line-height: 25px;
}

@media screen and (max-width: 740px) {
  img#illust02 {
	width: 100%;
  }
}

@media screen and (max-width: 452px) {
  img#illust03 {
	width: 100%;
  }
}

@media screen and (max-width: 490px) {
  img#photo03 {
	width: 100%;
  }
}

.main_in table {
	border-top: 1px solid #ded8ce;
	border-bottom: 1px solid #ded8ce;
	border-collapse: collapse;
	width: auto;
	margin: 20px 0 0 0;
	text-align: left;
}

.main_in th, .main_in td {
	border-top: 1px solid #ded8ce;
	border-bottom: 1px solid #ded8ce;
	border-collapse: collapse;
	padding: 7px 20px 7px 10px;
	vertical-align: top;
	line-height: 1.8;
	text-align: left;
}

.main_in th {
	font-weight: 400;
	white-space: nowrap;
}

@media screen and (min-width: 1000px) {
	.main_in td:last-child {
		white-space: nowrap;
		text-align: center;
	}
}

@media screen and (max-width: 767px) {
  .main_in th {
	padding: 7px 5px 7px 0;
	font-size: 14px;
  }
  .main_in td {
	padding: 7px 0 7px 10px;
	font-size: 14px;
  }
}

.main_in table a { text-decoration: none; }

.main_in table a.u_l { text-decoration: underline; }

.main_in table a.u_l:hover { background: #ddeeee; }


.clm3 {
	float: left;
	width: 310px;
	height: 380px;
	margin: 10px 20px;
	padding: 0;
}

.clm3b {
	float: left;
	width: 310px;
	height: 250px;
	margin: 10px 20px;
	padding: 0;
}

.clm3 a.sum_border {
	display: block;
	width: 300px;
	height: auto;
	padding: 5px;
	background: #ededed;
	-moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

a.sum_border2 {
	display: block;
	width: 400px;
	height: 251px;
	padding: 5px;
	margin: 0 auto;
	background: #ededed;
	-moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

.alpha a:hover img {
	-webkit-filter: brightness(0.9);
    -moz-filter: brightness(0.9);
    -o-filter: brightness(0.9);
    -ms-filter: brightness(0.9);
    filter: brightness(0.9);
}

@media screen and (max-width: 1050px) {
  .case_box {
	width: 1020px;
	margin: 0 auto;
  }
  .clm3, .clm3b {
	margin: 10px 15px;
  }
}

@media screen and (max-width: 1020px) {
  .case_box {
	width: 700px;
	margin: 0 auto;
  }
  .clm3, .clm3b {
	margin: 10px 20px;
  }
}

@media screen and (max-width: 750px) {
  .case_box {
	width: 350px;
  }
}

@media screen and (max-width: 699px) {
  .clm3, .clm3b {
	height: auto;
  }
}

a.case_link, .case_link2 a {
	display: inline-block;
	background-image: url(../images/link_icon.png);
	background-repeat: no-repeat;
	background-position: 5px 12px;
	color: #555555;
	text-decoration: none;
}

a.case_link {
	padding: 7px 0 0 24px;
}

.case_link2 a {
	padding: 10px 0 0 24px;
}

a.case_link span,
.case_link2 a span {
	display: inline-block;
	background-image: url(../images/betsuwin.gif);
	background-repeat: no-repeat;
	background-position: right 4px;
	padding: 0 22px 0 0;
}

.clm3 p {
	padding: 10px 0 0 0;
	margin: 0;
	line-height: 1;
}

a.betsuwin {
	display: inline-block;
	background-image: url(../images/betsuwin.gif);
	background-repeat: no-repeat;
	background-position: right 8px;
	padding: 0 22px 0 0;
	margin-right: 5px;
}

a.case_link span {
	background-position: right 4px;
}

.case_link2 a span {
	background-position: right 2px;
}

a.case_link:hover, .case_link2 a:hover {
	background-image: url(../images/link_icon_over.png);
	color: #000000;
}

.case_link2 p {
	margin: 10px 0 0 0;
	line-height: 1;
}

.main_in ul {
	margin: 0;
}

.main_in ul li {
	line-height: 2;
}

h4 {
	margin: 25px 0 10px 0;
	font-size: 18px;
	font-weight: 400;
	border-left: 6px solid #ded8ce;
	padding-left: 6px;
}

.manupic img {
	margin: 20px;
}

@media screen and (max-width: 767px) {
  .manupic img {
	margin: 20px auto 0 auto;
  }
}

@media screen and (max-width: 468px) {
  .manupic img {
	width: 100%;
  }
}

/* main end */






/* Google Map start */

@media screen and (min-width: 1020px) {
  #gaiyou {
	float: left;
	width: 600px;
  }
  #googlemap370 {
	float: right;
	width: 370px;
  }
  #googlemap600 {
	display: none;
  }
}

@media screen and (max-width: 1019px) {
  #gaiyou {
	float: none;
	width: auto;
  }
  #googlemap370 {
	display: none;
  }
  #googlemap600 {
	width: 600px;
	margin: 30px auto;
  }
}

@media screen and (max-width: 640px) {
  #googlemap370 {
	display: block;
	margin: 30px auto;
  }
  #googlemap600 {
	display: none;
  }
}

/* Google Map end */







/* 隠し文 start */

.more {
margin-top: 30px;
}

.more .open, .more .close {
	font-size: 14px;
}

.more p {
	margin-bottom: 40px;
}

/* 隠し文 end */





/* お問い合わせフォーム start */

#mailform input.inputwidth90, #mailform textarea {
	width: 90%;
	font-size: 16px;
}

@media screen and (max-width: 767px) {
  #mailform input.inputwidth90, #mailform textarea {
	width: 100%;
  }
}

#send_btn {
	text-align: center;
	margin: 15px 0;
}

#send_btn ul { list-style-type: none; margin: 0; padding: 0; }
#send_btn ul li { display: inline; margin: 0 30px; }
#send_btn input {
	border: 0;
	width: 77px;
	height: 35px;
}
#send_btn input#b_send { background: url(../images/b_send.gif) no-repeat; }
#send_btn input#b_reset { background: url(../images/b_reset.gif) no-repeat; }
#send_btn input:hover {
	cursor: pointer;
}
#send_btn input#b_send:hover { background: url(../images/b_send_over.gif) no-repeat; }
#send_btn input#b_reset:hover { background: url(../images/b_reset_over.gif) no-repeat; }

#mailformpro dd p {
	margin: 0 0.5em 0 0;
}

/* お問い合わせフォーム end */





/* プライバシーポリシー start */

#privacy h3 {
	font-size: 20px;
}

#privacy p {
	font-size: 12px;
}

#privacy h4 {
	font-size: 14px;
}

/* プライバシーポリシー end */






/* 個人レッスン start */

@media screen and (min-width: 768px) {
  .pic_l {
	float: left;
	margin: 0 20px 20px 0;
  }
  .pic_r {
	float: right;
	margin: 0 0 20px 20px;
  }
}

@media screen and (max-width: 767px) {
  .pic_l, .pic_r {
	margin: 0 auto;
	text-align: center;
  }
}

@media screen and (max-width: 451px) {
  #site_sum07 {
    width: 100%;
  }
}

@media screen and (max-width: 597px) {
  #photo05 {
    width: 100%;
  }
}

/* 個人レッスン end */






/* イベント start */

#event h2 {
    float: none;
}

#event #pagenai_link {
	float: none;
	margin: 50px 0 0 0;
	padding: 0;
}

#event #header {
	background-image: url(../images/bgl08.jpg);
	background-size: auto;
	background-position: left top;
	background-repeat: repeat;
}

#event #pagenai_link li a {
	display: inline-block;
	padding: 22px 15px 20px 60px;
	background-position: 5px 5px;
	background-repeat: no-repeat;
	color: #333333;
	text-decoration: none;
	font-weight: 300;
}

#event #pagenai_link li a.kokoro { background-image: url(../images/event_icon1.png); }
#event #pagenai_link li a.ufo { background-image: url(../images/event_icon2.png); }
#event #pagenai_link li a.sf { background-image: url(../images/event_icon3.png); }
#event #pagenai_link li a.cal { background-image: url(../images/event_icon4.png); }

@media screen and (max-width: 850px) {
  #event #pagenai_link li a {
	background-color: #f4f4f4;
    border-radius: 12px;
	margin-bottom: 20px;
  }
}

#event #pagenai_link li a:hover {
	background-color: #fcf4f1;
    border-radius: 12px;
}

#event #footer {
	background-image: url(../images/bgl08.jpg);
	background-size: auto;
	background-position: left -197px;
	background-repeat: repeat;
}

.kokoro_main {
	background: url(../images/kokoro.jpg) no-repeat;
	padding: 200px 0 50px 0;
}

.kokoro_txt1 {
	margin: 0 0 0 80px;
	line-height: 1.8;
}

.kokoro_txt2 {
	text-align: right;
	margin: 0 140px 30px 0;
	line-height: 1.5;
}

.kokoro_txt3 {
	display: none;
}

@media screen and (max-width: 1070px) {
  .kokoro_main {
	background: url(../images/kokoro2.jpg);
	border-radius: 30px;
	padding: 20px;
  }
  .kokoro_txt3 {
    display: block;
	font-size: 28px;
	color: #2d924c;
	font-weight: 400;
	margin: 10px 0 40px 0;
	line-height: 1.5;
  }
  .kokoro_txt1 {
    margin: 0 0 40px 0;
  }
  .kokoro_txt2 {
    margin: 0 0 25px 0;
	line-height: 1.5;
	text-align: left;
  }
}

#syaberanai {
	position: relative;
}

@media screen and (max-width: 1050px) {
  #syaberanai img {
    width: 100%;
  }
}

#syaberanai div {
	position: absolute;
	top: 0;
	right: 0;
	width: 416px;
	height: 237px;
	text-align: center;
	background: url(../images/syaberanai_kakomi.jpg) no-repeat;
	padding-top: 50px;
	line-height: 1.7;
}

@media screen and (max-width: 940px) {
  #syaberanai div {
    position: relative;
	margin: 30px auto 0 auto;
  }
}

@media screen and (max-width: 480px) {
  #syaberanai div {
	width: auto;
	height: auto;
	background: none;
	text-align: left;
  }
}

.syabe_img {
	margin-top: 80px;
}

#event table, #event table tr, #event table th, #event table td {
	border: 2px solid #ffffff;
}

#event table th, #event table td {
	padding: 7px 15px;
}

#event table thead tr {
	background: #c6e3c0;
}

#event table thead th {
	text-align: center;
}

#event table tbody tr:nth-child(even) {
	background: #fffacf;
} 

#event table tbody th {
	text-align: right;
}

.sf_l {
	float: left;
	width: 450px;
}

.sf_r {
	float: right;
	background: url(../images/sf_frame.jpg) no-repeat;
	padding: 81px 85px 90px 87px;
	margin: 0 auto;
	width: 350px;
}

#sf img {
	width: 100%;
}

@media screen and (max-width: 1070px) {
	.sf_l, .sf_r { float: none; }
	.sf_l { width: auto; }
}

@media screen and (max-width: 570px) {
	.sf_r {
		background: none;
		padding: 0;
		margin: 50px 0 0 0;
		width: auto;
	}
}

/* イベント end */






/* topへボタン start */

#go_top {
	position: fixed;
	bottom: 15px;
	right: 15px;
	z-index: 100;
}

#go_top a {
	display: block;
	width: 44px;
	height: 44px;
	background: url(../images/gotop.png) no-repeat;
}

#go_top a:hover {
	background: url(../images/gotop_over.png) no-repeat;
}

#go_top a span {
	display: none;
}

/* topへボタン end */







/* footer start */

#footer {
	background-image: url(../images/bgl01d.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	width: 100%;
	margin: 130px 0 0 0;
	padding: 0;
}

#footer p#sns, #footer p#copy {
	display: inline-block;
	margin: 0;
	padding: 15px 0 10px 20px;
}

#footer p#copy a {
	color: #ffffff;
	text-decoration: none;
}

#footer p#copy a:hover {
	text-decoration: underline;
}

/* footer end */





@media screen and (min-width: 641px) {
	.book {
		overflow: hidden;
	}
	.book_img {
		display: inline-block;
		float: right;
		margin: 0 0 1em 1em;
	}
}

@media screen and (max-width: 640px) {
	.book_img {
		text-align: center;
		margin: 1em;
	}
}