@charset "UTF-8";

/*------------------------------------
	index 

	CSS Document
	ヘッダー表記
	メイン画像
	メインコンテンツ左
	サイドコンテンツ
	カレンダーテーブル
	フッター
	news ※非表示

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

/*------------------------------------
	 CSS Document 
------------------------------------ */
body{
	background-image: url(../img/bg.jpg);
	margin: 0;
}

p {
	font-size: 18px;
}

ul, li {
	list-style: none;
}

.view_pc {
	display: block;
}

.view_sp {
	display: none;
}

@media screen and (max-width: 768px) {
	.view_pc {
		display: none;
	}

	.view_sp {
		display: block;
	}
}

/*------------------------------------ 
	ヘッダー表記
------------------------------------ */
#headbox{
	width: 960px;
	margin: auto;
	padding-bottom: 20px;
	padding-top: 10px;
}
#header{
	height: 130px;
}

.header_icon {
	float: left;
    width: 330px;
}

.header_icon p {
	display: inline-block;
	width: 46%;
	vertical-align: middle;
}

.header_icon p img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

#header h1 {
	text-align: center;
}

#header h1 img {
	object-fit: cover;
	width: auto;
}

#header .contact{
	float: left;
	width: 140px;
	padding-left: 310px;
}

#header ul{
	float: left;
	padding-left: 110px;
	padding-top: 40px;
}

#header li{
	float: left;
	width: 130px;
}

@media screen and (max-width: 768px) {
	#headbox {
		width: 100%;
		padding-top: 0;
		padding-bottom: 10px;
	}

	#header {
		height: auto;
		text-align: center;
	}

	.header_icon {
		float: none;
		margin: 0 auto;
	}

	.header_icon p {
		margin: 0;
	}

	.header_icon p img,
	#header .contact img {
		width: 80%;
	}

	#header .contact {
		float: none;
		padding: 0;
		width: 100%;
		margin-top: 0;
		margin-bottom: 5px;
	}

	#header ul {
		float: none;
    	padding: 0;
    	margin: 0;
    	display: flex;
    	justify-content: center;
	}

	#header li {
		float: none;
		display: inline-block;
		width: calc((100% / 4) - 4px);
	}

	#header li a img {
		width: 100%;
	    height: 100%;
		object-fit: contain;
	}
}

/*------------------------------------
	メイン画像
------------------------------------ */
#mainimgbg {
	width: 100%;
	background-color: black;
	border-top: solid 4px gray;
	border-bottom: solid 4px gray;
}

#mainimgbg h2 {
	clear: left;
	margin: auto;
}

#mainimgbg h2 img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

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

	#mainimgbg h2 {
		height: 30vh;
	}

	#mainimgbg h2 img {
		object-fit: cover;
	}
}

/*------------------------------------
	メインコンテンツ左
------------------------------------ */
#bigcontainer{
	width: 960px;
	margin: auto;
}

h3{
	padding-left: 300px;
	padding-top: 40px;
	padding-bottom: 20px;
	font-size: 50px;
}

.k{
	float: left;
	width: 389px;
}

.k img {
	width: 100%;
	height: 100%;
}

#text1{
	float: left;
	margin-left: 50px;
	line-height: 50px;
	font-size: 18px;
}

#eigyou {
    width: 100%;
    float: left;
    padding: 35px 0;
    text-align: center;
}

#eigyou p {
    font-size: 30px;
    color: #000;
}

#eigyou .time {
	margin-bottom: 2%;
}

p.attention{
	color: red!important;  
	font-size: 1em!important;
	line-height: 20px;
	}  

#osusume, #store {
	width: 700px;
	float: left;
	padding: 70px 0;
	text-align: center;
	background-color: rgba(255,231,51,0.3);
	}

#osusume {
	margin: 2% 0;
}

#osusume .home_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#osusume .home_contain {
	width: 44%;
	margin: 2%;
}

#osusume .home_contain p {
	font-size: 16px;
}

#osusume .home_contain img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#osusume h3.access_ttl {
	font-size: 26px;
	margin-bottom: 2%;
}

h3.menu_title,
h3.store_title,
h3.access_title {
	padding-left: 300px;
	padding-top: 40px;
	padding-bottom: 20px;
	font-size: 50px;
}

#menu {
	padding: 70px 0;
	width: 700px;
	float: left;
}

#menu p img,  #store p img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

#store .store_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#store .store_contain {
	width: 44%;
	margin: 2%;
}

#store .store_contain:first-of-type {
	width: 100%;
}

#store .store_contain:first-of-type img {
	width: 44%;
}

#store .store_contain_txt {
	margin: 1% auto;
}

.title{
	font-size: 40px;
	color: red;
}

#osusume iframe {
	width: 90%;
	height: 50vh;
}

.data {
	font-size: 20px;
	line-height: 40px;
	margin-top: 30px;
}

.villa_link {
    text-align: center;
    font-size: 26px;
    color: #ff0000;
    line-height: 40px;
}

.villa_link a {
	color: #ff0000;
	text-decoration: none;
  font-weight: bold;
}

#access_wrapper .osusume_wrap {
	display: flex;
}

/* 別邸 */
h3.villa {
	padding-left: 0;
	line-height: 90px;
}

.blue {
	color: #00B0F0;
	text-shadow: 2px 3px 1px rgba(0,0,0,0.3);
}

#text2 {
	font-size: 18px;
	line-height: 40px;
}

#two_column_img img{
	object-fit: cover;
}

h3.villa.orange {
	font-size: 40px;
	color: #F8CBAD;
	text-shadow:0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31,0 0 3px #ED7D31;
}

@media screen and (max-width: 768px) {
	#bigcontainer {
		width: 90%;
		margin: 0 auto;
	}

	h3 {
		text-align: center;
		padding: 0;		
		margin: 0 auto;
	}

	h3 img {
		width: 80%;
	}

	p {
		font-size: 18px;
	}

	.k {
		float: none;
		width: 100%;
		text-align: center;
	}

	#text1 {
		float: none;
		margin: 0 auto;
		line-height: 36px;
	}

	#eigyou,
	#osusume,
	#store,
	#unidon,
	#omakasedon,
	#ikuradon,
	#uniikuradon {
		float: none;
		width: 100%;
	}

	#osusume, #store {
		padding: 20px 0;
	}

	#osusume .home_contain {
		width: 90%;
	    margin: 5% auto;
	}

	#osusume h3.access_ttl {
	font-size: 20px;
	}

	#eigyou {
		padding: 15px 0;
	}

	#eigyou p {
		font-size: 20px;
	}

	.title {
		font-size: 30px;
		margin-bottom: 0;
	}

	#osusume .home_contain img {
		width: 70%;
	}

	.home_wrap p {
		margin: 1% auto;
	}

	#menu {
		float: none;
		width: 100%;
		padding: 20px 0;
	 }

	 #menu p {
		margin: 0;
	 }

	 h3.menu_title,
	 h3.store_title,
	 h3.access_title {
		font-size: 22px;
    	font-weight: bold;
		padding: 20px 0 0;
	 }

	 #store .store_wrap {
		display: block;
	 }

	 #store .store_contain:first-of-type,
	 #store .store_contain {
		width: 80%;
		margin: 2% auto;
	 }

	 #store .store_contain:first-of-type img {
		width: 100%;
	 }

	 #store .store_contain_pic {
		margin: 0;
	 }

	 #store .store_contain_txt {
		margin: 0 auto 5%;
	 }

	 .data {
		font-size: 18px;	
		line-height: 36px;
	 }

	 #access_wrapper .osusume_wrap {
		display: block;
	}
}

/*------------------------------------
	サイドコンテンツ
------------------------------------ */
#side_contents{
	width: 180px;
	/* height:1200px; */
	float: left;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding-bottom: 20px;
	padding-left: 60px;
	padding-top: 60px;
	}

	img.bg_purple {
		object-fit: contain;
		background:#a757a8;
	}

	img.bg_orange {
		object-fit: contain;
		background: rgb(255 171 0);
	}

	@media screen and (max-width: 768px) {
		#side_contents {
			float: none;
			width: 100%;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			padding: 0;
		}

		.osyokuji, .soraya, .youkoso {
			margin: 0;
			width: 100%;
			text-align: center;
		}

		.soraya, .youkoso {
			width: 37%;
		}

		.soraya img, .youkoso img {
			width: 80%;
		}
	}

/*------------------------------------
	カレンダーテーブル
------------------------------------ */
table#cal_t {
    background:#ffffff;
    color:#303030;
    border-collapse:collapse;
    font-size: 80%;
    width:175px;
    border:1px solid #909090;
    empty-cells:show;
}

/* カレンダー各セル */
#cal_t td, #cal_t th {
    width:25px;
    height:25px;
    text-align:center;
}

/* 月タイトル */
#cal_t #mtitle {
	background-color:#fff3dd;
	width:auto !important;
}

/* 日 */
#cal_t .sunday, .holiday {
    background-color:#fae2e7;
}

/* 土 */
#cal_t .saturday {
    background-color:#d0e6ff;
}

/* 休日 */
#cal_t .holiday {
    background-color:#e64d4d;
    color: #ffffff;
}

td{
	padding-top: 5px;
}

th{
	padding-top: 5px;
}

.calendertext{
	font-weight: bold;
	text-align: center;
	padding-bottom: 10px;
}

.akamoji{
	font-size: 12px;
	text-align: center;
	padding-top: 5px;
}
.osyokuji{
	padding-top: 35px;
}

.soraya{
	padding-top: 35px;
}
.youkoso{
	padding-top: 35px;
}

@media screen and (max-width: 768px) {
	
}

/*------------------------------------
	フッター
------------------------------------ */
#footer{
	clear: left;
	width:100%;
	height: 70px;
	background-color: orange;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border-top:  solid 4px gray;
}

#footertext{
	width: 960px;
	margin: auto;
	padding-top: 20px;
}

#footertext p{
	float: left;
}

#footertext ul{
	float: right;
}

#footertext li{
	float: left;
	padding-left: 20px;
}

.copy{
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 	text-align: center;
	clear: both;
}

@media screen and (max-width: 768px) {
	#footer {
		width: 100%;
		height: auto;
	}

	#footertext {
		width: 100%;	
	}

	#footertext p {
		text-align: center;
		width: 100%;
	}

	#footertext ul {
		float: none;
		display: flex;
		justify-content: center;
		width: 100%;
		padding-left: 0;
		padding-bottom: 5%;
		margin: 0;
	}

	#footertext li {
		float:none;
	}

	.copy {
		background-color: orange;
		margin: 0;
    	padding: 5% 0;
	 }
}

/* ? */
#map_canvas {
  width: 700px;
  height: 320px;
}

#map_canvas {
  width: 760px;
  height: 320px;
}

/*------------------------------------
	news
------------------------------------ */
#home_wrapper .news_area {
	/*display: none;*/
	width: 75%;
	margin: 40px auto;
	text-align: center;
}

#home_wrapper .news_text {
	border: 4px solid #82636b;
  border-radius: 240px 15px 185px 15px / 15px 200px 15px 185px;
  padding: 30px;
}

#home_wrapper .news_text h4 {
	font-size: 33px;
	font-weight: bold;
	letter-spacing: 8px;
	margin-bottom: 30px;
	font-family: 'Noto Serif JP', serif;
}

#home_wrapper .news_text p {
	font-size: 24px;
	line-height: 40px;
	background: linear-gradient(transparent 60%, yellow 0%);
  	display: inline;
  	padding: 0 1px 0px;
}

#home_wrapper .news_text .font-red {
	text-align: right;
	margin: 15px auto;
	font-family: 'Noto Serif JP', serif;
}
@media screen and (max-width: 768px) {
	#home_wrapper .news_area {
		/* display: none; */
	}

	#home_wrapper .news_text h4 {
		font-size: 28px;
		margin-top: 0;
	}

	#home_wrapper .news_text p {
		font-size: 20px;
		line-height: 30px;
	}
}