@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700|Roboto:100,300,400,500,700&display=swap&subset=japanese');



html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, pre,
a, i, b, strong, em, img,
dl, dt, dd, ol, ul, li,
table, caption, tbody, thead, tfoot, tr, th, td,
article, aside, figure, figcaption, header, footer, 
menu, nav, section, summary, time, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	line-height: 1;
}



body {
	position: relative;
	min-height: 100vh;
	color: #000;
	line-height: 1;
    font-family: "Noto Sans JP", "Roboto", sans-serif;
}
body:not(.home) {
	background: url(../img/map_black.png) -125vw -25vw no-repeat;
	background-size: 250vw auto;
}

li {
	list-style: none;
}
a {
	color: #000;
	text-decoration: none;
}

img,
iframe {
	vertical-align: bottom;
}

::selection {
	color: #fff;
	background: #000;
}

.sp {
	display: none !important;
}


#site a,
#watermark a {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
#wrap > footer .inner:after {
	content: "";
	display: block;
	clear: both;
	visibility: hidden;
}



body:not(.home) #wrap {
	max-width: 1480px;
	margin: 0 auto;
}

.body a,
.credit a {
	text-decoration: underline;
	word-break: break-all;
}





#site {
	padding: 12px 0 0;
}
#watermark {
	margin-top:60px;
}

#site a {
	display: block;
	width: 140px;
	height: 40px;
	margin: 0 auto;
	background: url(../img/logo.png) 0 0 no-repeat;
	background-size: 100% auto;
}

#watermark a {
	display: block;
	width: 120px;
	height: 32px;
	margin: 0 auto;
	background: url(../img/logo.png) 0 0 no-repeat;
	background-size: 100% auto;
}



#wrap > header {
	position: relative;
	height: 80px;
}


#wrap > footer {
	margin: 20px 15px 0;
	padding: 15px 0;
	border-top: 2px solid #000;
}
#wrap > footer nav {
}
#wrap > footer nav.global {
	font-size: 0;
	text-align: center;
}
#wrap > footer nav.global li {
	display: inline-block;
}
#wrap > footer nav.global li a {
	font-size: 12px;
	font-family: Roboto, sans-serif;
}
#wrap > footer nav.global li + li:before {
	content: "";
	position: relative;
	display: inline-block;
	width: 1px;
	height: 12px;
	top: 1px;
	margin: 0 10px;
	background: #444;
}

@media screen and (max-width:374px) {
	#wrap > footer nav.global li a {
		font-size: 11px;
	}
	#wrap > footer nav.global li + li:before {
		height: 10px;
		margin: 0 6px;
	}
}

#wrap > footer nav.sns {
	position: relative;
	margin: 12px 0 0;
	text-align: center;
}
#wrap > footer .sns ul {
	font-size: 0;
}
#wrap > footer .sns li {
	display: inline-block;
}
#wrap > footer .sns li + li {
	margin-left: 10px;
}
#wrap > footer .sns a {
	display: inline-block;
	width: 24px;
	height: 24px;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	cursor: pointer;
}
#wrap > footer .sns .youtube a {
	background-image: url(../img/icon_youtube.png);
}
#wrap > footer .sns .instagram a {
	background-image: url(../img/icon_instagram.png);
}
#wrap > footer .sns .facebook a {
	background-image: url(../img/icon_facebook.png);
}
#wrap > footer .sns .twitter a {
	background-image: url(../img/icon_twitter.png);
}


#wrap > footer .copyright {
	margin: 15px 0 0;
	text-align: center;
}
#wrap > footer .copyright p {
	font-size: 10px;
	font-family: Roboto, sans-serif;
}











#menu-button {
	position: fixed;
	width: 50px;
	height: 50px;
	right: 0;
	top: 0;
	z-index: 1000;
}
#menu-button a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
}
#menu-button a:before,
#menu-button a:after {
	position: absolute;
	display: block;
	content: "";
	width: 16px;
	height: 2px;
	left: 50%;
	top: 50%;
	margin: -1px 0 0 -8px;
	background: #000;
	transition: transform 300ms ease-out;
}
#menu-button a:before {
	transform: translate(0, -2px);
}
#menu-button a:after {
	transform: translate(0, 2px);
}


#wrap > header .inner {
	position: fixed;
	width: 100vw;
	height: 100vh;
	right: 0;
	top: 0;
	z-index: 999;
	text-align: center;
	background: #fff;
	
	transform: translateX(100vw);
	transition: transform 300ms ease-out;
}
#wrap > header .global {
	margin-top: 80px;
}
#wrap > header .global li + li {
	margin-top: 40px;
}
#wrap > header .global a {
	position: relative;
	display: inline-block;
	font-size: 18px;
	font-weight: 300;
	font-family: Roboto, sans-serif;
}
#wrap > header .global a:after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 2px;
	left: 0;
	top: 50%;
	margin-top: -1px;
	background: #000;
	visibility: hidden;
}
#wrap > header .global a.touched {
	text-decoration: none;
}
#wrap > header .global a.touched:after {
	visibility: visible;
}

#wrap > header .sns {
	position: relative;
	margin-top: 40px;
	padding-top: 40px;
}
#wrap > header .sns:before {
	position: absolute;
	display: block;
	content: "";
	width: 25px;
	height: 1px;
	left: 50%;
	top: 0;
	margin-left: -13px;
	border-top: 1px dotted #000;
}
#wrap > header .sns ul {
	font-size: 0;
}
#wrap > header .sns li {
	display: inline-block;
}
#wrap > header .sns li + li {
	margin-left: 10px;
}
#wrap > header .sns a {
	display: inline-block;
	width: 28px;
	height: 28px;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	cursor: pointer;
}
#wrap > header .sns .youtube a {
	background-image: url(../img/icon_youtube.png);
}
#wrap > header .sns .instagram a {
	background-image: url(../img/icon_instagram.png);
}
#wrap > header .sns .facebook a {
	background-image: url(../img/icon_facebook.png);
}
#wrap > header .sns .twitter a {
	background-image: url(../img/icon_twitter.png);
}




body.menu #wrap > header .inner {
	transform: translateX(0px);
}

body.menu #menu-button a:before {
	transform: rotate(45deg);
}
body.menu #menu-button a:after {
	transform: rotate(-45deg);
}



body.home #menu-button a:before,
body.home #menu-button a:after {
	background: #fff;
}
body.home.thru #menu-button a:before,
body.home.thru #menu-button a:after {
	background: #000;
}

body.menu #menu-button a:before,
body.menu #menu-button a:after {
	background: #000;
}











body:not(.home) #wrap > main {
	position: relative;
	margin: 0 auto;
}
body:not(.home) #wrap > main > header {
	margin: 0 15px 40px;
	font-size: 0;
}
#wrap > main > header h1 {
	display: inline-block;
	font-size: 50px;
	font-weight: 100;
	font-family: Roboto, sans-serif;
}
#wrap > main > header strong {
	display: block;
	margin: 10px 0 0;
	font-size: 11px;
	line-height: 1.7;
}
#wrap > main > header strong a {
	text-decoration: underline;
}





.page-nav {
	position: relative;
	margin: 0 15px 30px;
	padding: 0 0 6px;
	text-align: center;
	border: 0 solid #000;
	border-width: 0 0 2px;
}

.entry + .page-nav {
	margin-top: 50px;
	padding: 15px 0 0;
	border-width: 2px 0 0;
}
.entries + .page-nav {
	margin-top: 50px;
	padding: 15px 0 0;
	border-width: 2px 0 0;
}


.page-nav > a {
	display: inline-block;
	font-size: 12px;
	font-family: Roboto, sans-serif;
}
.page-nav .prev,
.page-nav .next {
	position: absolute;
}
.page-nav .index {
	position: relative;
}

.page-nav .prev {
	padding-left: 11px;
	left: 1px;
}
.page-nav .next {
	padding-right: 11px;
	right: 1px;
}

.page-nav .prev:before {
	content: "";
	position: absolute;
	display: block;
	width: 5px;
	height: 5px;
	left: 0;
	top: 4px;
	border: 0 solid #000;
	border-width: 2px 2px 0 0;
	transform: rotate(-135deg);
}
.page-nav .next:after {
	content: "";
	position: absolute;
	display: block;
	width: 5px;
	height: 5px;
	right: 0;
	top: 2px;
	border: 0 solid #000;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
}
.page-nav .index:after {
	content: "";
	position: absolute;
	display: block;
	width: 5px;
	height: 5px;
	left: 50%;
	top: -10px;
	margin-left: -3px;
	border: 0 solid #000;
	border-width: 2px 2px 0 0;
	transform: rotate(-45deg);
}


.page-nav .prev span,
.page-nav .next span {
	position: relative;
	vertical-align: middle;
	top: -3px;
}
.page-nav .prev strong,
.page-nav .next strong {
	position: relative;
	display: inline-block;
	margin: 0 0 0 3px;
	top: -5px;
	vertical-align: middle;
	font-size: 20px;
	font-weight: 400;
	font-family: Roboto, sans-serif;
}

.page-nav ul,
.page-nav li {
	display: inline-block;
	font-size: 0;
}
.page-nav ul {
	position: relative;
	top: -4px;
}
.page-nav li a {
	display: inline-block;
	font-size: 14px;
	font-family: Roboto, sans-serif;
}
.page-nav li {
	margin: 0 10px;
}
.page-nav li a.active {
	color: #aaa;
}







/* ----------------------------------------------------------------------------------------------------
TOP
---------- */

body.home section.topics,
body.home section.works {
	position: relative;
	margin: 0 15px;
	padding: 0 0 15px;
	border-bottom: 2px solid #000;
}
body.home .topics header h2,
body.home .works header h2 {
	font-size: 40px;
	font-weight: 100;
	font-family: Roboto, sans-serif;
}
body.home .topics .category {
	position: relative;
	margin: 20px 0 0;
	font-size: 0;
}
body.home .topics .category li {
	display: inline-block;
}
body.home .topics .category a {
	position: relative;
	display: inline-block;
	font-size: 12px;
	line-height: 2;
}
body.home .topics .category li + li:before {
	content: "／";
	margin: 0 2px;
	font-size: 12px;
}




body.home .topics .entries,
body.home .works .entries {
	margin: 30px 0 0;
}
body.home .topics .entries figure img,
body.home .works .entries figure img {
	width: 100%;
	height: auto;
}


body.home .topics .entries .summary:nth-child(n + 2),
body.home .works .entries .summary:nth-child(n + 2) {
	margin-top: 40px;
}

body.home .topics .entries article,
body.home .works .entries article {
	margin: 15px 0 0;
}
body.home .topics .entries .title,
body.home .works .entries .title {
	font-size: 15px;
	font-weight: 500;
}
body.home .topics .entries .date,
body.home .works .entries .date {
	margin: 10px 0 0;
	font-size: 12px;
	font-family: Roboto, sans-serif;
}
body.home .topics .entries .body,
body.home .works .entries .body {
	margin: 8px 0 0;
	font-size: 11px;
	line-height: 1.6;
}





body.home section.tabi {
	position: relative;
	margin: 0 15px;
	padding: 0 0 15px;
	border-bottom: 2px solid #000;
}
body.home .tabi header h2 {
	font-size: 40px;
	font-weight: 100;
	font-family: Roboto, sans-serif;
}

body.home .tabi .category {
	position: relative;
	margin: 20px 0 0;
	font-size: 0;
}
body.home .tabi .category li {
	display: inline-block;
}
body.home .tabi .category a {
	position: relative;
	display: inline-block;
	font-size: 12px;
	line-height: 1.6;
}
body.home .tabi .category li + li:before {
	content: "／";
	margin: 0 2px;
	font-size: 12px;
}




body.home .tabi .entries {
	display: flex;
	flex-wrap: wrap;
	margin: 30px 0 0;
}
body.home .tabi .entries figure img {
	width: 100%;
	height: auto;
}

body.home .tabi .entries .summary {
	width: calc((100% - 15px) / 2);
}
body.home .tabi .entries .summary:nth-child(2n) {
	margin-left: 15px;
}
body.home .tabi .entries .summary:nth-child(n + 3) {
	margin-top: 30px;
}

body.home .tabi .entries article {
	margin: 10px 0 0;
}
body.home .tabi .entries .day {
	font-size: 11px;
	font-family: Roboto, sans-serif;
}
body.home .tabi .entries .day strong {
	margin-left: 2px;
	font-size: 17px;
	font-weight: 500;
}
body.home .tabi .entries .title {
	margin: 8px 0 0;
	font-size: 11px;
	font-weight: 500;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}




body.home section + section {
	margin-top: 60px !important;
}







body.home nav.more {
	margin: 30px 0 0;
	text-align: center;
}
body.home nav.more a {
	position: relative;
	display: inline-block;
	padding-right: 12px;
	font-size: 12px;
	font-family: Roboto, sans-serif;
}
body.home nav.more a:after {
	content: "";
	position: absolute;
	display: block;
	width: 5px;
	height: 5px;
	right: 0;
	top: 3px;
	border: 0 solid #000;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
}








/* ----------------------------------------------------------------------------------------------------
TABI
---------- */

body.tabi.detail {
	background: none;
}


body.tabi #category {
	position: relative;
	margin: 0 15px;
	font-size: 0;
}
body.tabi #category li {
	display: inline-block;
}
body.tabi #category a {
	position: relative;
	display: inline-block;
	font-size: 12px;
	line-height: 2;
}
body.tabi #category li + li:before {
	content: "／";
	margin: 0 2px;
	font-size: 12px;
}
body.tabi #category li a:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	left: 0;
	bottom: 2px;
	background: #000;
	visibility: hidden;
}
body.tabi #category li a.active:after {
	visibility: visible;
}


body.tabi .entries {
	display: flex;
	flex-wrap: wrap;
	margin: 20px 15px 0;
}
body.tabi .entries figure img {
	width: 100%;
	height: auto;
}

body.tabi .entries .summary {
	width: calc((100% - 15px) / 2);
}
body.tabi .entries .summary:nth-child(2n) {
	margin-left: 15px;
}
body.tabi .entries .summary:nth-child(n + 3) {
	margin-top: 25px;
}

body.tabi .entries article {
	margin: 10px 0 0;
}
body.tabi .entries .day {
	font-size: 11px;
	font-family: Roboto, sans-serif;
}
body.tabi .entries .day strong {
	margin-left: 2px;
	font-size: 17px;
	font-weight: 500;
}
body.tabi .entries .title {
	margin: 8px 0 0;
	font-size: 11px;
	font-weight: 500;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}







body.tabi .meta {
	position: relative;
	margin: 0 15px 50px;
}
body.tabi .meta .inner {
}
body.tabi .meta .map {
	position: relative;
	margin: 30px 0 0;
	padding-top: 56.25%;
}
body.tabi .meta .map iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

body.tabi .meta .day {
	position: relative;
	display: flex;
	align-items: flex-end;
	font-size: 13px;
	font-family: Roboto, sans-serif;
}
body.tabi .meta .day dt {
	position: absolute;
	left: 0;
	top: 0;
}
body.tabi .meta .day dd {
	position: relative;
	top: -5px;
	padding: 0 0 0 30px;
	font-size: 60px;
	font-weight: 100;
}
body.tabi .meta .day .date {
	position: relative;
	top: -14px;
	margin-left: 15px;
}

body.tabi .meta .title {
	margin: 10px 0 0;
}
body.tabi .meta .title,
body.tabi .meta .subtitle {
	font-size: 20px;
	line-height: 1.3;
}
body.tabi .meta .subtitle {
	margin-top: 5px;
}

body.tabi .meta .tag {
	margin-top: 20px;
	font-size: 0;
}
body.tabi .meta .tag a {
	position: relative;
	display: inline-block;
	font-size: 12px;
	font-weight: 500;
	font-style: italic;
}
body.tabi .meta .tag a + a {
	margin-left: 10px;
}
body.tabi .meta .tag a:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 2px;
	left: 0;
	bottom: -4px;
	background: #000;
}




body.tabi .entry figure img {
	width: 100%;
	height: auto;
}
body.tabi .entry .video {
	position: relative;
	padding-top: 56.25%;
}
body.tabi .entry .video iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}


body.tabi .entry article {
	margin: 25px 15px 0;
}

body.tabi .entry article .body,
body.tabi .entry article .body p {
	font-size: 13px;
	line-height: 1.6;
}

body.tabi .entry article .body p + p {
	margin-top: 1em;
}


body.tabi #wrap {
	position: relative;
	z-index: 10;
}
body.tabi #map {
	position: fixed;
	width: 100vw;
	height: 100vh;
	left: 0;
	top: 0;
	z-index: 1;
}
body.tabi #world {
	position: absolute;
	width: 5000px;
	height: 2800px;
	z-index: 10;
}
body.tabi #world-bg {
	position: absolute;
	width: 5000px;
	height: 2800px;
	left: 0;
	top: 0;
	z-index: 1;
	opacity: 0.5;
	background: url(../img/map_black.png) 0 0 no-repeat;
}

body.tabi #dots {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 10;
}

body.tabi #dots .dot {
	position: absolute;
}
body.tabi #dots .dot i {
	position: absolute;
	width: 10px;
	height: 10px;
	left: -5px;
	top: -5px;
	background: #000;
	border-radius: 10px;
}
body.tabi #dots .dot:after {
	content: "";
	position: absolute;
	display: block;
	width: 86px;
	height: 86px;
	left: -43px;
	top: -43px;
	background: url(../img/circles.svg) 50% 50% no-repeat;
	background-size: 100% auto;
}

body.tabi #axis {
	display: none;
}




body.tabi .entry .image.single {
	margin: 30px 0 20px;
}
body.tabi .entry .image.single img {
	width: 100%;
	height: auto;
}

body.tabi .entry .image.multi:after {
	clear: both;
	content: "";
	display: block;
	visibility: hidden;
}
body.tabi .entry .image.multi {
	margin: 30px 0 20px;
}
body.tabi .entry .image.multi img {
	float: left;
	width: calc(50% - 8px);
	height: auto;
}
body.tabi .entry .image.multi img:nth-child(2n) {
	float: right;
}
body.tabi .entry .image.multi img:nth-child(n + 3) {
	margin-top: 15px;
}



body.tabi .entry .body img {
	width: 100vw;
	height: auto;
	margin: 30px -15px;
}









/* ----------------------------------------------------------------------------------------------------
WORKS
---------- */

body.works .entries figure img {
	width: 100%;
	height: auto;
}

body.works .entries {
	margin: 0 15px;
}
body.works .entries .summary {
}
body.works .entries .summary:nth-child(n + 2) {
	margin-top: 40px;
}

body.works .entries article {
	margin: 12px 0 0;
}
body.works .entries .title {
	font-size: 15px;
	font-weight: 500;
}
body.works .entries .date {
	margin: 10px 0 0;
	font-size: 12px;
	font-family: Roboto, sans-serif;
}
body.works .entries .body {
	margin: 8px 0 0;
	font-size: 11px;
	line-height: 1.7;
}




body.works .entry header {
	position: relative;
	margin: 0 15px 20px;
}
body.works .entry .title {
	font-size: 18px;
	line-height: 1.3;
}
body.works .entry .date {
	margin: 10px 0 0;
	font-size: 12px;
	font-family: Roboto, sans-serif;
}


body.works .entry figure img {
	width: 100%;
	height: auto;
}
body.works .entry .video {
	position: relative;
	padding-top: 56.25%;
}
body.works .entry .video iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

body.works .entry article {
	margin: 25px 15px 0;
}

body.works .entry article .body,
body.works .entry article .body p {
	font-size: 13px;
	line-height: 1.6;
}
body.works .entry article .credit,
body.works .entry article .credit p {
	font-size: 13px;
	line-height: 1.6;
}

body.works .entry article .body + .body,
body.works .entry article .body + .credit {
	margin-top: 20px;
}

body.works .entry article .body p + p {
	margin-top: 1em;
}



body.works .entry .image.single {
	margin: 30px 0 20px;
}
body.works .entry .image.single img {
	width: 100%;
	height: auto;
}

body.works .entry .image.multi:after {
	clear: both;
	content: "";
	display: block;
	visibility: hidden;
}
body.works .entry .image.multi {
	margin: 30px 0 20px;
}
body.works .entry .image.multi img {
	float: left;
	width: calc(50% - 8px);
	height: auto;
}
body.works .entry .image.multi img:nth-child(2n) {
	float: right;
}
body.works .entry .image.multi img:nth-child(n + 3) {
	margin-top: 15px;
}

body.works .map {
	position: relative;
	width: 100%;
	margin: 30px 0 0;
	padding-top: 50%;
}
body.works .map iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}






/* ----------------------------------------------------------------------------------------------------
TOPICS
---------- */

body.topics #category {
	position: relative;
	margin: 0 15px 20px;
	font-size: 0;
}
body.topics #category li {
	display: inline-block;
}
body.topics #category a {
	position: relative;
	display: inline-block;
	font-size: 12px;
	line-height: 2;
}
body.topics #category li + li:before {
	content: "／";
	margin: 0 2px;
	font-size: 12px;
}
body.topics #category li a:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	left: 0;
	bottom: 2px;
	background: #000;
	visibility: hidden;
}
body.topics #category li a.active:after {
	visibility: visible;
}


body.topics .entries {
	margin: 15px;
}
body.topics .entries + .entries {
	margin-top: 40px;
}
body.topics .entries .summary + .summary {
	margin-top: 40px;
}
body.topics .entries figure img {
	width: 100%;
	height: auto;
}



body.topics .entries article {
	margin: 15px 0 0;
}
body.topics .entries .title {
	font-size: 15px;
	font-weight: 500;
}
body.topics .entries .date {
	margin: 10px 0 0;
	font-size: 12px;
	font-family: Roboto, sans-serif;
}
body.topics .entries .body {
	margin: 8px 0 0;
	font-size: 11px;
	line-height: 1.6;
}




body.topics .entry header {
	position: relative;
	margin: 0 15px 20px;
}
body.topics .entry .title {
	font-size: 18px;
	line-height: 1.3;
}
body.topics .entry .date {
	margin-top: 10px;
	font-size: 12px;
	font-family: Roboto, sans-serif;
}

body.topics .entry figure img {
	width: 100%;
	height: auto;
}
body.topics .entry .video {
	position: relative;
	padding-top: 56.25%;
}
body.topics .entry .video iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

body.topics .entry article {
	margin: 25px 15px 0;
}

body.topics .entry article .body,
body.topics .entry article .body p {
	font-size: 13px;
	line-height: 1.6;
}
body.topics .entry article .credit,
body.topics .entry article .credit p {
	font-size: 13px;
	line-height: 1.6;
}

body.topics .entry article .body + .body,
body.topics .entry article .body + .credit {
	margin-top: 20px;
}

body.topics .entry article .body p + p {
	margin-top: 1em;
}




body.topics .entry .image.single {
	margin: 30px 0 20px;
}
body.topics .entry .image.single img {
	width: 100%;
	height: auto;
}

body.topics .entry .image.multi:after {
	clear: both;
	content: "";
	display: block;
	visibility: hidden;
}
body.topics .entry .image.multi {
	margin: 30px 0 20px;
}
body.topics .entry .image.multi img {
	float: left;
	width: calc(50% - 8px);
	height: auto;
}
body.topics .entry .image.multi img:nth-child(2n) {
	float: right;
}
body.topics .entry .image.multi img:nth-child(n + 3) {
	margin-top: 15px;
}

body.topics .map {
	position: relative;
	width: 100%;
	margin: 30px 0 0;
	padding-top: 50%;
}
body.topics .map iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}










/* ----------------------------------------------------------------------------------------------------
ABOUT
---------- */

body.about figure {
	margin: 0 0 30px;
}
body.about figure img {
	width: 100%;
	height: auto;
}
body.about article {
	margin: 0 15px;
}
body.about article .ja p {
	font-size: 13px;
	line-height: 1.7;
}
body.about article .ja p + p {
	margin-top: 15px;
}
body.about article .en {
	margin-top: 30px;
}
body.about article .en p {
	font-size: 13px;
	line-height: 1.7;
}
body.about article .en p + p {
	margin-top: 20px;
}

body.about article p {
	font-size: 13px;
	line-height: 1.7;
}
body.about article p + p {
	margin-top: 20px;
}




/* ----------------------------------------------------------------------------------------------------
CONTACT
---------- */

body.contact article {
	margin: 0 15px;
}
body.contact article a {
	text-decoration: underline;
}

body.contact article p {
	font-size: 13px;
	line-height: 1.7;
}
body.contact article p + p {
	margin-top: 20px;
}
body.contact figure {
	margin: 0 0 30px;
}
body.contact figure img {
	width: 100%;
	height: auto;
}

















