* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	/*border: 1px solid red;*/
	font-family: Arial, Helvetica, sans-serif;
}

body::-webkit-scrollbar {
	display: none;
}

#container {
	position: sticky;
	width: 1000px;
	left: calc((100vw - 1000px)/2);
	background-color: aliceblue;
	text-align: left;
}

#header{
	position: fixed;
	width: 1000px;
	height: 60px;
	background: white;
	opacity: 0.9;
	z-index: 1000;
}

#header-text{
	position: fixed;
	text-align: center;
	width: 1000px;
	height: 60px;
	line-height: 60px;
	font-size: 30px;
	left: calc((100vw - 1000px)/2);
	z-index: 1001;
}

#header-icon{
	position: fixed;
	top: 0;
	left: calc((100vw - 1000px)/2);
	width: 60px;
	height: 60px;
	z-index: 1001;
}

#header-icon img{
	height: 60px;
}

#header-menu {
	position: fixed;
	top: 0;
	left: 0	;
	width: 60px;
	height: 60px;
	z-index: 1001;
}

#header-menu {
	left: calc((100vw - 1000px)/2 + 1000px - 60px);
}

#header-menu img{
	height: 60px;
}

#popupMenu{
	position: fixed;
	top: 60px;
	left: 0;
	width: 400px;
	z-index: 2000;
	background-color: white;
	display: none;
	border: 1px solid gray;
}

#popupMenu div{
	font-size: 20px;
	padding-left: 30px;
	padding-top: 10px;
	line-height: 30px;
}

.menu-item:hover{
	color: orange;
}

#mainVideo{
	width: 100vw;
	position: relative;
	top: 60px;
	margin-bottom: 75px;
}

#mainVideo img,
#mainVideo video{
	width: 1000px;
}

h2{
	margin: 0px;
	margin-top: 40px;
	font-size: 30px;
}

.text{
	margin: 25px;
	margin-bottom: 5px;
	font-size: 16px;
	text-align:justify;
}

#googleMap{
	width: 1000px;
	height: 200px;
}

.map-zoom {
	width: 950px;
	text-align: right;
	text-decoration: underline;
	font-size: 12px;
}

#mapAll img {
	width: 1000px;
}

#map {
	overflow: hidden;
}

#map,
#map img{
	position: relative;
	width: 1000px;
	height: 500px;
	object-fit: cover;
}

#map-canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
}

#map-zoom-close {
	position: absolute;
	top: 20px;
	left: calc(100vw - 70px);
	width: 50px;
	height: 50px;
}

#map-zoom-close img {
	width: 50px;
	height: 50px;
	z-index: 2000;
}

#spot {
	margin-left: 40px;
}

.spot {
	color:blue;
	cursor: pointer;
	text-decoration: underline;
}

.spot:hover{
	font-weight: bold;
}

a:hover {
	font-weight: bold;
}

/****************************/
/* ピックアップ */
#catpick {
	width: 1000px;
	padding: 20px;
}

.catpick-div {
	background: #a4e6e280;
	margin: 5px;
	margin-bottom: 40px;
	width: 230px;
	height: 520px;
	border-radius: 20px;
	float: left;
	cursor:pointer;
}

.catpick-div:hover {
	opacity: 0.7;
	cursor:pointer;
}

.catset {
	background: #a4e6e280;
	margin: 5px;
	width: 230px;
	height: 500px;
	border-radius: 20px;
}

.pick-title{
	background: #22d3da;
	color: white;
	font-weight: bold;
	height: 40px;
	line-height: 40px;
	font-size: 24px;
	width: 230px;
	border-radius: 20px 20px 0 0;
	text-align: center;
}

.main-photo{
	width: 200px;
}

.main-photo img{
	width: 230px;
	height: 230px;
	object-fit:cover;
}

.sub-photo1 {
	width: 80px;
	position: relative;
	left: 130px;
	top: 10px;
}

.sub-photo2 {
	position: relative;
	left: 20px;
	top: 15px
}

.sub-photo1 img,
.sub-photo2 img{
	width: 80px;
	height: 80px;
	object-fit:cover;
	border-radius: 25vw;
}

.msg1 {
	position: relative;
	left: 10px;
	top: -160px;
	width: 110px;
	height: 110px;
	font-size: 12px;
	text-align: right;
}

.msg2{
	position: relative;
	left: 110px;
	top: -170px;
	width: 110px;
	height: 110px;
	font-size: 12px;
}

.msgset {
	position: relative;
	left: 50px;
	top: 0;
	width: 80px;
	height: 0vw;
	font-size: 16px;
	text-align: right;
}

.pick-end{
	position:relative;
	left: 0;
	top: 0px;
	background: #52dce0;
	height: 15px;
	width: 230px;
	border-radius: 0 0 20px 20px;
	display: none;
}

.set-pick-end{
	position:relative;
	left: 0;
	top: 0px;
	background: #52dce0;
	height: 15px;
	width: 240px;
	border-radius: 0 0 20px 20px;
	display: none;
}

.next {
	position: relative;
	left: 180px;
	top: -200px;
	width: 60px;
}

.next-set {
	position: relative;
	left: calc(100vw - 110px);
	top: calc(-80vw + 320px);
	width: 60px;
}

.next img{
	width: 40px;
	height: 40px;
	object-fit:cover;
	border-radius: 25vw;
	cursor: pointer;
}

.next-set img{
	width: 60px;
	height: 60px;
	object-fit:cover;
	border-radius: 25vw;
	cursor: pointer;
}

.next img:hover {
	opacity: 0.7;
	/*box-shadow: 2px 2px 4px 2px pink;*/
}



/****************************/
/* 湯島の猫たち */
#listContent {
	color: black;
	padding: 20px;
	text-align: center;
	overflow-y: scroll;
}

#myFavoriteListContent {
	color: black;
	padding: 20px;
	text-align: center;
}

#listContent::-webkit-scrollbar {
	display: none;
}

.area {
	display: flex;
	flex-flow: column;
}


.go-map {
	font-size: 10px;
	text-decoration: underline;
	text-align: right;
}

.photo-list {
	width: cacl(1000px - 40px);
	padding: 2px; 
	background: rgb(245, 238, 227);
	padding-bottom: 10px;
	border-radius: 0 0 20px 20px;
}

.photo-list div {
	width: calc((1000px - 44px)/6 - 20px);
	height: calc((1000px - 44px)/6 - 20px + 20px);
	margin: 10px; 
	padding: 0;
	padding-bottom: 5px;
	/*border: 1px solid rgb(245, 238, 227); */
	float: left; 
	font-size: 16px;
	line-height: 18px;
	color: rgb(70, 70, 70);
	cursor: pointer;
	background: transparent;
}

.photo-list div:hover {
	opacity: 0.7;
}

.photo-list img {
	width: calc((1000px - 44px)/6 - 20px);
	height: calc((1000px - 44px)/6 - 20px);
	border-radius:calc(((1000px - 44px)/6 - 20px)/2);
	display: block;
	padding: 0;
	margin: 0;
	object-fit: cover;
}

.photo-list div.cat-name {
	height: 20px;
	margin: 0;
}
/* 私の推し猫 */
.my-photo-list {
	width: calc(1000px - 40px);
	padding: 2px; 
	background: rgb(245, 238, 227);
	padding-bottom: 10px;
	border-radius: 0 0 20px 20px;
}

.my-photo-list div {
	width: calc((1000px - 44px)/6 );
	height: calc((1000px - 44px)/6 + 20px);
	margin: 0; 
	padding: 10px;
	padding-bottom: 5px;
	border: 1px solid rgb(245, 238, 227); 
	float: left; 
	font-size: 16px;
	line-height: 18px;
	color: rgb(70, 70, 70);
	cursor: pointer;
	background: transparent;
}

.my-photo-list div:hover {
	opacity: 0.7;
}

.my-photo-list img {
	width: calc((1000px - 44px)/6 - 20px);
	height: calc((1000px - 44px)/6 - 20px);
	border-radius:calc(((1000px - 44px)/6 - 20px)/2);
	display: block;
	padding: 0;
	margin: 0;
	object-fit: cover;
}


/* 詳細ページ */
#detail {
	display: none;
}

.next-all {
	width: 300px;
	height: 40px;
	font-size: 20px;
	line-height: 40px;
	background: orange;
	color: white;
	text-align: center;
	border-radius: 20px;
	cursor: pointer;
	margin-bottom: 10px;
}

.next-all:hover {
	opacity: 70%;
}



/****************************/
/* 湯島の猫エリア */
#yushimap {
	position: absolute;
	top: 50px;
	left: calc((100vw - 1024px)/2);
	width: 1024px;
	height: calc(100vh - 50px);
	display:  none;
}


/****************************/
/* アンケート */
.questioonaire{
	margin: 10px 0 40px 4%;
}

.questioonaire li {
	margin-left: 20px;
}

.button {
	width: 250px;
	height: 30px;
	font-size: 16px;
	border-radius: 10px;
	cursor: pointer;
}


/****************************/
/* アクセス */
.accessinfo{
	width: 95%;
}

.accesstable{
	margin: 10px 0 40px 4%;
}

.accessinfo .accessinfotable {
	color: #333;
	background-color: #FFF;
}

.accesstable table {
	border-collapse: collapse;
}

.accessinfo th, td {
	padding: 5px 15px;
	border: solid 1px #011762;
	font-weight: bold;
	text-align: right;
}

.accessinfo th {
	color: #f5f5f5;/* 見出しの文字色 */
	background-color: #292977; /* 見出しの背景色 */
	text-align: center;
}
  

#selectMyFavoriteCat {
	background: darkblue;
	color: white;
	width: 200px;
}