@charset "utf-8";
/* CSS Document */
/* --------------------------------------------------
html
-------------------------------------------------- */
html {
	font-size: 62.5%;
	height: 100%;
	min-width: 1200px;
}
/* html:before, html:after, body:before, body:after {
	content: "";
	background: #8C2300;
	position: fixed;
	display: block;
	z-index: 100;
} */

@media screen and (max-width: 1200px) {
	html {
		font-size: 58.12%;
		/* 1.5rem */
	}
}
@media screen and (max-width: 800px) {
	html {
		min-width: auto;
	}
}
@media screen and (max-width: 600px) {
	html {
		font-size: 53.75%;
		/* 1.4rem */
	}
}
@media screen and (max-width: 400px) {
	html {
		font-size: 50%;
		/* 1.3rem */
	}
}
/* --------------------------------------------------
body
-------------------------------------------------- */
body {
    font-family: 'EB Garamond', serif;
	font-size: 1.8rem;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	height: 100%;
	color: #000;
	box-sizing: border-box;
	position: relative;
}

/* --------------------------------------------------
module
-------------------------------------------------- */
.list-pht {
	position: relative;
	width: 100%;
	padding-top: 72%;
	overflow: hidden;
	margin-bottom: 1rem;
}
.list-pht img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: none;
	max-height: 100%;
}
.interviews-list{
	margin-top: 4em;
}
.thumb-list .ico {
	font-size: 70%;
	margin: 1.5rem 0 1.5rem;
}
.thumb-list .ico span {
	display: inline-block;
	padding: 0 10px;
	margin: 5px 5px 0 0;
}
.ico-area {
	background: #FFF;
	border: 1px solid #947728;
	margin-top: 1rem;
}
.ico-genre {
	background: #947728;
	color: #FFF;
	border: 1px solid #947728;
}
.thumb-list .date {
	font-size: 65%;
	border-top: 1px solid #947728;
	margin-top: 1rem;
	padding-top: 1rem;
	letter-spacing: .3rem;
}
.ttl-block {
	display: flex;
	flex-direction: row-reverse;
	width: 10%;
}
.ttl-block h2 {
	font-size: 180%;
	margin-left: 2rem;
	line-height: 1.2;
	letter-spacing: .2rem;
}
.ttl-block p {
	font-size: 90%;
	border-top: #8D2605 3px solid;
	padding-top: 2rem;
}
.column-list-3col ul {
	display: flex;
	justify-content: space-between;
	margin-right: -4%;
	flex-wrap: wrap;
}
.column-list-3col li {
	width: 29%;
	margin-right: 4%;
	margin-bottom: 3rem;
	position: relative;
}
@media screen and (max-width: 800px) {
	.column-list-3col li {
		width: calc(100%/2 - 4%);
		margin-right: 4%;
		margin-bottom: 3rem;
	}
	.interviews-list{
		margin-top: 6em;
	}
}
@media screen and (max-width: 600px) {
	.column-list-3col li {
		width: calc(50% - 4%);
		margin-right: 4%;
		margin-bottom: 3rem;
	}
}
/* --------------------------------------------------
page-inner
-------------------------------------------------- */
.page-inner {
	max-width: 1200px;
	margin: 0 auto;
}

/* --------------------------------------------------
contents
-------------------------------------------------- */
#contents {
	margin: 0 auto;
	position: relative;
}
#contents img {
	max-width: 100%;
}
@media screen and (max-width: 1200px) {
	#contents {
		margin: 0 8%;
	}
}
/* top-ranking */
.rank-icon {
	position: absolute;
	left: -3rem;
	width: 60px;
	top: -2rem;
	z-index: 2;
}
.column-list-2col ul {
	display: flex;
	justify-content: space-around;
	margin-right: -8%;
	flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
	.rank-icon {
		position: absolute;
		left: -1rem;
		width: 50px;
		top: -2rem;
		z-index: 2;
	}
}

/* --------------------------------------------------
breadCrumbs
-------------------------------------------------- */
.breadCrumbs {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	margin-left: auto;
	padding: 1rem 0;
	margin-bottom: 4rem;
}
.breadCrumbs ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-right: 2%;
}
.breadCrumbs li {
	font-size: 80%;
	margin-left: 10px;
}
.breadCrumbs a {
	align-items: center;
}
.breadCrumbs a:hover {
	text-decoration: none;
}
/* .breadCrumbs li:after {
	content: ">";
	margin-left: 1rem;
	vertical-align: top;
	color: #ACAC9D;
} */
.breadCrumbs li:last-of-type:after {
	content: none;
}
/* for TABLET */
@media screen and (max-width: 800px) {
	.breadCrumbs {
		width: 100%;
		/* padding: .5em 0 .5em 130px; */
	}
	.breadCrumbs li:last-of-type{
		padding: 1em 0;
	}
}

/* --------------------------------------------------
block
-------------------------------------------------- */
.pht {
	text-align: center;
}
.pht img {
	max-width: 100%;
}
/* block-center */
.block-center {
	margin-bottom: 8rem;
}
.block-center .pht {
	display: block;
	text-align: center;
}
/* block-2col */
.block-2col {
	position: relative;
	overflow: hidden;
	margin-bottom: 8rem;
	margin-right: -1%;
}
.block-2col .pht {
	max-width: 49%;
	margin-right: 1%;
	float: left;
}
/* block-3col */
.block-3col {
	position: relative;
	overflow: hidden;
	margin-bottom: 8rem;
	margin-right: -2%;
}
.block-3col .pht {
	max-width: 32%;
	margin-right: 1%;
	float: left;
}
/* col-left col-right */
.col-left {
	float: left;
	padding-right: 3%;
	width: 50%;
}
.col-right {
	float: right;
	padding-left: 3%;
	width: 50%;
}
@media screen and (max-width: 800px) {
	.col-left {
		float: none;
		padding-right: 0;
		width: 100%;
	}
	.col-right {
		float: none;
		padding-left: 0;
		width: 100%;
	}
}
/* --------------------------------------------------
list
-------------------------------------------------- */
.list-3col .pht, .list-4col .pht, .list-5col .pht {
	z-index: -1;
	position: relative;
	width: 100%;
	padding-top: 75%;
	overflow: hidden;
	background: #fff;
	overflow: hidden;
	background: #F5F5F5;
}
.list-3col .pht img, .list-4col .pht img, .list-5col .pht img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: none;
	max-height: 100%;
	max-width: 150%;
}
/* list-3col */
.list-3col {
	overflow: hidden;
	position: relative;
	margin: 0 -20px;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
}
.list-3col li {
	width: 33.33%;
	float: left;
	padding: 20px;
	box-sizing: border-box;
}
/* list-4col */
.list-4col {
	overflow: hidden;
	position: relative;
	margin: 0 -20px;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
}
.list-4col li {
	width: 25%;
	float: left;
	padding: 20px;
	box-sizing: border-box;
}
/* list-5col */
.list-5col {
	overflow: hidden;
	position: relative;
	margin: 0 -20px;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
}
.list-5col li {
	width: 20%;
	float: left;
	padding: 20px;
	box-sizing: border-box;
}
/* --------------------------------------------------
post-content
-------------------------------------------------- */
/* ttl-post */
.ttl-post {
	line-height: 1.4;
	font-size: 2rem;
	margin-bottom: 2rem;
	font-size: 3rem;
	margin: 1em 0;
}
.ttl-post span {
	margin-right: 1rem;
}
@media screen and (max-width: 800px) {
	.ttl-post {
		font-size: 2rem;
	}
}
/* eyecatch */
.eyecatch {
	position: relative;
}
.eyecatch .pht {
	z-index: -1;
	position: relative;
	width: 100%;
	padding-top: 45%;
	overflow: hidden;
}
.eyecatch .pht img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: none;
	max-height: 100%;
	max-width: 150%;
}
/* post-content */
.post-content {
	overflow: hidden;
	max-width: 1100px;
	margin: 0 auto;
}
.post-content .pht {
	/* display: table; */
	width: 100%;
	text-align: center;
}
.post-content .pht img {
	max-width: 100%;
}
.post-content p {
	padding: 1rem 0;
	/*max-width:800px;*/
	margin: 0 auto;
}
.post-content .pht figcaption {
	display: block;
	font-size: 70%;
	padding: 5px;
	line-height: 1.2;
	text-align: center;
}
/* post-date */
.post-date {
	display: block;
	text-align: right;
	padding: 1rem;
}
.post-date:before {
	content: "\f040";
	font-family: fontawesome;
	margin-right: 1rem;
}
/* --------------------------------------------------
column-eyecatch
-------------------------------------------------- */
.column-eyecatch {
	position: relative;
	margin: 3rem 0;
}
.column-eyecatch .pht {
	z-index: -1;
	position: relative;
	width: 64%;
	height: 0;
	padding-top: 66.6%;
	margin-left: auto;
}
.column-eyecatch .pht img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-height: 100%;
	max-width: 150%;
}
.column-eyecatch .pht::after {
	content: "";
	display: block;
	width: 90%;
	height: 90%;
	background: #947728;
	position: absolute;
	right: -20px;
	bottom: -20px;
	z-index: -1;
}
.column-eyecatchIn {
	position: absolute;
	left: 5%;
	width: 55%;
	top: auto;
	bottom: 15%;
	text-align: left;
}
@media screen and (max-width: 800px) {
	.column-eyecatch .pht {
		width: 100%;
	}
	.column-eyecatch {
		margin: -4rem 0 0;
		max-width: 100%;
		display: block;
		line-height: 1.5em;
		display: flex;
		flex-direction: column-reverse;
	}
	.column-eyecatch .pht {
		max-width: 100%;
		float: none;
		margin-left: 0;
		margin-bottom: 10px;
	}
	.column-eyecatch .pht img {
		max-width: none;
		max-height: none;
		width: 100%;
	}
	.column-eyecatchIn {
		width: 100%;
		margin-top: 50px;
		position: static;
	}
	.column-eyecatchIn .category {
		margin-top: 1rem;
	}
}
/* --------------------------------------------------
ttl-post
-------------------------------------------------- */
.ttl-c {
	font-size: 5rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
	letter-spacing: .2rem;
	margin: 5% 0 1% 0;
	text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 20px #fff;
	position: relative;
}
.ttl-post {
	font-size: 3.5rem;
	font-weight: bold;
	margin: 5rem 0 2rem;
	line-height: 1.8;
	letter-spacing: .2rem;
	position: relative;
	padding-left: 2rem;
}
.ttl-post:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: #947728;
}
.sttl-post {
	font-size: 2.5rem;
	margin: 2rem 0;
	font-weight: bold;
	position: relative;
	border-radius: 6px;
}
.column-eyecatchIn .ico span {
	display: inline-block;
	padding: 0 10px;
	margin: 5px 5px 0 0;
	font-size: 90%;
}
.column-eyecatchIn .date {
	font-size: 80%;
	margin-top: 2rem;
}
@media screen and (max-width: 1080px) {
	.ttl-c {
		font-size: 3rem;
		line-height: 1.2;
	}
}
@media screen and (max-width: 800px) {
	.ttl-c {
		font-size: 2.2rem;
		margin: 10rem 0 2% 0;
	}
	.ttl-post {
		font-size: 1.8rem;
		text-align: left;
		margin: 2rem 0 1rem;
	}
	.sttl-post {
		font-size: 1.6rem;
		margin: 1rem 0;
	}
	.ttl-c::before {
		width: 70px;
	}
}
/* --------------------------------------------------
txt
-------------------------------------------------- */
.txt-area-column p {
	max-width: 1200px;
	margin: 0;
	padding: 1% 0 3% 0;
}
/* --------------------------------------------------
data-area
-------------------------------------------------- */
.data-area {
	padding-bottom: 50px;
}
.data-area .table-data {
	border-collapse: collapse;
	margin-top: 2rem;
	font-size: 1.4rem;
}
.data-area .table-data tr {
	border-bottom: 5px solid #FFF;
}
.data-area .table-data th {
	font-weight: bold;
	padding: 14px 10px;
	white-space: nowrap;
	background: #F6F6F6;
	width: 20%;
	text-align: center;
}
.data-area .table-data td {
	padding: 14px 10px;
	word-break: break-all;
}
.data-area .list-pict li {
	display: inline-block;
	margin-bottom: 3px;
}
.data-area .table-data a:link {
	color: #186CB8;
	text-decoration: underline;
}
/* --------------------------------------------------
movie map
-------------------------------------------------- */
.movie, .map {
	width: 100%;
	margin-bottom: 2%;
}
.movie > div {
	position: relative;
	padding-top: 56.25%;
}
.movie iframe, .map iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
/* --------------------------------------------------
 map
-------------------------------------------------- */
.map > div {
	position: relative;
	padding-top: 35.25%;
}
.map-wrap {
	max-width: 1100px;
	margin: 3% auto 0;
}
.ttl-post-map {
	text-align: center;
	position: relative;
	font-size: 2.6rem;
	margin-bottom: 2%;
}
.ttl-post-map:before, .ttl-post-map:after {
	content: "";
	position: absolute;
	display: block;
	height: 2px;
	width: 40%;
	background: #fff;
	top: 50%;
	transform: translateY(-50%);
}
.ttl-post-map:before {
	left: 0;
}
.ttl-post-map:after {
	right: 0;
}
@media screen and (max-width: 800px) {
	.ttl-post-map {
		font-size: 1.8rem;
	}
	.ttl-post-map:before, .ttl-post-map:after {
		width: 35%;
	}
}


/* --------------------------------------------------
page-ranking
-------------------------------------------------- */
.page-ranking {
	background: #EEE;
	padding: 3rem 0;
}
.page-ranking h2 {
	font-family: 'Noto Serif JP', serif;
	font-size: 3rem;
	text-align: center;
	padding: 5rem 0;
	position: relative;
}

.page-ranking .inner {
	max-width: 1100px;
	margin: 0 auto;
}
.page-ranking.column-list-2col ul {
	display: flex;
	justify-content: space-around;
	margin-right: -8%;
}
.page-ranking .column-list-2col li {
	width: calc(50% - 8%);
	margin-right: 8%;
	position: relative;
	margin-bottom: 5rem;
}
@media screen and (max-width: 1200px) {
	.page-ranking .inner {
		padding: 0 8%;
	}
}
@media screen and (max-width: 600px) {
	.page-ranking .column-list-2col li {
		width: calc(100% - 8%);
		margin-right: 8%;
		position: relative;
		margin-bottom: 5rem;
	}
}


/* --------------------------------------------------
animation
-------------------------------------------------- */
/* --------------------------------------------------
animation for PC
-------------------------------------------------- */
@media screen and (min-width: 768px) {
	/* --------------------------------------------------
	js-style
	-------------------------------------------------- */
	.fx-col-in li {
		opacity: 0;
	}
	.fx-in, .fx-down, .fx-up, .fx-left, .fx-right {
		visibility: hidden;
	}
}
/* --------------------------------------------------
anim
-------------------------------------------------- */
.fadeIn {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 2s;
	-ms-animation-duration: 2s;
	animation-duration: 2s;
	-webkit-animation-name: fadeIn;
	animation-name: fadeIn;
	visibility: visible !important;
}
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.fadeInDown {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	-ms-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
	visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}
@keyframes fadeInDown {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-20px);
		-ms-transform: translateY(-20px);
		transform: translateY(-20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}
.fadeInUp {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1.5s;
	-ms-animation-duration: 1.5s;
	animation-duration: 1.5s;
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
	visibility: visible !important;
}
@-webkit-keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(30px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}
@keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(30px);
		-ms-transform: translateY(30px);
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}
.fadeInLeft {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	-ms-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-name: fadeInLeft;
	animation-name: fadeInLeft;
	visibility: visible !important;
}
@-webkit-keyframes fadeInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(50px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}
@keyframes fadeInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(50px);
		-ms-transform: translateX(50px);
		transform: translateX(50px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}
}
.fadeInRight {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	-ms-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-name: fadeInRight;
	animation-name: fadeInRight;
	visibility: visible !important;
}
@-webkit-keyframes fadeInRight {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}
@keyframes fadeInRight {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-20px);
		-ms-transform: translateX(-20px);
		transform: translateX(-20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}
}
.fx-panel-right {
	position: relative;
	overflow: hidden;
}
.fx-panel-right::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 50;
	left: 0%;
	background: #FFF;
}
.fadePanelAnim::after {
	animation-fill-mode: both;
	animation-duration: 1.2s;
	animation-timing-function: ease-in;
	animation-name: blackPanel;
}
@keyframes blackPanel {
	0% {
		left: 0%;
	}
	60% {
		left: 0%;
	}
	80% {
		left: 5%;
	}
	100% {
		left: 100%;
	}
}
.fx-txt-right01 {
	transition: 0.6s ease-out;
	opacity: 0;
	transform: translateX(-100%);
	overflow: hidden;
	display: inline-block;
}
.fx-txt-right01 span {
	display: inline-block;
	transition: 0.6s ease-out;
	transform: translateX(95%);
}
.txtRightAnim01 {
	opacity: 1;
	transform: translateX(0);
}
.txtRightAnim01 span {
	transform: translateX(0);
}
.fx-txt-right02 {
	transition: 0.6s 0.3s ease-out;
	opacity: 0;
	transform: translateX(-100%);
	overflow: hidden;
	display: inline-block;
}
.fx-txt-right02 span {
	display: inline-block;
	transition: 0.6s 0.3s ease-out;
	transform: translateX(95%);
}
.txtRightAnim02 {
	opacity: 1;
	transform: translateX(0);
}
.txtRightAnim02 span {
	transform: translateX(0);
}
