* {
	margin: 0;
	/*padding: 0;*/
	/*font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;*/
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	font-size: 13pt;
	font-weight: 650; /* モバイルChromeで太くならないため全てのcssで650へ変更。*/
}
body {
	color: #333333;
	overflow-x: hidden;
}
hr {
	height: 1px;
	background: gray;
	border: none;
}
a:visited {
	color: blue;
}
a {
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}
a:hover {
	color: lightcoral;
}
a img {
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}
a:hover img {
	opacity: 0.5;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
.small {
	font-size: small;
}
.center {
	text-align: center;
}
ruby {
	font-size: 8pt;
}
rt {
	font-size: 8pt;
}
div.head_container {
	background-position: center;
}
div.portal_back {
	/*
	height: calc(100vh - 42px);
	↑Javascriptでアドレスバーを差し引いた高さを設定している。
	*/
	min-height: 700px;;
	position: relative;
	background-image: url(./image/portal_back.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	/*background-position: center;*/ /*DEL 2023/1/21 */
	background-position: top 50% left 58%; /*ADD 2023/1/21 */
}
div.portal_front {
	position: absolute;
	width: 100%;
	height: 70%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	background-image: url(./image/portal_front.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	user-select: none;
}
#head_text_container {
	position: absolute;
	/*margin-top: 5px;*/ /*DEL 2023/1/21 */
	height: 62px; /*ADD 2023/1/21 */
	display: flex; /*ADD 2023/1/21 */
	align-items: center; /*ADD 2023/1/21 */
	width: 100%;
	background: rgba(255,255,255,0.5); /*ADD 2023/1/21 */
}
#head_text_content {
	padding-left: 10px;
}
#head_text_content a {
}
#head_text_content a img {
	height: 22px;
	position: absolute;
	top: 8px;
}
#head_title {
	font-weight: bold;
	padding-left: 28px;
}
#head_note {
	padding-left: 28px;
}
div.obi {
	height: 42px; /*MOD 2022/6/5 */
	/*background: #4670ea;*/
	background: -webkit-linear-gradient(to right, #4670ea, #93abf2 80%, #abbef5);
	background: -moz-linear-gradient(to right, #4670ea, #93abf2 80%, #abbef5);
	background: -ms-linear-gradient(to right, #4670ea, #93abf2 80%, #abbef5);
	background: -o-linear-gradient(to right, #4670ea, #93abf2 80%, #abbef5);
	background: linear-gradient(to right, #4670ea, #93abf2 80%, #abbef5);
	z-index: 1; /* for side_block sticky */
	/*ADD 2022/6/5 { */
	display: flex;
	align-items: center;
	justify-content: center;
	/*ADD 2022/6/5 } */
}
div.obi div.obi_slide {
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	width: 100%; /*ADD 2022/6/5 { */
}
div.obi div {
	font-size: 13pt;
	margin: 0px 0px 0px 0px;
	color: white;
	height: 42px; /*MOD 2022/6/5 */
	display: flex;
	align-items: center;
}
div.obi div.center {
	width: 30px;
}
div.obi a {
	text-decoration: none;
}
div.obi a:hover {
	background-color: lightcoral;
}
.obi_fixed {
	position: fixed;
	top: 0;
	width: 100%;
}
div.body_container {
}
div.site_title {
	padding-top: 10px;
}
img.site_icon {
	height: 22px;
	margin: 0px 2px 22px 0px;
}
div.site_title h2 {
	padding: 0px 0px 0px 0px;
	line-height: 22pt;
}
div.site_title h1 {
	padding: 0px 0px 0px 0px;
	display: inline-block;
	line-height: 22pt;
	font-size: 13pt;
}
div.site_title h1 a {
	font-size: 13pt;
}
div.center_block {
	padding: 0px 10px 0px 10px;
}
div.side_block {
	padding: 20px 10px 60px 10px;
}
div.tile {
	margin: 60px 0px 0px 0px; /* センターブロックの右余白 */
}
div.tile_title {
	display: flex;
	align-items: flex-end;
	font-size: 22pt;
	font-weight: bold;
	/*color: #4670ea;*/
	width: 90%;
}
div.tile_title div.first_figure {
	font-size: 38pt;
	font-weight: bold;
	/*text-decoration: underline;*/
	color: white;
	margin-right: 4px;
	margin-bottom: 2px;
	text-align: center;
	background-color: #4670ea;
	height: 50px;
	width: 50px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	line-height: 40pt;
}
div.tile_content {
	padding-top: 20px;
}
div.tile_content p {
	text-indent: 1em;
	padding: 20px 0px 0px 0px;
	line-height: 25pt;
}
/* スポンサー広告は字下げなし。*/
div.banner div.tile_content p {
	text-indent: 0em;
}
/* スポンサー広告はアニメーションなし。*/
div.banner a:hover {
	color: blue;
}
div.banner a:hover img {
	opacity: initial;
	filter: initial;
	-ms-filter: initial;
}
div.tile_content ul {
	padding-top: 20px;
	padding-bottom: 20px;
}
span.underline {
	background: linear-gradient(transparent 50%, #fbd2c7  60%);
}
div.center_block div.map {
	text-align: center;
}
div.map {
	margin-top: 40px;
}
div.map div {
	text-align: center;
}
div.map div a {
	font-size: 15pt;
}
div.map img {
	width: 60%;
	max-width: 250px;
	margin: 10px 0px 0px 0px;
}
div.obi_side {
	display: none;
}
div.legend div.tile_content {
	text-align: center;
}
div.legend div.tile_content div.legend_item {
	/*
	background-color: whitesmoke;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	box-shadow: inset 0 0 20px 10px white;
	*/
}
div.legend_item {
	margin: 20px 0px 40px 0px;
}
div.legend_item div.title {
	/*
	display: flex;
	justify-content: center;
	align-items: center;
	*/
}
div.legend_item div.title img {
	display: none;
	/*width: 15px;*/
	/*margin-right: 4px;*/
}
div.legend_item img {
	width: 40%;
	max-width: 160px;
}
div.me {
	text-align: center;
}
div.me img {
	width: 80px;
}
ul li {
	margin-bottom: 10pt;
	margin-left: -1.5em;
}
div.footer {
	padding: 60px 0px 90px 0px;
	font-size: small;
	text-align: center;
	/*line-height: 35pt;*/
	/* for stickey start メイン画像が見えてしまうため。 */
	background-color: white;
	/* for stickey end */
}
#to_pagetop {
	position: fixed;
	display: none;
	bottom: 0px;
	right: 0px;
}
#to_pagetop img {
	width: 50px;
}
div.sns {
	/*display: none;*/
	display: flex;
	justify-content: center;
	z-index: 2;
}
div.sns_icon img {
	width: 25px;
	margin: 20px 15px 20px 15px;
}
.tile_content p .caution {
	color: red;
}

/* 以下歩行日記ページ用 */
body.diary div.center_block div.tile {
	padding: 0px 0px 0px 0px;
}
body.diary div.center_block div.tile_content p {
	padding: 20px 0px 30px 0px;
	line-height: 25pt;
}
body.diary div.center_block div.mobile_only p {
}
div.diary_photo_container {
	display: flex;
	flex-wrap: wrap;
	width: 340px;
}
div.diary_photo_item {
	width: 340px;
	padding-bottom: 100px;
}
div.diary_photo_item img.horizontal {
    width: 320px;
}
div.diary_photo_item img.vertical {
    height: 320px;
}
body.diary div.center_block div.diary_photo_item p {
	text-indent: 0em;
	padding: 0px 0px 0px 0px;
	line-height: 22pt;
}
.pager {
	margin: 0px 0px 0px 0px;
}
.pager a, .pager .pager_current_page {
	font-size: 18pt;
}
.pager .pager_current_page {
	font-weight: bold;
}
.main_title {
	display: none;
}
.diary_title {
	padding-left: 40px;
	width: 100%;
}
