@charset "utf-8";  
/*------------------------------------------------------------ 
    フロントページ css
------------------------------------------------------------*/  

/* box-sizingを追加して、paddingが幅に含まれるようにする */
* {
  box-sizing: border-box;
}

#contents{
	width:100%;
	max-width:900px;
	margin:0 auto;
	background:url(../img/bg-contents.png) repeat;
}

.inner{
	width:100% !important;
	max-width:900px !important;
	margin:0 auto !important;
	padding: 0px 10px !important;
	overflow: hidden; /* はみ出し防止のためのoverflow設定を追加 */
}

.headline, .home .headline{
	width:100%;
	max-width:698px;
	margin:0 auto;
	padding:70px 0 30px;
	margin-bottom: 0px !important;
}

.txt{
	width:100%;
	max-width:786px;
	margin:0 auto;
	padding-bottom:11.95928753180662%;
	color:#655346;
	text-align:center;
	font-size:134%;
	line-height:2;
	background:url(../img/front-page/bg-text.png) no-repeat 50% bottom / contain;
}

#menuList{
	width:100% !important;
	overflow:hidden !important;
	margin-bottom:75px !important;
}

#menuList li{
	width:22.79569892473118% !important;
	float:left !important;
}

#menuList li:first-child{ margin-left:0.2150537634408602% !important;}
#menuList li:last-child{ margin-right:0.2150537634408602% !important;}
#menuList li:not(:last-child){ margin-right:2.795698924731183% !important;}

#gmap{
	width:100%;
	max-width:900px;
	margin:0 auto;
	height:450px;
}

.rslides{
	position: relative;
	list-style: none;
	overflow: hidden;
	width: 100%;
	padding: 0;
	margin: 0;
}

.rslides li{
	-webkit-backface-visibility: hidden;
	position: absolute;
	display: none;
	width: 100%;
	left: 0;
	top: 0;
}

.rslides li:first-child{
	position: relative;
	display: block;
	float: left;
}

.rslides img{
	display: block;
	height: auto;
	float: left;
	width: 100%;
	border: 0;
}

/* ニュースセクション */
.news-section {
	margin-bottom: 50px;
}

.news-list {
	max-width: 800px;
	margin: 0 auto;
}

.news-item {
	border-bottom: 1px dotted #ccc;
	padding: 15px 0;
}

.news-item a {
	display: flex;
	align-items: center;
	color: #655346;
	text-decoration: none;
}

.news-item time {
	margin-right: 20px;
	font-weight: bold;
	color: #8c6239;
}

.news-item h3 {
	margin: 0;
	font-size: 16px;
}

.more-link {
	text-align: right;
	margin-top: 20px;
}

.more-link a {
	display: inline-block;
	padding: 8px 20px;
	background: #8c6239;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
}

/*------------------------------------------------------------ 
    MediaQuery 
------------------------------------------------------------*/  

/* TABLET */
@media screen and (max-width: 788px){

.headline{ padding:35px 0 20px;}

#menuList{ margin-bottom:40px !important;}

}


/* SP */
@media screen and (max-width: 560px){

.txt{
	font-size:117%;
	line-height:1.8;
}

#menuList{ 
	margin-bottom:10px !important;
	width: 100% !important;
	padding: 0 !important;
}

#menuList li{
	width:46.69603524229075% !important;
	margin-bottom:5.726872246696035% !important;
	box-sizing: border-box;
}

#menuList li:first-child{ margin-left:0.4405286343612335% !important;}
#menuList li:last-child{ margin-right:0.4405286343612335% !important;}

#menuList li:not(:last-child){ margin-right:0 !important;}
#menuList li:nth-child(odd){ margin-right:5.726872246696035% !important;}

/* コンテナ幅とパディングを明示的に制御 */
.inner {
	padding: 0 5px !important;
}

#gmap{ height:250px;}

.news-item a {
	flex-direction: column;
	align-items: flex-start;
}

.news-item time {
	margin-bottom: 5px;
}

} 