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

/* ----------------------------------------------------------------------- 

 home

----------------------------------------------------------------------- */
.home header {
	width: 100%;
	height: 763px;
	padding-top: 700px;
	background: url(../img/top/mainimg.jpg) no-repeat;
	background-size: cover;
	position: relative;
}
.home header h1 {
	position: absolute;
	top: 42px;
	right: 44px;
	width: 143px;
	height: 77px;
}
.home h2.title01 {
	margin-bottom: 38px;
}
.home .ul01:first-of-type {
	margin-bottom: 16px;
}
.home .ul01:nth-of-type(2) li img {
	margin-bottom: 6px;
}

@media only screen and (min-width: 768px) {
	.home #main { padding: 77px 0 150px 0; }
}
@media only screen and (max-width: 767px) {
	.home header {
		height: 332px;
		padding: 0 0 300px 0;
	}
	.home #gNav {
		position: fixed;
	}
	.home header h1 {
		width: 70px;
		height: auto;
		top: 70px;
	}
}

/* ----------------------------------------------------------------------- 

  note

----------------------------------------------------------------------- */

@media only screen and (min-width: 768px) {
	.note .title02 {
		padding-top: 81px;
	}
}
@media only screen and (max-width: 767px) {
	.note .title02 img {
		height: 50px;
		width: auto;
	}
}

/* ----------------------------------------------------------------------- 

  note2

----------------------------------------------------------------------- */

.note2 .contentIn > div {
	padding-bottom: 50px;
}
.note2 .contentIn > div h3 {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 10px;
}
.note2 .contentIn > div h4 {
	font-size: 20px;
	font-weight: 600;
	border-bottom: 1px solid #E9E5E0;
	border-top: 1px solid #E9E5E0;
	padding: 20px 0;
	color: #444444;
	margin-bottom: 30px;
}
.note2 .contentIn > div img {
	margin-bottom: 15px;
}

@media only screen and (min-width: 768px) {
	.note2 .title02 {
		padding-top: 81px;
	}
	.note2 .contentIn > div {
		width: 500px;
		margin: 0 auto;
	}
	.note2 .pager {
		margin-top: 0;
	}
	.note2 .pager li {
		margin: 0 20px 0;
	}
	.note2 .pager li a {
		padding: 3px 15px;
	}
	.note2 .contentIn > div p {
		font-size: 15px;
	}
}
@media only screen and (max-width: 767px) {
	.note2 .title02 img {
		height: 50px;
		width: auto;
	}
	.note2 .contentIn > div h3 {
		font-size: 15px;
	}
	.note2 .contentIn > div h4 {
		font-size: 15px;
	}
	.note2 .pager li a {
		padding: 2px 4px;
	}
}

/* ----------------------------------------------------------------------- 

 blog

----------------------------------------------------------------------- */

@media only screen and (min-width: 768px) {
	.blog .title02 {
		padding-top: 97px;
	}
	
}
@media only screen and (max-width: 767px) {
	.blog .title02 img {
		height: 17px;
		width: auto;
	}
}
/* ----------------------------------------------------------------------- 

 contact

----------------------------------------------------------------------- */

.contact input.send {
	background: #E9E5E0 url(../img/contact/btn03.png) no-repeat;
	width: 160px;
	height: 46px;
}
.contact input.reset {
	background: #E9E5E0 url(../img/contact/btn04.png) no-repeat;
	width: 160px;
	height: 46px;
}
.contact form input,
.contact form textarea {
	width: 100%;
}
.contact input.send,
.contact input.reset {
	font-size: 0;
	cursor: pointer;
	margin: 0 8px;
}
.contact input.send:hover,
.contact input.reset:hover {
	opacity: 0.7;
}
.contact form dl dt {
	margin-bottom: 4px;
}
.contact form dl dd {
	margin-bottom: 20px;
}
.contact .btnArea {
	text-align: center;
	
}
@media only screen and (min-width: 768px) {
	.contact form dl {
		width: 500px;
		margin: 0 auto 55px;
	}
	.contact .title02 {
		padding-top: 97px;
	}
	.contact .title02 + p {
		width: 660px;
		margin: 0 auto 90px;
	}
	.contact form textarea {
		height: 200px;
	}
}
@media only screen and (max-width: 767px) {
	.contact form dl {
		margin: 0 auto 40px;
	}
	.contact .title02 img {
		height: 17px;
		width: auto;
	}
	.contact .title02 + p {
		margin: 0 auto 40px;
	}
	.contact input.send,
	.contact input.reset {
		margin-bottom: 20px;
	}
}

/* ----------------------------------------------------------------------- 

 product

----------------------------------------------------------------------- */

@media only screen and (min-width: 768px) {
	.product .title02 {
		padding-top: 97px;
	}
	
}
@media only screen and (max-width: 767px) {
	.product .title02 img {
		height: 17px;
		width: auto;
	}
}


/* ----------------------------------------------------------------------- 

 message

----------------------------------------------------------------------- */
.message #main {
	padding-bottom: 0;
}
.messageBox {
	background: url(../img/message/bg_message.jpg) no-repeat;
	background-size: cover;
}
.messageBox p {
	width: 620px;
	background: rgba(255,255,255,0.29);
	padding: 69px 86px 120px;
	margin: 0 auto;
}
.message .title02 {
	margin-bottom: 0;
	border-bottom: none;
}

@media only screen and (min-width: 768px) {
	.message .title02 {
		padding-top: 97px;
	}
}
@media only screen and (max-width: 767px) {
	.message .title02 img {
		height: 17px;
		width: auto;
	}
	.messageBox {
		margin: 0 -20px;
		padding: 0 20px;
		background-position: right bottom;
	}
	.messageBox p {
		width: 100%;
		padding: 20px;
	}
}

/* ----------------------------------------------------------------------- 

 books

----------------------------------------------------------------------- */

.books .titleArea01 {
	background: url(../img/books/bg_books01.jpg) no-repeat;
	background-size: cover;
	background-position: right center;
}
.books div.clearFix {
	padding-bottom: 60px;
}
.books div.clearFix h3 {
	margin-bottom: 60px;
}
.books .ul04 div h5 {
	margin-bottom: 15px;
}
.books div.clearFix div.floatR p {
		margin-top: 10px;
}
@media only screen and (min-width: 768px) {
	.books div.clearFix {
		width: 880px;
		margin: 0 auto;
	}
	.books div.clearFix p.floatL {
		width: 490px;
	}
	.books div.clearFix div.floatR {
		width: 266px;
	}
	.books .ul04 div h5 img {
		margin-top: -26px;
	}
}
@media only screen and (max-width: 767px) {
	.books div.clearFix div {
		margin: 30px auto 0;
	}
	.books div.clearFix h3 {
		margin-bottom: 30px;
	}
	.books div.clearFix div.floatR p {
		text-align: center;
		margin-top: 20px;
	}
}

/* ----------------------------------------------------------------------- 

 about

----------------------------------------------------------------------- */

.about .titleArea01 {
	background: url(../img/about/bg_about01.jpg) no-repeat;
	background-size: cover;
	background-position: right center;
}
.about .contentIn div:first-child h3 {
	margin-bottom: 60px;
}
.about .ul04 li h5 {
	margin-bottom: 24px;
}
.about div.clearFix h3 {
	padding: 40px 0 50px;
}
.about div.clearFix div.floatR h4,
.about div.clearFix div.floatR p {
	margin-bottom: 26px;
}
.about div.clearFix div.floatR table {
	margin-bottom: 85px;
}
#map {
	width: 440px;
	height: 270px;
}
.about div.clearFix div.floatR p.txtRight a:before {
	content: '';
	display: inline-block;
	border: 5px solid transparent;
	width: 0;
	height: 0;
	border-left: 7px solid #999;
}
@media only screen and (min-width: 768px) {
	.about .contentIn div:first-child {
		padding: 0 20px 80px 20px;
	}
	.about ul li div.floatR {
		width: 470px !important;
		min-height: 253px;
		position: relative;
		padding-bottom: 80px;
	}
	.about .ul04 li {
		padding-right: 0;
	}
	.about .ul04 li p {
		line-height: 1.7;
	}
	.about .ul04 li p.btn02 {
		position: absolute;
		bottom: 0;
		width: 100%;
	}
	.about div.clearFix {
		padding: 0 20px 0 40px;
	}
	.about div.clearFix p.floatL {
		width: 380px;
	}
	.about div.clearFix div.floatR {
		width: 440px;
	}
}
@media only screen and (max-width: 767px) {
	.about .contentIn div:first-child {
		padding: 0 0 40px 0;
	}
	.about .contentIn div:first-child h3 {
		margin-bottom: 30px;
	}
	.about div.clearFix h3 img {
		height: 14px;
		width: auto;
	}
	.about ul li p.floatL {
		margin-bottom: 20px;
	}
	.about .ul04 li p.btn02 {
		margin-top: 20px;
		text-align: center;
	}
	.about div.clearFix div.floatR table {
		margin-bottom: 30px;
	}
	#map {
		width: 100%;
	}
}

/* ----------------------------------------------------------------------- 

 order

----------------------------------------------------------------------- */
	
.order h2 {
	margin-bottom: 110px;
}
.order .box01 {
	margin-bottom: 84px;
}
.order .box01 h4 {
	margin-top: -18px;
}
.gallery {
	clear: both;
	border: 1px solid #ccc;
	text-align: center;
	padding-bottom: 20px;
}
.gallery h5 {
	padding: 40px 0 30px;
	font-weight: normal;
}
.gallery li {
	width: 110px;
	margin: 0 4px 15px;
	display: inline-block;
}
.gallery li a {
	display: block;
	padding: 2px;
	border: 1px solid #ccc;
}
.order .w780 div.floatL h4 {
	margin-bottom: 35px;
}
.order .w780:after {
	content:"";
	display:block;
	clear:both;
}
.box02 h4 {
	margin-bottom: 26px;
}
.box02 h4 img {
	margin-top: 30px;
}

@media only screen and (min-width: 768px) {
	.order .w780 div.floatL {
		width: 400px;
	}
	.order .w780 p.floatR {
		width: 348px;
	}
	.box02 {
		padding: 0 60px 0 130px;
		margin-bottom: 100px;
	}
	.box02 .floatL {
		width: 213px;
	}
	.box02 .floatR {
		width: 410px;
		margin-bottom: 80px;
	}
	.box02 h4 img {
		margin-left: -96px;
	}
	.box04 {
		padding: 30px 60px;
	}
	.box04 .floatL {
		width: 300px;
	}
	.box04 .floatR {
		width: 480px;
		margin-bottom: 80px;
	}
}
@media only screen and (max-width: 767px) {
	.order h2 {
		margin-top: -20px;
		margin-bottom: 40px;
	}
	.order .box01 {
		margin-bottom: 30px;
	}
	.order .box01 .floatL,
	.order .box02 .floatL,
	.order .box04 .floatL {
		width: 60%;
		margin: 0 auto 20px;
	}
	.box02 .floatR {
		margin-bottom: 30px;
	}
	.gallery {
		margin-bottom: 30px;
	}
	.gallery li {
		width: 28%;
	}
	.order .w780 {
		margin-bottom: 40px !important;
	}
	.order .w780 ul {
		width: 70%;
		margin: 0 auto;
	}
	.order .w780.mb110 p.floatR {
		margin-top: 30px;
		margin-bottom: 40px;
	}
	.order .w780 ul.mb110 {
		margin-bottom: 40px !important;
	}
	.order .w780 ul li {
		padding: 0;
		margin-bottom: 30px;
	}
	.title04.mb80 {
		margin-bottom: 40px !important;
	}
	h5.clearB.mb20 img {
		height: 20px;
		width: auto;
		margin: 0 auto 30px;
	}
}


/* ----------------------------------------------------------------------- 

 remake

----------------------------------------------------------------------- */
.remake .contentIn{
/*	width:940px;*/
	color:#333;
}
.remake .box01{
	margin-bottom:-25px;
	padding:0 50px;
}
.remake .box01 .title05{
	padding:95px 0 50px;
}
.remake .title04{
	margin:85px auto 50px;
}
.remake .title04 img{
	margin:0 0 -1px 60px;
}
.remake .title04 + h4{
	width:820px;
	margin:60px auto 15px;
}
.remakeBox01,
.remakeBox02,
.remakeBox03{
	width:820px;
	margin:0 auto;
}
.remakeBox01:after,
.remakeBox02:after,
.remakeBox03:after{
	content:"";
	display:block;
	clear:both;
}
.remakeBox01{
	display:table;
}
.remakeBox01 > .floatL,
.remakeBox01 > .floatR{
	display:table-cell;
	float:none;
	vertical-align:bottom;
}
.remakeBox02{
	margin-top:80px;
}
.remakeBox02 > .floatR{
	width:370px;
}
.remakeBox02 > .floatR > p{
	margin:20px 0 25px;
	line-height: 1.6;
}
.remakeBox02 > .floatR > ul > li{
	padding:5px 0;
	font-size:12px;
	border-bottom:1px solid #CCCCCC;
}
.remakeBox02 > .floatR > ul > li:first-child{
	border-top:1px solid #CCCCCC;
}
.remakeBox03 > .floatL{
	width:500px;
}
.remakeBox03 > .floatR{
	padding-top:35px;
}
.remakeBox03 .floatL > ol > li{
	display:table;
	width:100%;
	min-height:65px;
	padding:10px 0;
	line-height: 1.6;
	border-top:1px solid #CCCCCC;
}
.remakeBox03 .floatL > ol > li:first-child{
	border:none;
}
.remakeBox03 .floatL > ol > li > span{
	display:table-cell;
	vertical-align:middle;
	text-align:left;
}
.remakeBox03 .floatL .ol-image{
	width:70px;
}
.remakeBox03 .floatL > p{
	padding:20px 0 20px 60px;
	font-size:16px;
	line-height: 1.6;
	border:1px solid #bbb;
}
.remakeBox03 .floatL > p span{
	font-size:22px;
}
.remakeBox03 .floatL > div > a{
	margin-top:15px;
	display:block;
	background:#E9E5E0;
	border:1px solid #BBBBBB;
}



@media only screen and (max-width: 767px) {
	.remake .contentIn{
		width:100%;
	}
	.remake .title03{
		margin:-40px -20px 0;
	}
	.remake .box01{
		margin-bottom:0;
		padding:0;
	}
	.remake .box01 .title05{
		padding:35px 0 30px;
	}
	.remake .title04{
		margin:50px auto 30px;
	}
	.remake .title04 img{
		margin-left:10px;
	}
	.remake .title04 + h4{
		width:65%;
		margin:30px auto 20px;
	}
	.remakeBox01,
	.remakeBox02,
	.remakeBox03{
		width:100%;
	}
	.remakeBox02{
		margin-top:30px;
	}
	.remakeBox02 > .floatR{
		width:100%;
		margin-bottom:15px;
	}
	.remakeBox02 > .floatR > h5{
		width:70%;
	}
	.remakeBox02 > .floatR > p{
		margin:15px 0;
	}
	.remakeBox02 > .floatR > ul > li{
		font-size:11px;
	}
	.remakeBox03 > .floatL{
		width:100%;
	}
	.remakeBox03 > .floatR{
		display:none;
	}
	.remakeBox03 .floatL .ol-image{
		width:40px;
		padding-right:15px;
	}
	.remakeBox03 .floatL > p{
		padding:20px 15px 20px;
		font-size:12px;
		line-height: 1.2;
	}
	.remakeBox03 .floatL > p span{
		font-size:18px;
	}
}


/* ----------------------------------------------------------------------- 

 lesson

----------------------------------------------------------------------- */
.lesson .titleArea01{
	height: auto;
	padding-top: 65px;
}
.lesson img{
	margin: auto;
}
.lesson .wreath{
	margin-bottom: 85px;
}
.lesson .wreath h3{
	margin-bottom: 65px;
}
.lesson .wreath ul{
	width: 920px;
	margin: auto;
	overflow: hidden;
}
.lesson .wreath ul li{
	width: 200px;
	float: left;
	font-size: 13px;
	line-height: 1.6;
	margin: 35px 40px 0 0;
}
.lesson .wreath ul li img {
	margin-bottom: 6px;
}
.lesson .wreath ul li:nth-child(-n+4){
	margin-top: 0;
}
.lesson .wreath ul li:nth-child(4n) {
	margin-right: 0;
}
.lesson .wreath ul li a{
	display: block;
	margin-top: 10px;
	text-decoration: underline;
}
.lesson .wreath ul li a:hover{
	text-decoration: none;
}
.lesson .classroom,
.lesson .businessTrip{
	padding: 60px 0;
	border-top: solid 1px #bbb;
}
.lesson #main .clearFix{
	width: 790px;
	margin-left: 135px;
}
.lesson .classroom .lead{
	margin-bottom: 65px;
}
.lesson .businessTrip .lead{
	margin-bottom: 35px;
}
.lesson .floatL{
	width: 314px;
}
.lesson h3.floatL img{
	margin-right: 0;
}
.lesson img + img{
	margin-top: 20px;
}
.lesson .floatR{
	width: 435px;
}
.lesson p.floatR{
	padding-top: 5px;
}
.lesson .floatR dl + dl{
	margin-top: 25px;
}
.lesson .floatR dl dt{
	font-weight: bold;
}
.lesson .classroom h4{
	color:#444;
	font-size: 16px;
	font-weight: normal;
	margin-bottom: 0.4em;
}
.lesson .classroom p.btn04{
	width: 260px;
	padding: 11px 0 11px 53px;
	margin: 65px 0 50px 20px;
	border: solid 1px #bbb;
}
.lesson .classroom p.btn04 a{
	display: block;
	color:#444;
	background: url(../common/img/ico/ico_link01.png) no-repeat center right 55px;
}

@media only screen and (max-width: 767px) {
	.lesson #main{
		padding-bottom: 5px;
	}
	.lesson .titleArea01{
		padding-top: 0;
	}
	.lesson img{
		max-width: 100%;
		width: auto;
		height: auto !important;
		margin: auto;
	}
	.lesson .wreath{
		margin-bottom: 30px;
	}
	.lesson .wreath h3{
		margin-bottom: 30px;
	}
	.lesson .wreath h3 img{
		max-height: 10px;
	}
	.lesson .wreath ul{
		width: auto;
	}
	.lesson .wreath ul li{
		width: 48%;
		margin: 0 4% 20px 0;
	}
	.lesson .wreath ul li:nth-child(even) {
		margin-right: 0;
	}
	.lesson .wreath ul li a{
		margin-top: 5px;
	}
	.lesson .classroom,
	.lesson .businessTrip{
		padding: 35px 0;
	}
	.lesson #main .clearFix{
		width: auto;
		margin-left: 0;
	}
	.lesson .classroom .lead,
	.lesson .businessTrip .lead{
		margin-bottom: 20px;
	}
	.lesson .floatL{
		width: auto;
		margin-bottom: 25px;
	}
	.lesson h3.floatL{
		margin-bottom: 20px;
	}
	.lesson h3.floatL img{
		max-height: 25px;
		margin-right: auto;
	}
	.lesson img + img{
		margin-top: 10px;
	}
	.lesson .floatR{
		width: auto;
	}
	.lesson p.floatR{
		padding-top: 0;
	}
	.lesson .floatR dl + dl{
		margin-top: 15px;
	}
	.lesson .classroom p.btn04{
		width: 80%;
		padding: 11px 0 11px 18%;
		margin: 35px auto;
	}
	.lesson .classroom p.btn04 a{
		background: url(../common/img/ico/ico_link01.png) no-repeat center right 20%;
	}
}
