@charset "utf-8";
/* CSS Document */

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

reset

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

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub,main-blockvar, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	box-sizing: border-box;
	letter-spacing: .05em;
	text-indent: -.05rem;
}
html {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
q, blockquote {
	quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}
img, a {
	vertical-align: top;
	max-width: 100%;
}
a img {
	border: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}
strong {
	font-weight: bold;
}
h3, h4, h5, h6 {
	letter-spacing: .2rem;
	text-indent: .2rem;
}
/* --------------------------------------------------
clearfix
-------------------------------------------------- */

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	/*font-size: 0;*/
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
/* Hides from IE Mac \*/
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/* End Hack */

/* --------------------------------------------------
fonts
-------------------------------------------------- */

.wf-notosansjp {
	font-family: "Noto Sans JP";
}
.wf-notosansjp {
	font-family: "Noto Sans JP";
}

/* --------------------------------------------------
link
-------------------------------------------------- */

a:link {
	color: #000;
	text-decoration: none;
}
a:visited {
	color: #000;
	text-decoration: none;
}
a:hover {
	color: #000;
	text-decoration: none;
}
a:active {
	color: #000;
	text-decoration: none;
}
a {
	transition: .2s linear;
}
a img {
	transition:all .5s;
}

@media screen and (max-width: 800px) {
	a:hover {
		opacity: 1;
	}
}

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

html

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

html {
	font-size: 62.5%;
	height: 100%;
}

@media screen and (max-width: 800px) {
	html {
		font-size: 58.12%; /* 1.4rem */
	}
}



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

body

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

body {
	font-family: 'Noto Sans', sans-serif;
	font-size: 1.6rem;
	line-height: 1.6;
	height: 100%;
	font-weight: 400;
	color: #000;
	background: #fff;
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	min-width: 1024px;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	border-top: 6px solid #CA0011;
}

body.fixed {
	position: fixed;
	width: 100%;
}


body *:lang(en){
  font-family: 'Noto Sans', sans-serif;
}

body *:lang(ko){
  font-family: 'Noto Sans KR', "돋움","중고딕","중명조",dotum,AppleGothic,Arial,Helvetica,Clean,sans-serif;
}

body *:lang(zh_CN){
  font-family: 'Noto Sans SC', Simhei,MS UI Gothic,Hei,sans-serif;
}

body *:lang(zh_TW){
  font-family: 'Noto Sans TC', Simhei,MS UI Gothic,Hei,sans-serif;
}

body *:lang(th){
  font-family: 'Noto Sans Thai', sans-serif;
}
body *:lang(fr){
  font-family: 'Noto Sans', sans-serif;
}
body *:lang(de){
  font-family: 'Noto Sans', sans-serif;
}


@media screen and (max-width: 800px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
		z-index: -1;
	}

}

@media screen and (max-width: 420px) {
	body {
		line-height: 1.6;
	}

}




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

form

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

.error-message {
	margin-bottom: .5em;
	color: #B12814;
	font-weight: bold;
}

input, textarea {
	font-size: 1.6rem;
	background: #FFF;
	-moz-background-clip: padding;
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 180px;
	padding:.8em;
	width:100%;
	border-radius:5px;
	border: solid 1px #9E9E9E;
}


input[type="file"] {
	border-radius: 0;
	border: none;
	width: auto;
	padding: 1em 0;
	background: none;
}

textarea {
	border-radius: 18px;
}

fieldset legend{
	display: none;
}

legend.hidden,
label.hidden {
	position: absolute;
	white-space: nowrap;
	width: 1px;
	height: 1px;
	overflow: hidden;
	border: 0;
	padding: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	margin: -1px;
}


button {
	color:#fff;
	background-color:#000;
	padding: .8em;
	border-radius: 50px;
	border: 1px solid #000;
	-webkit-transition: .5s;
	transition: .5s;
	display: inline-block;
	cursor: pointer;
	min-width: 200px;

}
button:hover, .button:hover {
	opacity: 0.8;
}

@media screen and (max-width: 800px) {
	input, textarea {
		width: 100%;
		font-size: 1.8rem;
	}
}

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

font

-------------------------------------------------- */
.fa, .far, .fas{
	font-family: "Font Awesome 5 Free"!important;
	font-weight: 900;
}




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

header

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

#header {
	width: 100%;
	min-width: 1024px;
	position: relative;
	top: auto;
	left: 0;
	z-index: 100;
	background: #FFF;
	color: #FFF;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	transition: .4s;
	opacity: 1;
}
#header.up-hide {
	position: fixed;
    top: -180px;
    opacity: 0;
    transition: .4s;
}
#header.down-show {
	position: fixed;
    top: 0;
    opacity: 1;
	transition: .25s;
	background: rgba(255,255,255,0.8);
	border-top: 0px solid #CA0011;
}
#header .header-inner {
	width: 96%;
	max-width: 1600px;
	margin: 0 auto;
	display: flex;
}


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

	#header{
		min-width: inherit;
		left: 0;
		z-index:97;
		right: 0;
		padding-right:0;
		display:block;
		height: 100vh;
		color: #FFF;
		border-top:none;
		background: none;
		width: 100%;
	}
	#header.off {
		height: 0;
		margin-top: 0;
	}

	#header .header-inner {
		display: block;
		height: 100%;
		padding-top: 0;
		width: 100%;
		background: rgba(0,0,0,0.9);
	}

}


/* ----------  h-logo  ---------- */


#header .h-logo a{
	display: block;
	margin: 15px 20px 10px;
	width: 220px;
}
#header.down-show .h-logo a{
	width: 160px;
	margin:5px 20px;
}

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



	#header .h-logo a{
		display: block;
		margin:10px 20px 5px 10px;
		max-width: 145px;
	}

	#header.down-show .h-logo a{
		max-width: 125px;
		margin:10px 20px 5px 10px;
	}

}

/* --------------------------------------------------
sp-header
-------------------------------------------------- */

#header .sp-header {
	flex-grow: 1;
}

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

	#header .sp-header{
		z-index:99;
		width:100%;
		height:60px;
		display:flex;
		align-items:center;
		justify-content: space-between;
		background:#fff;
		box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.4);
		transition: .4s;
	}


	#header.down-show .sp-header{
		height:50px;
		background: rgba(255,255,255,0.8);
	}

}

/* ----------  sp-menu-btn  ---------- */

.sp-menu-btn{
	display: none;
}



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

	.sp-menu-btn{
		padding:20px;
		display: block;
	}

	#header.down-show .sp-menu-btn{
		padding:10px 20px;
	}


	.menu-trigger,
	.menu-trigger span {
	  display: inline-block;
	  transition: all .4s;
	  box-sizing: border-box;
	}
	.menu-trigger {
	  position: relative;
			width: 30px;
			height: 26px;
	}
	.menu-trigger span {
	  position: absolute;
	  left: 0;
	  width: 100%;
	  height: 2px;
	  background-color: #000;
	  border-radius: 4px;
	}
	.menu-trigger span:nth-of-type(1) {
	  top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
	  top: 12px;
	}
	.menu-trigger span:nth-of-type(3) {
	  bottom: 0;
	}
	.menu-trigger.active span:nth-of-type(1) {
	  -webkit-transform: translateY(13px) rotate(-45deg);
	  transform: translateY(13px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
	  opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
	  -webkit-transform: translateY(-11px) rotate(45deg);
	  transform: translateY(-11px) rotate(45deg);
	}

}


/* --------------------------------------------------
gnav
-------------------------------------------------- */

#gnav {
	flex-grow: 1;
}
#gnav > ul {
	display: flex;
	justify-content: flex-end;
	height: 100%;
	margin: 0 auto;
	-webkit-overflow-scrolling: touch;
}
#gnav > ul > li {
	text-indent: .1rem;
	line-height: 1.2;
	height: 100%;
	text-align: center;
	padding: 0 .5em;
}

#gnav > ul > li > a {
	position: relative;
	text-decoration: none;
	color: #000;
	height: 100%;
	display: block;
	padding: .5em 1em;
	transition: all 0.2s ease;
	line-height: 1;
	text-align: center;
}


#gnav > ul > li:nth-child(6) > a,
#gnav > ul > li:nth-child(7) > a {
	padding: .5em 1em;
}

#gnav > ul > li:nth-child(6) > a span:after {
	display: inline-block;
	content:"\f107";
	font-family:fontawesome;
	margin-left: .5em;
}
#gnav > ul > li:hover > a {
	color: #CA0011;
}



#gnav > ul > li a span {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
}

#gnav a:hover,
#gnav .active a{
	opacity: 1;
}

#gnav > ul > li > a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 4px;
	background: #CA0011;
	transform: scale(0, 0);
	transform-origin: center bottom;
	transition: transform .3s;
}

#gnav > ul > li:hover > a::after,
#gnav > ul > li.active > a::after{
	transform-origin: center bottom;
	transform: scale(1, 1);
}


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

	#gnav {
		height: 100%;
		overflow-y: scroll;
	}

	#gnav > ul {
		flex-direction: column;
		height: auto;
		padding: 0 0 50%;
	}

	#gnav > ul > li {
		display: block;
		align-items: center;
		justify-content: center;
		border-bottom: 1px solid #999;
		margin: 0;
	}

	#gnav > ul > li:last-child {
		border-bottom: none;
	}

	#gnav > ul > li > a {
		height: auto;
		color: #EEE;
		font-size: 1.6rem;
		padding: 1.5em;
	}

	#gnav > ul > li:nth-child(6) > a,
	#gnav > ul > li:nth-child(7) > a {
		display: none;
	}


	#gnav > ul > li > a::after {
		display: none;
	}

	#gnav > ul > li a span {
		justify-content:flex-start;
		position: relative;
	}

	#gnav > ul > li a span::after {
		display: inline-block;
		content: "\f105";
		font-family: fontawesome;
		margin-right: .5em;
		position: absolute;
		top: 50%;
		line-height: 1;
		margin-top: -.5em;
		right: 0;
	}
	
	#gnav > ul > li a[href="javascript:void(0)"] span::after {
		display: none;
	}


}

/*  ----------  mega-menu  ----------  */

.mega-menu{
	display: block;
	position:absolute;
	left:0;
	top:100%;
	width:100%;
	padding: 0;
	background: rgba(0,0,0,0.85);
	transition: .2s ease;
	z-index: 0;
	opacity:0;
	margin-top:-5px;
	overflow:hidden;
	visibility: hidden;
	color: #FFF;
}

#gnav ul> li:hover > .mega-menu{
	z-index: 10;
	opacity: 1;
	padding: 4rem;
	margin-top:0;
	overflow:hidden;
	visibility: visible;
}

#gnav ul> li > .mega-menu a {
	padding-left: 20px;
}

#gnav ul> li > .mega-menu a::before {
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    margin: auto;
    top: 50%;
    bottom: auto;
    left: 0;
    z-index: 5;
    border-top: 2px solid #E62115;
    border-right: 2px solid #E62115;
    transform: translateY(-50%) rotate(45deg);
    transition: .3s;
}

@media screen and (max-width: 1200px) {
	.mega-menu{
		position:relative;
		left:auto;
		top:auto;
		width:100%;
		opacity:1;
		visibility: visible;
		border-top: 1px dotted #999;
		background: none;
		padding: 1em;
		margin-top:0px;
	}

	#gnav > ul > li:nth-child(6) .mega-menu,
	#gnav > ul > li:nth-child(7) .mega-menu {
		border-top: none;
	}

	#gnav ul> li:hover > .mega-menu{
		padding: 1em;
		margin-top:0px;
	}

	#gnav > ul > li:last-child .mega-menu{
		padding: 30px 1em;
	}
	#gnav > ul > li:last-child:hover > .mega-menu{
		padding: 30px 1em;
	}

}


/*  --  seedo-list  --  */

.seedo-list{
	display:flex;
	justify-content:center;
	max-width: 1400px;
	margin: 0 auto;
}
.seedo-list li{
	z-index:1;
	opacity: 0;
	transition: .5s;
	width: 18%;
	margin: 1%;
}

#gnav ul > li:hover .seedo-list li:nth-child(1){transition-delay:0.1s; opacity:1;}
#gnav ul > li:hover .seedo-list li:nth-child(2){transition-delay:0.2s; opacity:1;}
#gnav ul > li:hover .seedo-list li:nth-child(3){transition-delay:0.3s; opacity:1;}
#gnav ul > li:hover .seedo-list li:nth-child(4){transition-delay:0.4s; opacity:1;}
#gnav ul > li:hover .seedo-list li:nth-child(5){transition-delay:0.5s; opacity:1;}


.seedo-list li a {
	padding:10px!important;
	display: block;
	position: relative;
	color: #FFF;
}

.seedo-list li a:before {
	display: none!important;
}
.seedo-list a .frame{
	overflow: hidden;
	margin-bottom: 10px;
}
.seedo-list a .frame img{
	transition:all .5s;
}
.seedo-list a:hover .frame img{
	transform:scale(1.1);
}

@media screen and (max-width: 1200px) {
	.seedo-list{
		flex-wrap: wrap;
	}

	.seedo-list li{
		opacity: 1;
		width: 30%;
	}

}

/*  --  access-list  --  */

.access-list{
	display:flex;
	justify-content:flex-start;
	flex-wrap: wrap;
	max-width: 960px;
	margin: 0 auto;
}

.access-list li{
	opacity: 0;
	transition: .5s;
	margin: 1%;
	text-align: left;
	width: 30%;
}

#gnav ul > li:hover .access-list li:nth-child(1){transition-delay:0.1s; opacity:1;}
#gnav ul > li:hover .access-list li:nth-child(2){transition-delay:0.2s; opacity:1;}
#gnav ul > li:hover .access-list li:nth-child(3){transition-delay:0.3s; opacity:1;}
#gnav ul > li:hover .access-list li:nth-child(4){transition-delay:0.4s; opacity:1;}
#gnav ul > li:hover .access-list li:nth-child(5){transition-delay:0.5s; opacity:1;}
#gnav ul > li:hover .access-list li:nth-child(6){transition-delay:0.6s; opacity:1;}

.access-list li a {
	padding:10px;
	display: block;
	position: relative;
	color: #FFF;
}

.access-list li a:hover {
	color: #CA0011;
}


@media screen and (max-width: 1200px) {
	.access-list li{
		opacity: 1;
		width: 48%;
		text-align: left;
		font-size: 1.2rem;
		display: flex;
		align-items: center;
	}
}



/*  --  languages-list  --  */

.languages-list{
	display:flex;
	justify-content:flex-start;
	flex-wrap: wrap;
	max-width: 960px;
	margin: 0 auto;
}

.languages-list dt{
	width: 100%;
	margin-bottom: 2rem;
}

.languages-list dd{
	opacity: 0;
	transition: .5s;
	text-align: left;
	width: 25%;
}

#gnav ul > li:hover .languages-list dd:nth-of-type(1){transition-delay:0.1s; opacity:1;}
#gnav ul > li:hover .languages-list dd:nth-of-type(2){transition-delay:0.2s; opacity:1;}
#gnav ul > li:hover .languages-list dd:nth-of-type(3){transition-delay:0.3s; opacity:1;}
#gnav ul > li:hover .languages-list dd:nth-of-type(4){transition-delay:0.4s; opacity:1;}
#gnav ul > li:hover .languages-list dd:nth-of-type(5){transition-delay:0.5s; opacity:1;}
#gnav ul > li:hover .languages-list dd:nth-of-type(6){transition-delay:0.6s; opacity:1;}
#gnav ul > li:hover .languages-list dd:nth-of-type(7){transition-delay:0.7s; opacity:1;}
#gnav ul > li:hover .languages-list dd:nth-of-type(8){transition-delay:0.8s; opacity:1;}

.languages-list dd a {
	padding:10px;
	display: block;
	position: relative;
	color: #FFF;
}

.languages-list dd a::before {
	display: inline-block;
	content:"\f105";
	font-family:fontawesome;
	margin-right: .5em;
}


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

	.languages-list dt{
		width: 98%;
		padding: 10px;
		margin-bottom: 0;
		text-align: left;
	}

	.languages-list dd{
		opacity: 1;
		width: 48%;
		text-align: left;
	}

}


.languages-list dd a:hover {
	color: #CA0011;
}


/*  --  search-box  --  */

.search-box{
	max-width: 960px;
	margin: 0 auto;
}

.search-box .h-search{
	display:flex;
	align-items: center;
	position: relative;
}
.search-box .h-search label{
	margin-right: 1em;
	width: 10em;
}

.search-box .h-search input{
	flex-grow: 1;
	padding: .8em 3.2em .8em .8em;
}
.search-box .h-search a{
	display: block;
	position: absolute;
	top: 50%;
	line-height: 1;
	margin-top: -.5em;
	right: 1em;
	font-size: 2.0rem;
	color: #000;
}

.search-box .h-search a:before{
	display: none!important;
}

.search-box .h-search a:hover{
	color: #CA0011;
}

.sp-search {
	display: none;
}

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

	.pc-search{
		display: none;
	}

	.sp-search {
		display: block;
	}
}



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

pagetop

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

#pagetop {
	position: fixed;
	bottom: 3rem;
	right: 2rem;
	z-index: 55;
}


#pagetop a{
	display:block;
	background:#FFF;
	padding:.5rem 0;
	overflow:hidden;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	position: relative;
	border: 1px solid #DDD;
}

#pagetop a:hover{
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

#pagetop a img{
	width: 50%;
}

#pagetop a span{
	position: absolute;
	top: 100%;
}

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

	#pagetop {
		bottom: 20px;
		right: 20px;
	}

	#pagetop a{
		width: 48px;
		height: 48px;
	}

}



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

footer

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


#footer {
	background: #000;
	color: #FFF;
}

#footer .footer-inner {
    width: 96%;
    max-width: 1600px;
    margin: 0 auto;
}

/* --------------------------------------------------
footer-top
-------------------------------------------------- */

.footer-top {
	display: flex;
	justify-content: space-between;
	padding: 10rem 0;
	border-bottom:1px solid #aaa;
}

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

	.footer-top {
		display: block;
		padding: 6rem 0 3rem;
		border-bottom:1px solid #aaa;
	}

}

/*  --  footer-info  --  */

.footer-info {
	flex-grow: 1;
}

.footer-info .f-logo {
	max-width: 320px;
	margin-bottom: 2rem;

}

.footer-info .sns-list  {
	display: flex;
	margin-bottom: 4rem;
}
.footer-info .sns-list li {
	margin-right: 1em;
}
.footer-info .sns-list li a {
	display: block;
	color: #FFF;
}

.footer-info address {
	font-size: 1.4rem;
}


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

	.footer-info {
		margin-bottom: 4rem;
	}

	.footer-info .f-logo {
		max-width: 160px;
		margin: 0 auto 2rem;
	}

	.footer-info .sns-list {
		justify-content: center;
	}

	.footer-info address {
		text-align: center;
	}

}

/*  --  footer-nav  --  */

.footer-nav {
	display: flex;
	flex-grow: 1;
}
.footer-nav a{
	color: #FFF;
	line-height: 1.2;
}

.footer-nav a:hover{
	color: #CA0011;
}

.footer-nav > ul{
	width: 30%;
	margin: 0 1%;
}
.footer-nav > ul > li {
	margin-bottom: 1.25em;
}

.footer-nav > ul > li > a{
	font-size: 2.1rem;
	font-weight: bold;
}

.footer-nav > ul > li > ul {
	padding-left: .5em;
}

.footer-nav > ul > li > ul li {
	margin-bottom: .75em;
}
.footer-nav > ul > li > ul li:first-child {
	margin-top: 1.25em;
}

.footer-nav > ul > li > ul li a{
	font-size: 1.4rem;
}


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

	.footer-nav > ul > li {
		margin-bottom: 1em;
	}

	.footer-nav > ul > li > a{
		font-size: 1.2rem;
		font-weight: bold;
	}

	.footer-nav > ul > li > ul li {
		margin-bottom: .5em;
	}
	.footer-nav > ul > li > ul li:first-child {
		margin-top: 1em;
	}

	.footer-nav > ul > li > ul li a{
		font-size: 0.9rem;
	}

}


/* --------------------------------------------------
footer-bottom
-------------------------------------------------- */

.footer-bottom {
	display: flex;
	justify-content: space-between;
	padding: 10rem 0;
	align-items: center;
}

/*  --  copyright  --  */

.copyright {
	font-size: 1.4rem;
}


/*  --  footer-link  --  */

.footer-link {
	display: flex;
	align-items: center;
}

.footer-link li {
	margin: 0 1em;
}

.footer-link li a{
	color: #FFF;
}

.footer-link li a:hover{
	color: #CA0011;
}

.footer-link button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	position: relative;
	font-size: 1.6rem;
	padding: 0;
	outline: none;
	appearance: none;
	margin-right: -3.5rem;
}

#ot-sdk-btn.ot-sdk-show-settings, #ot-sdk-btn.optanon-show-settings{
	border: none !important;
	color: #FFF !important;
}

#ot-sdk-btn.ot-sdk-show-settings:hover, #ot-sdk-btn.optanon-show-settings:hover{
	background: none !important;
	color: #CA0011 !important;
}



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

	.footer-bottom {
		display: flex;
		flex-direction: column-reverse;
		padding: 4rem 0;
	}

	.copyright {
		font-size: 1.0rem;
	}

	.footer-link {
		flex-wrap: wrap;
		width: 100%;
		margin-bottom: 4rem;
	}

	.footer-link li {
		width: 48%;
		margin: 1%;
		text-align: center;
	}
	
	.footer-link button{
		font-size: 1.5rem;
		margin-right: 0;
	}

}


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

gdpr

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

.gdpr {
	position: fixed;
	bottom: 3rem;
	right: 0;
	left: 3rem;
	background: #CA0011;
	z-index: 50;
	width: 600px;
	padding: 4rem;
	color:#FFF;
}

.gdpr p {
	margin-bottom: 2em;
}
.gdpr p a {
	color: #fff;
	border-bottom: 1px solid #fff;
}
.gdpr p a:hover {
	border-bottom: 2px solid #fff;
}

.gdpr .btn-accept{
	text-align:left;
}

.gdpr a.gdpr-close {
	position: absolute;
	top: 0;
	right: 1rem;
	font-size: 4rem;
	display: block;
	color: #FFF;
	line-height: 1;
}

.gdpr a.gdpr-close:hover {
	color: #000;
}


@media screen and (max-width: 800px) {
	.gdpr {
		padding:4rem 2rem 2rem;
		bottom: 0;
		left: 0;
		width: 100%;
	}
	.gdpr p {
		margin-bottom: 1em;
	}
	.gdpr a.gdpr-close {
		top: 5px;
	}
}





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

contents

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

#contents {
	padding: 0 0 6rem;;
}

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

	#contents {
		padding: 60px 0 6rem;;
	}

}

.inner-l {
    width: 92%;
    max-width: 1600px;
    margin: 0 auto;
}

.inner-m {
    width: 92%;
    max-width: 1280px;
    margin: 0 auto;
}

.inner-s {
    width: 92%;
    max-width: 1080px;
    margin: 0 auto;
}



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

breadCrumbs

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

.breadCrumbs{
	display:block;
	width:100%;
	margin:2rem 0;
}
.breadCrumbs ul{
	max-width:1600px;
	width: 96%;
	margin:0 auto;
}
.breadCrumbs li{
	display:inline-block;
	margin-right:1em;
}
.breadCrumbs li::after{
	content:"-";
	margin-left:1em;
}
.breadCrumbs li:last-of-type::after{
	display: none;
}
.breadCrumbs li a:hover{
	text-decoration: underline;
}

@media screen and (max-width: 800px) {
	.breadCrumbs{
		margin:1rem 0;
		font-size: 1.2rem;
	}
}



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

ttl

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

/* --------------------------------------------------
ttl-page
-------------------------------------------------- */

.ttl-page{
	text-align: center;
	color: #fff;
	font-size: 6.8rem;
	font-weight: bold;
	padding: 1.2em 0;
	background: #000;
	line-height: 1.3;
	background: url("../img/common/bg-ttl.jpg") center no-repeat;
}

@media screen and (max-width: 800px) {
	.ttl-page{
		font-size: 2.1rem;
	}
}


/* --------------------------------------------------
ttl-sec
-------------------------------------------------- */
.ttl-sec{
	font-size: 5.6rem;
	font-weight: bold;
}


@media screen and (max-width: 800px) {
	.ttl-sec{
		font-size: 2.0rem;
		line-height: 1.2;
	}
}


/* --------------------------------------------------
ttl-detail-area
-------------------------------------------------- */

.ttl-detail-area{
	line-height: 1.6;
	margin-bottom: 5%;
}
.ttl-detail-area .spot-icon{
	font-size: 1.8rem;
}
.ttl-detail-area .ttl-detail{
	font-size: 6.8rem;
	font-weight: bold;
	line-height: 1.1;
	padding: 1rem 0;
	letter-spacing: .025em;
}

@media screen and (max-width: 800px) {
	.ttl-detail-area .ttl-detail {
		font-size: 2.1rem;
	}
}




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

paging

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


.paging{
	text-align:right;
	clear:both;
	position:relative;
	overflow: hidden;
	width: 96%;
	max-width: 1600px;
	margin: 4em auto;
}
.paging .paging-sort{
	float:left;
	margin-right:1rem;
}
.paging .paging-sort select{
	padding:5px 10px;
	line-height:1;
	vertical-align:middle;
}
.paging .paging-result{
	float:left;
	display:inline-block;
	line-height:2;
	vertical-align:middle;
}
.paging span{
	display:inline-block;
	vertical-align:middle;
	margin-bottom:.5rem;
}
.paging a{
	line-height:1;
	letter-spacing:normal;
	display:inline-block;
	padding:1rem 1.2rem;
	text-decoration:none;
	color: #000;
	border: #aaa solid 1px;
	background: #FFF;
}
.paging a:hover{
	opacity:1;
	background: #EFEFEF;
	border: #aaa solid 1px;
	color: #000;
}
.paging .current{
	line-height:1;
	letter-spacing:normal;
	display:inline-block;
	padding:1rem 1.2rem;
	text-decoration:none;
	color:#FFF;
	border: #333 solid 1px;
	background: #333;
}

.paging a[rel="prev"]{
	padding-left: 1em;
}
.paging a[rel="prev"]:before{
	content: "<";
	padding-right: 1em;
}
.paging a[rel="next"]{
	padding-right: 1em;
}
.paging a[rel="next"]:after{
	content: ">";
	padding-left: 1em;
}


@media screen and (max-width: 800px) {
	.paging {
		text-align: left;
		padding: 10px;
		margin: 0 auto;
	}
	.paging .paging-result{
		float: none;
		display: block;
	}
}

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

conditions

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

.conditions{
	position:relative;
	overflow: hidden;
	width: 96%;
	max-width: 1600px;
	margin: 4em auto;
}
.conditions .btn-delete{
	float:right;
}
.conditions dl{
	width:80%;
	float:left;
	font-size: 1.8rem;
}
.conditions dt{
	display: inline;
	vertical-align:middle;
	margin-right:1rem;
}
.conditions dd{
	display: inline-block;
}
.conditions dd a{
	border: #9E9E9E solid 1px;
	display:inline-block;
	line-height:1;
	padding:8px 15px;
	border-radius:3px;
	cursor:pointer;
	margin:.2rem;
	vertical-align:middle;
	color:#000;
}

.conditions dd a:hover{
	background: #ddd;
}
.conditions dd a:after{
	content:"\f00d";
	font-family:fontawesome;
	margin-left:.8rem;
}
.conditions dd span{
	border:#D0D0D0 solid 1px;
	background:#D0D0D0;
	display:inline-block;
	line-height:1;
	padding:5px 15px;
	border-radius:20px;
	cursor:pointer;
	margin:.2rem;
	vertical-align:middle;
	color:#272727;
}



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

		.conditions{
			padding:10px;
			margin: 0 auto;
		}
		.conditions .btn-delete{
			float:none;
			width:auto;
			text-align:center;
			padding-top:1rem;
		}
		.conditions dl{
			float:none;
			width:auto;
			font-size: 1.2rem;
		}
		.conditions dt{
			display:  block;
			margin-right:0;
			margin-bottom: 1rem;
		}
}

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

btn

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

.btn-area{
	display:flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: center;
}

.btn-area div{
	margin: 0 1em;
}

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

	.btn-area div{
		margin: 0 .5em;
	}
}



/* --------------------------------------------------
btn black
-------------------------------------------------- */

/*  --  common(btn-accept btn-close)  --  */

.btn-accept a,
.btn-close a {
	display: inline-block;
	text-align:center;
	line-height:1;
	color:#FFF;
	background:#000;
	border: 1px solid #000;
	padding:.8em 2.4em;
	border-radius: 3rem;
	position: relative;
}

.btn-accept a:hover,
.btn-close a:hover{
	background: #FFF;
	color: #000;
	border: 1px solid #000;
}



/*  --  btn-accept  --  */

.btn-accept a {
	min-width:15em;
}
.btn-accept a:after{
	content:"\f054";
	font-family:fontawesome;
	position: absolute;
	right: 1em;
	top: 50%;
	line-height: 1;
	margin-top: -.5em;
}


/*  --  btn-close  --  */

.btn-close a{
	font-size:1.8rem;
	width: 7em;
	padding:.8em 1.6em .8em 2.4em;
}

.btn-close a:before{
	content:"\f00d";
	font-family:fontawesome;
	position: absolute;
	left: 1em;
	top: 50%;
	line-height: 1;
	margin-top: -.5em;
}
.btn-close a.open:before{
	content:"\f067";
}

@media screen and (max-width: 800px) {
	.btn-close a{
		font-size:1.6rem;
		padding:.5em 1.6em .5em 2.4em;
	}
}



/* --------------------------------------------------
btn red
-------------------------------------------------- */

/*  --  common (btn-search btn-postback)--  */

.btn-search a,
.btn-postback a{
	display: inline-block;
	text-align:center;
	color:#FFF;
	background:#CA0011;
	border: 1px solid #CA0011;
	padding:.8em 2.4em;
	border-radius: 3rem;
	position: relative;
}
.btn-search a:hover,
.btn-postback a:hover{
	background: #FFF;
	color: #CA0011;

}

/*  --  btn-search  --  */
.btn-search a{
	min-width:15em;
}

@media screen and (max-width: 800px) {
	.btn-search a{
		min-width:10em;
	}
}


/*  --  btn-postback  --  */

.btn-postback {
	text-align: center;
	margin: 8rem auto;
}

.btn-postback a{
	width: 100%;
	margin: 0 auto;
	max-width: 420px;
	min-width: 300px;
	font-size: 2.1rem;
	padding:.5em 2.4em;
}
.btn-postback a::after{
	content: "";
	display: block;
	position: absolute;
	width: 6px;
	height: 6px;
	margin: auto;
	top: 50%;
	right: 1em;
	left: auto;
	z-index: 0;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

.btn-postback a:hover::after{
	border-top: 2px solid #CA0011;
	border-right: 2px solid #CA0011;
}

@media screen and (max-width: 800px) {
	.btn-postback {
		margin: 4rem auto;
	}
}

/* --------------------------------------------------
btn white(black)
-------------------------------------------------- */

/*  --  common (btn-clear)--  */

.btn-clear a{
	display: inline-block;
	text-align:center;
	min-width:230px;
	background:#fff;
	border: 1px solid #8A8A8A;
	padding:.8em 2.4em;
	border-radius: 3rem;
	color: #000;
}
.btn-clear a:hover{
	background: #000;
	color: #FFF;
}

/*  --  btn-clear  --  */
.btn-clear a{
	min-width:15em;
}

@media screen and (max-width: 800px) {
	.btn-clear a{
		min-width:10em;
	}
}

/* --------------------------------------------------
btn white(read)
-------------------------------------------------- */

.btn-postmore{
	margin: 1.5em 0;
}
.btn-postmore span,
.btn-postmore a{
	width: 180px;
	display: block;
	padding: .6em 1em;
	color: #E62115;
	font-weight: bold;
	border: 1px solid #E62115;
	border-radius: 2.4rem;
	position: relative;
	transition: .3s;
}
.btn-postmore span::after,
.btn-postmore a::after{
	content: "";
	display: block;
	position: absolute;
	width: 6px;
	height: 6px;
	margin: auto;
	top: 50%;
	bottom: auto;
	right: 10%;
	left: auto;
	z-index: 5;
	border-top: 2px solid #E62115;
	border-right: 2px solid #E62115;
	transform: translateY(-50%) rotate(45deg);
	transition: .3s;
}

.btn-postmore a:hover{
	background: #E62115;
	color: #fff;
}
.btn-postmore a:hover:after{
	right: 8%;
	border-color: #fff;
}


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

	.btn-postmore span,
	.btn-postmore a{
		width: auto;
		max-width: 130px;
		font-size: 1.4rem;
	}
	.btn-postmore span::after,
	.btn-postmore a::after	{
		width: 4px;
		height: 4px;
	}
}



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

search-menu

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

.search-menu{
	background:#F3F3F3;
	border: 1px solid #DEDEDE;
	padding: 5rem;
	margin: 10rem auto;
	position: relative;
}

.search-menu .search-ttl-area {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.search-menu .search-ttl{
	font-size: 3.6rem;
	line-height: 1.2;
}

.search-menu .btn-close {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

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

	.search-menu{
		padding: 4rem 2rem ;
		margin:3rem auto;
	}

	.search-menu .search-ttl-area {
		justify-content:flex-start;
	}

	.search-menu .search-ttl{
		font-size: 2.0rem;
		text-align: left;
		letter-spacing: 0;
	}


}



/*  --  search-select  --  */

.search-select{
	display:table-cell;
	padding:4rem 0 0;
}
.search-select dl{
	width:100%;
	display:table;
	table-layout:fixed;
	margin-bottom:15px;
	padding-bottom:15px;
}
.search-select dt{
	display:table-cell;
	width:8em;
	vertical-align:top;
    padding: .6em 0;
}
.search-select dd{
	display:table-cell;
	vertical-align:middle;
}
.search-select a{
	border:#9E9E9E solid 1px;
	background:#FFF;
	display:inline-block;
	line-height:1;
	padding: .6em 1.2em;
	border-radius:10px;
	cursor:pointer;
	margin: .25em .25em .25em 0;
	vertical-align:middle;
}

.search-select a:hover{
	background: #ddd;
}
.search-select a.active{
	border:#000 solid 1px;
	background:#000;
	color:#FFF;
}
.search-select .keyword input{
	width:100%;
}
.search-select .keyword label{
	display: none;
}


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



		/* search-select */
		.search-select{
			display:block;
			padding: 2rem 0;
		}
		.search-select dl{
			width:auto;
			display:block;
			position:relative;
			overflow:hidden;
			padding-bottom:1rem;
			margin-bottom:0;
		}
		.search-select dt{
			display:block;
			width:auto;
		}
		.search-select dd{
			display:block;
			width:auto;
		}
		.search-select dd span{
			box-sizing:border-box;
			width:49%;
			float:left;
			display:block;
			padding:7px 0;
			text-align:center;
			margin:.5%;
		}
}





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

list

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

.list-2col .pht,
.list-3col .pht,
.list-4col .pht,
.list-5col .pht{
	z-index:1;
	position: relative;
	width: 100%;
}

.list-2col .pht .frame,
.list-3col .pht .frame,
.list-4col .pht .frame,
.list-5col .pht .frame{
	z-index:-1;
	position: relative;
	width: 100%;
	padding-top:75%;
	overflow:hidden;
	background:#F5F5F5;
}

.list-2col .pht img,
.list-3col .pht img,
.list-4col .pht img,
.list-5col .pht img{
	bottom: 0;
	height: 100%;
	left: -200%;
	margin: auto;
	min-height: auto;
	min-width: auto;
	position: absolute;
	right: -200%;
	top: 0;
	width: auto;
	max-width: inherit;
}

/* list-2col */
.list-2col{
	overflow:hidden;
	position:relative;
	z-index:1;
	display: flex;
	flex-wrap: wrap;
}
.list-2col li{
	width:50%;
	float:left;
	padding:10px;
	box-sizing:border-box;
}

/* 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%;
	padding:10px;
	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%;
	padding:10px;
	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;
}



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

	/* list-2col */


	/* list-3col */
	.list-3col{
		margin:0 ;
	}
	.list-3col li{
		padding:10px;
	}
	/* list-4col */
	.list-4col{
		margin:0 ;
	}
	.list-4col li{
		padding:10px;
	}
	/* list-5col */
	.list-5col{
		margin:0 ;
	}
	.list-5col li{
		padding:10px;
	}



}

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

		/* list-3col */
		.list-3col li{
			width:100%;
			padding:5px;
		}
		/* list-4col */
		.list-4col li{
			width:50%;
			padding:5px;
		}
		/* list-5col */
		.list-5col li{
			width:50%;
			padding:5px;
		}
}


/* --------------------------------------------------
spot-list
-------------------------------------------------- */

.spot-list{
	padding:6rem 2rem;
}
.spot-list li{
	position: relative;
}
.spot-list li > a{
	display: block;
	height: 100%;
	background: #fff;
	z-index: 0;
}

.spot-list li >a:hover{
	box-shadow: 0 0 15px rgba(0,0,0,0.2);
}
.spot-list li >a .pht img{
	transition: .5s;
}
 .spot-list li .pht .frame {
    position: relative;
    width: 100%;
    padding-top: 75%;
    overflow: hidden;
    background: #F5F5F5;
}

.spot-list li .pht .frame img {
    bottom: 0;
    height: 100%;
    left: -200%;
    margin: auto;
    min-height: auto;
    min-width: auto;
    position: absolute;
    right: -200%;
    top: 0;
    width: auto;
}

.spot-list li >a:hover .pht img{
	transform: scale(1.1);
}
.spot-list li >a:hover .btn-postmore span{
	background: #E62115;
	color: #fff;
}
.spot-list li >a:hover .btn-postmore span:after{
	right: 8%;
	border-color: #fff;
}




.spot-list .spot-detail{
	padding: 1em;
}
.spot-list .spot-ttl{
	padding:0 0 1rem;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.0;
	min-height: 7rem;
}
.spot-list .spot-date{
	display:inline-block;
	line-height:1.2;
	color:#999;
	font-size:1.3rem;
}
.spot-list .spot-icon{
	line-height:1.2;
	margin-bottom:.5rem;
}
.spot-icon .icon-gen:after{
	content: ".";
	display: inline-block;
	padding: 0 .25em;
	color: #000;
	font-weight: bold;
	transform: translateY(-.4em);
}
.spot-icon .icon-gen:last-of-type:after{
	display: none;
}
.spot-list .spot-txt{
	margin-bottom:2rem;
	line-height:1.4;
	font-size: 1.3rem;
}
.spot-list .btn-addfavorite a{
	min-width:0;
	font-size:1.4rem;
	padding:8px 10px;
}



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

	.spot-list{
		padding:4rem 1rem;
	}

	.spot-list .spot-date{
		font-size:1rem;
	}
	.spot-list .spot-ttl{
		font-size:2.1rem;
		min-height: 5rem;
	}
	.spot-list .spot-txt{
		font-size:1.4rem;
	}
	.spot-list .btn-addfavorite a{
		font-size:1.2rem;
	}
}




/* --------------------------------------------------
column-list
-------------------------------------------------- */

.column-list{
	padding:6rem 2rem;
}
.column-list li{
	position: relative;
	padding-bottom: 3rem
}
.column-list li >a{
	display: flex;
	height: 100%;
	background: #fff;
	z-index: 0;
}

.column-list li >a .pht{
	width: 55%;
}

.column-list li >a .pht .frame{
	padding-top: 75%;
	overflow: hidden;
}

.column-list li >a .pht img{
	transition: .5s;
}
.column-list li >a:hover .pht img{
	transform: scale(1.1);
}



.column-list li >a:hover .spot-detail{
	box-shadow: 0 0 15px rgba(0,0,0,0.2);
}

.column-list .spot-detail{
	padding: 1.5em;
	margin-top: 3rem;
	margin-left: -10%;;
	position: relative;
	z-index: 5;
	background: #FFF;
	width: 55%;
}
.column-list .spot-ttl{
	padding:0 0 1rem;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.0;
	min-height: 7rem;
}
.column-list .spot-txt{
	margin-bottom:2rem;
	line-height:1.4;
	font-size: 1.3rem;
}

.column-list li >a:hover .btn-postmore span{
	background: #E62115;
	color: #fff;
}
.column-list li >a:hover .btn-postmore span:after{
	right: 8%;
	border-color: #fff;
}

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

	.column-list li{
		width: 100%;
		padding:0 0 2rem
	}

	.column-list li > a .pht .frame {
		padding-top: 90%;
	}
	.column-list .spot-detail{
		padding: 1.5em;
		margin-top: 1.5rem;
	}


	.column-list .spot-ttl{
		font-size:2.1rem;
		min-height: 5rem;
	}
	.column-list .spot-txt{
		font-size:1.4rem;
		display: none;
	}


}



/* --------------------------------------------------
recommended-list
-------------------------------------------------- */
.recommended-list{
	position: relative;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 10rem;
	min-height: 720px;
}
.recommended-list::after{
	content: "";
	display: block;
	position: absolute;
	width: 36%;
	height: 100%;
	margin: auto;
	top: 0;
	bottom: 0;
	right: auto;
	left: 0;
	z-index: -1;
	background: #000;
}


.recommended-list .ttl-sec{
	font-size:4vw;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	position: absolute;
	left: 0;
	z-index: 3;
	padding: 12rem 2rem;
	align-self: flex-start;
	text-shadow: #000 0 0 10px;

}

.recommended-list .spot-list{
	width: 76%;
}

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

	.recommended-list{
		margin-bottom: 6rem;
		min-height: 320px;
	}

	.recommended-list::after{
		width: 70%;
		height: 60%;
		bottom: auto;
	}
	.recommended-list .ttl-sec{
		font-size: 6vw;
	}
	.recommended-list .spot-list::before {
		display: block;
		content:"";
		width: 50%;
	}
	.recommended-list .spot-list li {
		width: 50%;
	}
}

@media screen and (max-width: 600px) {
	.recommended-list .spot-list{
		width: 100%;
	}
	.recommended-list .sttl{
		font-size: 2.2rem;
	}
}





/* --------------------------------------------------
icon
-------------------------------------------------- */

/* icon-new */
.icon-new{
	font-size:1.2rem;
	line-height:1;
	padding:2px 5px;
	display:inline-block;
	background:#c80000;
	color:#FFF;
	font-weight:bold;
	margin-right:5px;
	vertical-align:middle;
}

/* icon-area */
.icon-area{
	font-size:1.4rem;
	line-height:1;
	padding:3px 6px;
	display:inline-block;
	color:#FFF;
	margin:0 3px 3px 0 ;
	vertical-align:middle;
	background:#000;
}

/* icon-gen */
.icon-gen{
	font-size:1.4rem;
	line-height:1;
	display:inline-block;
	color: #E62115;
	vertical-align:middle;
}

/* icon-cat */
.icon-cat,
.icon-cat01,
.icon-cat02,
.icon-cat03,
.icon-cat04,
.icon-cat05,
.icon-cat06,
.icon-cat07,
.icon-cat08,
.icon-cat09,
.icon-cat10{
	font-size:1.2rem;
	line-height:1;
	padding:2px 5px;
	display:inline-block;
	color:#FFF;
	font-weight:bold;
	margin:0 3px 0 0 ;
	vertical-align:middle;
}
.icon-cat01{
	background:#549BAF;
}
.icon-cat02{
	background:#D1B15D;
}
.icon-cat03{
	background:#ABBD64;
}
.icon-cat04{
	background:#C07F75;
}
.icon-cat05{
	background:#B55F8F;
}
.icon-cat06{
	background:#8186AB;
}
.icon-cat07{
	background:#6FB696;
}
.icon-cat08{
	background:#72AFBF;
}
.icon-cat09{
	background:#5595B4;
}
.icon-cat10{
	background:#CC9966;
}

/* icon-open */
.icon-open,
.icon-close{
	display:block;
	color:#FFF;
	width:50px;
	height:50px;
	line-height:50px;
	text-align:center;
	border-radius:25px;
	z-index:2;
}
.icon-open{
	background:#E06F73;
}
.icon-close{
	background:#96B3E9;
}

/* icon-rank */
.icon-rank1,
.icon-rank2,
.icon-rank3,
.icon-rank{
	display:block;
	width:50px;
	height:50px;
	line-height:50px;
	text-align:center;
	vertical-align:middle;
	font-size:2.5rem;
	color:#FFF;
	font-weight:bold;
}
.icon-rank1 {
	background:#BFA026;
}
.icon-rank2 {
	background:#5B5E6A;
}
.icon-rank3 {
	background:#795246;
}
.icon-rank {
	background:rgba(0,0,0,.7);
}

/* icon-number */
.icon-number{
	border-radius:50%;
	box-sizing: content-box;
	width:30px;
	line-height:30px;
	max-height:30px;
	text-align:center;
	line-height:30px;
	display:block;
	font-size:1.8rem;
	font-weight:bold;
}


@media screen and (max-width: 767px) {
		/* --------------------------------------------------
		icon
		-------------------------------------------------- */

		/* icon-new */
		.icon-new{
			font-size:1rem;
		}
		/* icon-area */
		.icon-area{
			font-size:1rem;
		}
		/* icon-gen */
		.icon-gen{
			font-size:1rem;
		}
		/* icon-cat */
		.icon-cat,
		.icon-cat01,
		.icon-cat02,
		.icon-cat03,
		.icon-cat04,
		.icon-cat05,
		.icon-cat06,
		.icon-cat07,
		.icon-cat08,
		.icon-cat09,
		.icon-cat10{
			font-size:1rem;
		}

		/* icon-rank */
		.icon-rank1,
		.icon-rank2,
		.icon-rank3,
		.icon-rank{
			width: 40px;
			height: 25px;
			background-size:40px auto;
			line-height:30px;
			font-size:1.5rem;
		}
		.icon-rank1 {
			background-position: 0 0;
		}
		.icon-rank2 {
			background-position: 0 -27px;
		}
		.icon-rank3 {
			background-position: -1px -53px;
		}
		.icon-rank {
			background-position: 0 -80px;
		}


}




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

detail

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

/* --------------------------------------------------
detail-main
-------------------------------------------------- */

.detail-main{
	display: flex;
	justify-content: space-between;
	margin-bottom: 5%;
}

/* sttl-page */

.detail-main .sttl-page{
	color: #000;
	font-size: 1.6rem;
	position: relative;
	margin: 0 1.5rem;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: sideways;
	width: 2.4rem;
}

.detail-main .sttl-page span{
	position: relative;
	display: flex;
	width: 100%;
}

.detail-main .sttl-page span:before{
	content: "";
	width: 1px;
	height: 10rem;
	display: block;
	background: #000;
	margin-right: 1.2rem;
	margin-bottom: 1rem;
}
.detail-main .sttl-page span:after{
	content: "";
	width: 1px;
	height: 100%;
	display: block;
	background: #000;
	margin-right: 1.2rem;
	margin-top: 1rem;
	flex: 1;
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
	.detail-main .sttl-page span:before,
	.detail-main .sttl-page span:after{
		transform: none;
	}
}

@media screen and (max-width: 800px) {
	.detail-main .sttl-page {
		width: auto;
		font-size: 1.0rem;
		margin:0 .5em;
	}
	.detail-main .sttl-page span{
		padding: 3rem 0;
	}

	.detail-main .sttl-page span:before{
		height: 2rem;
	}
	.detail-main .sttl-page span:after{
		height: calc(100% - 20rem);
	}
}


/* detail-mv */


.detail-mv {
	background: #F5F5F5;
	width: 100%;
	height: 0;
	padding-top: 51%;
	position: relative;
	overflow: hidden;
}

.detail-mv > img {
	bottom: -200%;
	height: auto;
	left:0;
	margin: auto;
	min-height: auto;
	min-width: auto;
	position: absolute;
	right:0;
	top: -200%;
	width: 100%;
}


@media screen and (max-width: 800px) {
	.detail-mv {
		padding-top: 75%;
	}
	.detail-mv img{
		min-height: 100%;
		max-height: 100%;
		width: auto;
		max-width: none;
	}
}

/*  ---- slider-pro  ----  */
.sp-button{
	border-radius: 0 !important;
}
@media screen and (max-width: 800px) {
	.sp-buttons {
		padding-right: 2rem!important;
	}
	.sp-button {
		width: 8px!important;
		height: 8px!important;
	}
}






/* --------------------------------------------------
detail-contents
-------------------------------------------------- */

/* detail-contents */

.detail-contents {
	display: flex;
	justify-content: space-between;
}

.detail-contents .post-content{
	display: block;
	margin:0 auto 10rem;
	flex-grow: 1;
	width: 63%;
	max-width: 1280px;
}

.detail-contents .data-area{
	width: 32%;
	min-width: 320px;
	max-width: 500px;
	margin-left: 5%;
	margin-bottom: 5%;
}
.detail-contents .data-area .data-area-inner{
	position: -webkit-sticky;
	position: sticky;
	top: 80px;
}


@media screen and (max-width: 800px) {
	.detail-contents{
		display: block;
	}

	.detail-contents .post-content{
		display: block;
		margin:0 0 4rem 0;
		width: 100%;
	}


	.detail-contents .data-area{
		width: 100%;
		position: static;
		margin: 3em auto;
		min-width: inherit;
		max-width: none;
	}
}

/*  --------  post-content  ----  */



/* post-date */
.post-date{
	display:block;
	text-align:left;
	padding:1rem 0;
}



/* ttl-post */

.post-content .ttl-post{
	font-size: 3.6rem;
	font-weight: bold;
	margin-bottom: 2em;
	position: relative;
	display: block;
	line-height: 1.2;
}
.post-content .ttl-post:after{
	content: "";
	width: 215px;
	height: 5px;
	background: #B9464A;
	display: block;
	margin-top: .6em;
}

.post-content h1{
	font-size: 2.4rem;
	font-weight: bold;
	border-left: 6px solid #B9464A;
	padding-left: 1.5rem;
	margin: 1em 0;
	display: flex;
	line-height: 1.2;
}

.post-content h2{
	font-size: 1.8rem;
	font-weight: bold;
	display: flex;
	line-height: 1.2;
}


.post-content .pht{
	display: table;
	width:100%;
	text-align:center;
}
.post-content .pht img{
	max-width:100%;
}
.post-content p{
	padding:1rem 0;
}
.post-content .pht figcaption{
	display:block;
	font-size:1.4rem;
	padding:.5em;
	line-height:1.2;
}



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


	.post-content .ttl-post{
		font-size: 2.1rem;
	}
	.post-content .ttl-post:after{
		width: 150px;
		height: 4px;
	}
	.post-content h1{
		font-size: 1.8rem;
		border-left: 4px solid #B9464A;
	}

	.post-content h2{
		font-size: 1.6rem;
	}



}









/*  --  block  --  */

.wysiwyg {
	margin-bottom: 6rem;
}



@media screen and (max-width: 800px) {
	.wysiwyg {
		margin-bottom: 4rem;
	}
}

.pht{
	text-align:center;
}
.pht img{
	max-width:100%;
}

/* block-center */

.block-center {
	margin-bottom: 6rem;

}
.block-center .pht{
	display: block;
	text-align:center;
}

@media screen and (max-width: 800px) {
	.block-center {
		margin-bottom: 4rem;
	}
}

/* block-right */
.block-right{
	position:relative;
	overflow:hidden;
	margin-bottom: 6rem;
}
.block-right .pht{
	max-width:50%;
	float:right;
}
.block-right .item{
	max-width:46%;
	float:left;
	box-sizing:border-box;
}
.block-right .pht img{
	max-width:100%;
}
@media screen and (max-width: 800px) {
	.block-right {
		margin-bottom: 4rem;
	}
}
/* block-left */
.block-left{
	position:relative;
	overflow:hidden;
	margin-bottom: 6rem;
}
.block-left .pht{
	max-width:50%;
	float:left;
	margin-right:20px;
}
.block-left .item{
	max-width:46%;
	float:right;
	box-sizing:border-box;
}
.block-left .pht img{
	max-width:100%;
}

@media screen and (max-width: 800px) {
	.block-left {
		margin-bottom: 4rem;
	}
}

/* block-2col */
.block-2col{
	position:relative;
	overflow:hidden;
	display: flex;
	margin-bottom: 6rem;
	margin-right:-1%;
}
.block-2col .pht{
	max-width:49%;
	margin-right:1%;
}

@media screen and (max-width: 800px) {
	.block-2col {
		margin-bottom: 4rem;
	}
}

/* block-3col */
.block-3col{
	position:relative;
	overflow:hidden;
	margin-bottom: 6rem;
	margin-right:-2%;
	display: flex;
}
.block-3col .pht{
	max-width:32%;
	margin-right:1%;
}

@media screen and (max-width: 800px) {
	.block-3col {
		margin-bottom: 4rem;
	}
}


/* col-left col-right */
.col-left{
	float: left;
	padding-right: 3%;
	width: 50%;
}
.col-right {
	float:right;
	padding-left: 3%;
	width: 50%;
}


/* iframe-area */
.iframe-area {
	display: block;
	position: relative;
	margin-bottom: 5em;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}

.iframe-area iframe {
	position: absolute;
	top: -200%;
	bottom: -200%;
	left: -200%;
	right: -200%;
	margin: auto;
	max-height: 100%;
	max-width: 100%;
	width: 100%;
	height: 100%;
}




/* related-link related-file*/

.post-content p.related-link,
.post-content p.related-file{
	margin: 4rem 0;
	word-wrap: normal;
}

.post-content p.related-link a,
.post-content p.related-file a{
	display: block;
	width: 100%;
	margin: 0 auto;
	text-align: left;
	color: #000;
	background: #fff;
	border: 1px solid #B1B1B1;
	padding: .8em 2em .8em 3.5em;
	border-radius: 3.2rem;
	position: relative;
	transition: .3s;
	position: relative;
}


/* related-link */
.post-content p.related-link a::before{
	content:"\f0c1";
	font-family: "FontAwesome";
	margin-right: 1rem;
	color: #CA0011;
	position: absolute;
	line-height: 1;
	left: 1.5em;
	top: 50%;
	margin-top: -.5em;
}

/* related-file */
.post-content p.related-file a::before{
	content:"\f15c";
	font-family: "FontAwesome";
	margin-right: 1rem;
	color: #CA0011;
	position: absolute;
	line-height: 1;
	left: 1.5em;
	top: 50%;
	margin-top: -.5em;
}

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

.post-content p.related-link,
.post-content p.related-file{
	margin: 2rem 0;
}

}



/* data-area */

.data-area{
	display: block
}
.data-area .table-data{
	border-top: 1px solid #DEDEDE;
	margin-bottom: 4rem;
}
.data-area .table-data th,
.data-area .table-data td{
	font-size: 1.3rem;
	border-bottom: 1px solid #DEDEDE;
	padding: .8em 1em;
	line-height: 3;
}
.data-area .table-data th{
	vertical-align: top;
	font-weight: bold;
	width: 12rem;
}
.data-area .table-data td{
	margin-left: 1em;
	line-height: 1.6;
}

.data-area .table-data tr:last-child td{
	word-break: break-all;
}

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


}


/* --------------------------------------------------
map-detail
-------------------------------------------------- */


#map {
	position: relative;
	padding-top: 28.125%;
	height: 0;
	overflow: hidden;
}
#map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

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


	#map {
		height: 400px;
		overflow: hidden;
		position: relative;
		width: 100%;
	}
}



/* --------------------------------------------------
relation-list-area
-------------------------------------------------- */
.relation-list-area{
	background: #EEEEEE;
	padding: 5% 0;
	margin-bottom: 6%;
}
.relation-list-area aside{
	margin-bottom: 3%;
}


/* --------------------------------------------------
documents-contents
-------------------------------------------------- */
.documents-contents{
	margin: 5% 0;
}
.documents-contents h2{
	font-size: 2.4rem;
	font-weight: bold;
	padding: .1em 0 .1em 1.5rem;
	margin: 1em 0;
	border-left: 6px solid #B9464A;
}
.documents-contents p{
	font-size: 1.6rem;
	line-height: 1.8;
	margin-bottom: 2em;
}

.documents-contents ul li{
	list-style: disc;
	margin-left: 1.5em;
	line-height: 1.8;
	word-break: break-all;
}
.documents-contents ol li{
	list-style: decimal;
	margin-left: 1.5em;
	line-height: 1.8;
}


@media screen and (max-width: 800px) {
	.documents-contents h2{
		font-size: 1.8rem;
	}
	.documents-contents p{
		font-size: 1.4rem;
	}
}

/* list-sitemap */
.documents-contents ul.list-3col li,
.documents-contents ul.list-sitemap li{
	list-style: none;
	margin-left: 0;
	font-size: 2.2rem;
	font-weight: 600;
	padding: 0;
}
.documents-contents ul.list-3col li a,
.documents-contents ul.list-sitemap li a,
.documents-contents ul.list-sitemap li span{
	display: block;
	padding: .4em;
}
.documents-contents ul.list-3col li a:hover,
.documents-contents ul.list-sitemap li a:hover{
	text-decoration: underline;
}
.documents-contents ul.list-sitemap li,
.documents-contents ul.list-sitemap li >ul li{
	width: 100%;
}
.documents-contents ul.list-sitemap{
	padding-bottom: 1em;
}
.documents-contents ul.list-sitemap li >ul{
	padding-top: 1em;
}
.documents-contents ul.list-sitemap li >ul li{
	font-size: 1.7rem;
	font-weight: normal;
	padding-left: 1em;
}

@media screen and (max-width: 800px) {
	.documents-contents ul.list-sitemap{
		padding-bottom: 0;
	}
	.documents-contents ul.list-sitemap li >ul{
		padding-top: 0;
	}
}


/* cookie */
.documents-contents.cookie a{
	text-decoration: underline;
	word-break: break-word;
}

/* table-cookie */
.table-cookie table {
	width: 100%;
	margin: 15px 0 30px;
	border-collapse: collapse;
	border: 1px solid #c0c0c0;
}
.table-cookie table thead th {
	display: table-cell;
	font-weight: bold;
	text-align: center;
	background: #eee;
	padding: 1em 2em;
	border-bottom: 1px solid #c0c0c0;
	border-right: 1px solid #c0c0c0;
}
.table-cookie table thead th:not(:last-child) {
	width: 12em;
}
.table-cookie table td {
	padding: 1em 2em;
	border-bottom: 1px solid #c0c0c0;
	border-right: 1px solid #c0c0c0;
	word-break: break-all;
	word-wrap: break-word;
}
.table-cookie table td:not(:last-child) {
	text-align: center;
}

@media screen and (max-width: 800px) {
	.table-cookie{
		overflow-x: scroll;
	}
	.table-cookie table{
		width: 600px;
	}
	.table-cookie table thead th:not(:last-child) {
		width: auto;
	}
}

/* deepl */

.deepl {
	text-align: right;
	margin: 4rem 0;
	font-size: 1.2rem;
	color: #333;
}

@media screen and (max-width: 800px) {
	.deepl {
		margin: 2rem 0;
		font-size: 1.0rem;
	}
}