@charset "utf-8";
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/

#main .mainImg {
	position: relative;
}

#main .mainImg .photoUl {
	position: relative;
}

#main .mainImg .bgUl li.prev {
	width: calc((100% - 1039px)/2);
	height: 690px;
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(89,38,4,0.5);
	z-index: 15;
}

#main .mainImg .bgUl li.next {
	width: calc((100% - 1039px)/2);
	height: 690px;
	position: absolute;
	right: 0;
	top: 0;
	background-color: rgba(89,38,4,0.5);
	z-index: 15;
}

#main .mainImg .slick-slide {
	padding: 0 15px;
}

#main .mainImg .slick-dots {
	margin-top: -7px;
	text-align: center;
	background-color: #E0D7B0;
}

#main .mainImg .slick-dots li {
	margin: 0 3px;
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 100px;
	background-color: #fff;
	cursor: pointer;
}

#main .mainImg .slick-dots li button {
	display: none;
}

#main .mainImg .slick-dots li.slick-active {
	background-color: #4C413C;
}

#main .mainImg .arrowUl li {
	margin: -33px 0 0 -575px;
	width: 33px;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 17;
	cursor: pointer;
}

#main .mainImg .arrowUl li:hover {
	opacity: 0.7;
}

#main .mainImg .arrowUl li.next {
	margin: -33px -575px 0 0;
	left: auto;
	right: 50%;
}

#main .infoBox {
	padding: 14px 0 74px;
	background-color: #E0D7B0;
}

#main .infoBox .comBox {
	padding-left: 17px;
}

#main .infoBox .tableBox {
	width: 461px;
	float: left;
}

#main .infoBox .tableBox table {
	width: 100%;
	font-family: 'KaiminSoStd';
	border-collapse: collapse;
	border: 1px solid #4C413C;
}

#main .infoBox .tableBox table th,
#main .infoBox .tableBox table td {
	padding: 2px 1px 1px;
	font-size: 2.3rem;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #4C413C;
	background-color: #fff;
}

#main .infoBox .tableBox table thead th {
	padding: 0 0 2px;
	font-size: 1.6rem;
	color: #fff;
	line-height: 1.3;
	border-right: 1px solid #fff;
	background-color: #4C413C;
}

#main .infoBox .tableBox table thead th:first-child {
	letter-spacing: 3px;
}

#main .infoBox .tableBox table thead th:last-child {
	border: none;
}

#main .infoBox .tableBox table tbody th {
	width: 37%;
	font-size: 1.7rem;
	letter-spacing: -0.5px;
	background-color: #DDDDDD;
}

#main .infoBox .tableBox table tbody td {
	width: 9%;
}

#main .infoBox .tableBox table tbody td.line {
	background: url(../img/index/icon01.png) no-repeat left top #fff;
	background-size: 100% 100%;
}

#main .infoBox .txtBox {
	width: 305px;
	float: right;
}

#main .infoBox .txtBox p {
	color: #4D3541;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
}

#main .infoBox .txtBox .ttl {
	margin-top: 6px;
}

#main .infoBox .txtBox .ttl span {
	margin-right: 14px;
	padding: 3px 11px 3px 10px;
	color: #fff;
	display: inline-block;
	vertical-align: middle;
	letter-spacing: 1px;
	background-color: #44895C;
}

#main .infoBox .bnr {
	margin: 25px auto 0;
	max-width: 774px;
}

#main .infoBox .bnr a {
	display: block;
}

#main .infoBox .bnr a:hover {
	opacity: 0.7;
}

#main .infoBox .bnr img {
	width: 100%;
}

#main .benefit ul {
	background-color: #836392;
}

#main .benefit li {
	color: #fff;
	text-align: center;
	overflow: hidden;
}

#main .benefit li > div {
	width: 50%;
	float: right;
}

#main .benefit li .textBox {
	padding: 26px 0 30px;
	float: left;
}

#main .benefit li:nth-child(2n) .photoBox {
	float: left;
}

#main .benefit li:nth-child(2n) .textBox {
	float: right;
}

#main .benefit li h3 {
	padding-bottom: 5px;
	margin-bottom: 25px;
	line-height: 1.5;
	font-size: 3.5rem;
	letter-spacing: 2px;
	font-family: 'KaiminSoStd';
	border-bottom: 2px solid #fff;
}

#main .benefit li h3 span {
	margin-bottom: 8px;
	color: #DAE000;
	display: block;
	line-height: 1;
	font-family: 'IowanOldStBTRoman';
	font-weight: normal;
	font-size: 5.5rem;
}

#main .philosophy {
	padding: 120px 48px 110px;
	background: url(../img/index/philosophy_bg.jpg) no-repeat top center;
	background-size: cover;
}

#main .philosophy .comBox {
	padding: 67px 48px 37px;
	max-width: 982px;
	position: relative;
	background-color: #fff;
	border: 3px solid #D9B134;
	box-shadow: 9px 9px 0px #4B403C;
}

#main .philosophy .comBox h3 {
	margin-left: -213px;
	position: absolute;
	left: 50%;
	top: -45px;
}

#main .philosophy .comBox p {
	font-size: 2.45rem;
	line-height: 1.75;
	font-weight: bold;
	font-family: 'KaiminSoStd';
}

#main .philosophy .comBox .ttl {
	margin-bottom: 25px;
	padding-bottom: 18px;
	font-size: 3.5rem;
	line-height: 1.51;
	text-align: center;
	letter-spacing: -1px;
	border-bottom: 19px solid #A8BFA5;
}

#main .greet {
	margin-bottom: 48px;
}

#main .greet .heading {
	margin-bottom: 24px;
}

#main .greet .imgBox {
	padding: 0 22px 15px;
	max-width: 980px;
	margin: 0 auto 70px;
	box-sizing: border-box;
	background: url(../img/index/line.jpg) repeat-x left bottom;
	background-size: 1px auto;
}

#main .greet .imgBox .photoBox {
	width: 275px;
	float: left;
}

#main .greet .imgBox .photoBox img {
	width: 100%;
}

#main .greet .imgBox .textBox {
	margin-top: 42px;
	width: 634px;
	float: right;
}

#main .greet .imgBox .textBox h3 {
	margin-bottom: 22px;
	font-size: 4.3rem;
	font-family: 'KaiminSoStd';
	line-height: 1.23;
}

#main .greet .imgBox .textBox p {
	font-size: 1.9rem;
	line-height: 1.789;
}

#main .greet .imgBoxR {
	margin-bottom: 44px;
	padding: 0 15px 15px 97px;
}

#main .greet .imgBoxR .textBox {
	margin-top: 11px;
	float: left;
	width: 575px;
}

#main .greet .imgBoxR .photoBox {
	margin-top: 0;
	float: right;
}

#main .talk {
	margin: 0 auto;
	max-width: 774px;
	padding: 5px 5px 6px;
	background-color: #F09199;
	border-radius: 8px;
	box-sizing: border-box;
}

#main .talk .inner {
	color: #fff;
	border: 2px solid #fff;
	border-radius: 8px;
}

#main .talk .inner .lTxt {
	padding: 16px 0 16px 137px;
	letter-spacing: 4px;
	width: 43%;
	float: left;
	font-size: 4.1rem;
	font-weight: bold;
	font-family: 'KaiminSoStd';
	line-height: 1.2;
	background: url(../img/index/photo06.png) no-repeat left 14px center;
	background-size: 111px auto;
	box-sizing: border-box;
}

#main .talk .inner .rTxt {
	padding: 15px 32px 15px 0;
	width: 57%;
	float: right;
	line-height: 1.44;
	box-sizing: border-box;
}

#main .infoBox01 {
	padding: 43px 0 44px;
}

#main .access {
	padding: 49px 0;
	color: #fff;
	background-color: #836392;
}

#main .access .comBox {
	margin: 0 auto;
	max-width: 890px;
}

#main .access .mapBox {
	margin-bottom: 28px;
}

#main .access .mapBox .map {
	width: 489px;
	float: left;
	height: 209px;
}

#main .access .mapBox .textBox {
	margin-top: 15px;
	width: 358px;
	float: right;
}

#main .access .mapBox .textBox h3 {
	margin-bottom: 24px;
	padding-bottom: 7px;
	font-size: 2.2rem;
	font-family: 'KaiminSoStd';
	border-bottom: 2px dashed #fff;
}

#main .access .mapBox .textBox h3 span {
	margin-right: 10px;
	display: inline-block;
	font-size: 3.7rem;
	font-family: 'IowanOldStBTRoman';
	vertical-align: 0;
	letter-spacing: 3px;
}

#main .access p {
	font-size: 2rem;
	line-height: 1.45;
	letter-spacing: 1.7px;
}

#main .access .listBox > div {
	padding: 9px;
	width: 576px;
	float: left;
	border: 2px solid #fff;
	box-sizing: border-box;	
}

#main .access .listBox > div .photo {
	width: 181px;
	float: left;
}

#main .access .listBox > div .text {
	margin-top: 6px;
	width: 360px;
	float: right;
}

#main .access .listBox .rBox {
	padding: 39px 9px 44px 14px;
	width: 300px;
	float: right;
}

#main .access .listBox > div p {
	font-size: 1.87rem;
	letter-spacing: 0.5px;
	line-height: 1.45;
}

#main .access .listBox > div .ttl {
	margin-bottom: 6px;
}

#main .access .listBox .rBox .photo {
	margin-top: 9px;
	width: 65px;
}

#main .access .listBox .rBox .text {
	width: 198px;
	margin-top: 0;
}

#main .telBox {
	padding: 18px 0 20px;
	background-color: #4B403C;
	text-align: center;
}

@media all and (-ms-high-contrast:none){
	#main .infoBox .tableBox table thead th {
		padding: 9px 0 0;
		line-height: 1;
	}
	
	#main .infoBox .tableBox table th, #main .infoBox .tableBox table td {
		padding: 15px 1px 0;
		line-height: 1;
	}
	
	#main .infoBox .tableBox table tbody th {
		padding-top: 12px;
	}
	
	#main .infoBox .txtBox .ttl span {
		padding: 8px 11px 0px 10px;
	}
	
	#main .talk .inner .lTxt {
		padding: 40px 0 6px 137px;
	}
	
	#main .talk .inner .rTxt {
		margin-top: 18px;
	}
	
	#main .mainImg .photoUl {
		margin-bottom: -34px;
	}
}

@media all and (max-width: 767px) {
	#main .mainImg .slick-slide {
		padding: 0;
	}
	
	#main .mainImg .arrowUl li {
		margin: -16px 0 0;
		width: 16px;
		left: 10px;
		top: 50%;
	}
	
	#main .mainImg .arrowUl li.next {
		margin: -16px 0 0;
		left: auto;
		right: 10px;
	}
	
	#main .mainImg .photoUl:before {
		display: none;
	}
	
	#main .mainImg .photoUl:after {
		display: none;
	}
	
	#main .infoBox .comBox {
		padding: 0 20px;
	}
	
	#main .infoBox .tableBox {
		margin: 0 0 20px;
		width: auto;
		float: none;
	}
	
	#main .infoBox .txtBox {
		width: auto;
		float: none;
	}
	
	#main .infoBox .tableBox table th, #main .infoBox .tableBox table td {
		font-size: 1.4rem;
	}
	
	#main .infoBox .tableBox table tbody th {
		font-size: 1.2rem;
		letter-spacing: -1px;
	}
	
	#main .infoBox .tableBox table thead th {
		font-size: 1.3rem;
	}
	
	#main .infoBox .txtBox p {
		font-size: 1.4rem;
	}
	
	#main .infoBox {
		padding: 15px 0 40px;
	}

	#main .infoBox .bnr {
		padding: 0 20px;
		max-width: initial;
	}
	
	#main .benefit li > div {
		float: none !important;
		width: auto !important;
	}
	
	#main .benefit li h3 {
		margin-bottom: 12px;
		font-size: 1.8rem;
	}
	
	#main .benefit li h3 span {
		font-size: 2.2rem;
	}
	
	#main .benefit li .textBox {
		padding: 18px 0 22px;
	}
	
	#main .benefit li .textBox p {
		padding: 0 20px;
	}
	
	#main .philosophy {
		padding: 50px 20px 40px;
	}
	
	#main .philosophy .comBox h3 {
		top: -25px;
		margin-left: -120px;
		width: 240px;
	}
	
	#main .philosophy .comBox {
		padding: 40px 10px 25px;
		box-shadow: 5px 5px 0px #4B403C;
		border: 1px solid #D9B134;
	}
	
	#main .philosophy .comBox .ttl {
		margin-bottom: 13px;
		padding-bottom: 10px;
		font-size: 1.6rem;
		border-width: 8px;
	}
	
	#main .philosophy .comBox p {
		font-size: 1.3rem;
	}
	
	#main .greet .imgBox  {
		background: none;
	}
	
	#main .greet .imgBox .photoBox {
		padding-bottom: 10px;
		margin-bottom: 15px;
		width: auto !important;
		float: none !important;
		background: url(../img/index/line.jpg) repeat-x left bottom;
		background-size: auto 10px;
	}
	
	#main .greet .imgBox  {
		margin-bottom: 20px;
		padding: 0 20px 15px;
	}
	
	#main .greet .imgBox .textBox {
		margin: 0;
		width: auto !important;
		float: none !important;
	}
	
	#main .greet .imgBox .textBox h3 {
		margin-bottom: 10px;
		font-size: 2.2rem;
	}
	
	#main .greet .imgBox .textBox p {
		font-size: 1.4rem;
	}
	
	#main .talk .inner .lTxt {
		margin: 0 auto 10px;
		padding: 33px 0 19px 130px;
		max-width: 265px;
		width: auto;
		float: none;
		font-size: 2.2rem;
		background-size: 111px auto;
	}
	
	#main .talk .inner .rTxt {
		padding: 0 20px 10px;
		width: auto;
		float: none;
	}
	
	#main .talk {
		max-width: 90%;
	}
	
	#main .access .mapBox .textBox {
		margin: 0 0 15px;
		width: auto;
		float: none;
	}
	
	#main .access .mapBox .map {
		width: auto;
		float: none;
		height: 150px;
	}
	
	#main .access {
		padding: 30px 20px;
	}
	
	#main .access .mapBox .textBox h3 span {
		font-size: 1.9rem;
	}
	
	#main .access .mapBox .textBox h3 {
		margin-bottom: 12px;
		font-size: 1.2rem;
		border-width: 1px;
	}
	
	#main .infoBox01 {
		padding: 35px 0;
	}
	
	#main .access p {
		font-size: 1.4rem;
	}
	
	#main .access .listBox > div {
		padding: 15px !important;
		margin-bottom: 20px;
		width: auto !important;
		float: none !important;
	}
	
	#main .access .listBox > div .photo {
		margin: 0 0 20px;
		width: auto !important;
		float: none;
		text-align: center;
	}

	#main .access .listBox > div .text {
		width: auto !important;
		float: none !important;
	}
	
	#main .access .listBox > div p {
		font-size: 1.4rem;
	}
	
	#main .telBox {
		padding: 10px 5px;
		text-align: center;
	}
	
	#main .telBox img {
		max-width: 365px;
		width: 100%;
	}
}
