@charset "UTF-8";

@font-face {
	font-family: 'Baskerville';
	font-weight: normal;
	font-style: normal;
	src: url('../fonts/baskvl.ttf') format('truetype');
}

/* ========================================================================== */

* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

ul, ol {
	list-style-type:none;
}

h1, h2, h3 {
	font-size: 100%;
	font-weight: normal;
}

/* ========================================================================== */

html, body {
	-webkit-overflow-scrolling: touch !important;
	overflow-scrolling: touch;
}

body {
	position: relative;
	height: 100%;
	min-height: 100%;
	line-height: 1.5;
	color: #6A0A0A;
	font-family: "Yu Mincho Demibold", "YuMincho Demibold", serif;
	font-size: 100%;
	font-weight: 400;
	font-style: normal;
}

body .regular {
	font-family: "Yu Mincho Regular", "YuMincho Medium", serif;
	font-weight: 400;
}

body .baskerville {
	font-family: "Baskerville", serif;
}

/* ========================================================================== */

button, input, select, textarea, pre {
	font-family: inherit;
	font-size: 100%;
}

button::-moz-focus-inner, input[type="submit"]::-moz-focus-inner{
	border: 0;
}

img {
	vertical-align: middle;
}

a {
	color: inherit;
}
a:link ,a:visited, a:hover, a:active {
	text-decoration: none;
}

.hidden {
	display: none;
}

.break {
	word-break: break-all;
}

.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.clearfix:before, .clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/* ========================================================================== */

iframe.instagram {
	width: 100%;
	height: 192px;
	overflow: hidden;
}

dd .tiktok-embed {
	margin-top: 0;
	margin-bottom: 0;
}

@media (max-width: 980px) {

	iframe.instagram {
		height: 21.00371747211896vw;
	}

}

@media (max-width: 537px) {

	iframe.instagram {
		height: 44.266666666666666vw;
	}

}

/* ========================================================================== */

#header {
	display: none;
}

#header input[type="checkbox"] {
	display: none;
}

#header label {
	display: none;
}

@media (max-width: 980px) {

	#header {
		z-index: 100;
		display: block;
		position: fixed;
		top: 0;
		height: 100%;
		background-color: #FFFFFF;
	}

	#header .wrapper {
		width: 100%;
		height: 100%;
	}

	#header .cover {
		position: fixed;
		width: 100%;
		height: 16vw;
		font-size: 0;
		background-color: #FFFFFF;
	}

	#header .cover a {
		display: inline-block;
		margin: 3.733333333333334vw 0 0 0;
	}
	#header .cover a:first-child {
		margin: 3.733333333333334vw 2.666666666666667vw 0 5.333333333333334vw;
	}

	#header .cover .telephone {
		display: inline-block;
		padding: 0 2.4vw 0 7.466666666666668vw;
		height: 8.799999999999999vw;
		line-height: 8.799999999999999vw;
		color: #FFFFFF;
		font-size: 5.333333333333334vw;
		vertical-align: bottom;
		background: url("../image/tel_2x.png") no-repeat left 2.4vw center / 4.8vw;
		background-color: #6A0A0A;
		border-radius: 1.0666666666666667vw;
		white-space: nowrap;
	}

	#header label {
		cursor: pointer;
		display: block;
		position: fixed;
		top: 2.4vw;
		right: 5.333333333333334vw;
		width: 6.4vw;
		height: 11.466666666666667vw;
	}

	#header label p {
		position: absolute;
		bottom: 0;
		left: -1.866666666666667vw;
		width: 10.133333333333333vw;
		font-size: 2.933333333333333vw;
		text-align: center;
	}

	#header label span {
		position: absolute;
		width: 6.4vw;
		height: 0.5333333333333333vw;
		background-color: #6A0A0A;
		transition: all 0.1s;
	}
	.icon-hamburger span:nth-child(1) {
		top: 1.866666666666667vw;
		left: 0;
	}
	.icon-hamburger span:nth-child(2) {
		top: 3.733333333333334vw;
		left: 0;
	}
	.icon-hamburger span:nth-child(3) {
		top: 5.6000000000000005vw;
		left: 0;
	}
	#header input[type="checkbox"]:checked + label span:nth-child(1) {
		width: 100%;
		transform: translate3d(0, 1.866666666666667vw, 0) rotate(45deg);
	}
	#header input[type="checkbox"]:checked + label span:nth-child(2) {
		display: none;
	}
	#header input[type="checkbox"]:checked + label span:nth-child(3) {
		width: 100%;
		transform: translate3d(0, -1.866666666666667vw, 0) rotate(-45deg);
	}

	#header ul {
		display: none;
		position: fixed;
		top: 16vw;
		right: 0;
		width: 100%;
		height: 0;
		overflow-y: scroll;
	}
	#header input[type="checkbox"]:checked ~ nav ul {
		display: block;
		height: calc(100% - 16vw);
	}

	#header ul li {
		pointer-events: auto;
		position: relative;
		height: 16vw;
		line-height: 16vw;
		font-size: 4.266666666666667vw;
		text-align: center;
		background-color: #FFFFFF;
	}
	#header ul li:after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		margin: 0 5.333333333333334vw;
		border-bottom: 0.26666666666666666vw solid;
		border-color: #6A0A0A;
		width: calc(100% - 5.333333333333334vw* 2);
	}
	#header ul li.icon {
		padding: 5.333333333333334vw 0;
		height: auto;
		line-height: inherit;
		font-size: 0;
		vertical-align: middle;
	}

	#header ul li.icon div {
		margin: 0 5px;
	}

	#header ul li.icon:after {
		border: none;
	}

	.header_gap {
		margin-top: 16vw;
	}
}

/* ========================================================================== */

#footer .wrapper {
	margin: 0 auto;
	width: 100%;
	max-width: 978px;
}

#footer .category {
	margin: 0 0 14px 0;
	font-size: 20px;
}

#footer .name {
	margin: 0 0 10px 0;
	font-size: 32px;
}

#footer .comment {
	margin: 0 0 32px 0;
	font-size: 16px;
}

#footer table {
	margin: 0 0 20px 0;
	width: 700px;
	font-size: 16px;
	vertical-align: middle;
	border-collapse: collapse;
}

#footer table tr {
	border-bottom: 1px solid #E8DADA;
}
#footer table tr:last-child {
	border-bottom: none;
}

#footer table tr th {
	padding: 10px 0 10px 0;
	width: 282px;
	text-align: left;
}

#footer table tr td {
	padding: 10px 0 10px 0;
	text-align: left;
}

#footer table tr td .map {
	padding: 1px 6px;
	font-size: 12px;
	border: 1px solid #6A0A0A;
}

#footer table tr td .telephone {
	pointer-events: none;
}

#footer .link {
	padding: 15px 0;
	color: #FFCC4E;
	background-color: #FFF7E4;
}

#footer .link ul {
	margin: 0 auto;
	max-width: 978px;
}

#footer .link ul li {
	position: relative;
	padding: 0 0 0 12px;
	font-size: 14px;
}

#footer .link ul li:before {
	content: "";
	position: absolute;
	top: 12px;
	left: 0;
	margin: auto;
	width: 5px;
	height: 5px;
	border-top: 1px solid #FFCC4E;
	border-right: 1px solid #FFCC4E;
	transform: rotate(45deg);
}

#footer .link ul li span {
	font-size: 20px;
}

#footer .link ul li a {
	text-decoration: underline;
}

#footer .copyright {
	padding: 7px 0;
	color: #FFFFFF;
	font-size: 14px;
	text-align: center;
	background-color: #6A0A0A;
}

@media (max-width: 980px) {

	#footer .category {
		margin: 0 5.333333333333334vw 1.6vw 5.333333333333334vw;
		font-size: 3.4666666666666663vw;
	}
	
	#footer .name {
		margin: 0 5.333333333333334vw 1.6vw 5.333333333333334vw;
		font-size: 5.333333333333334vw;
	}
	
	#footer .comment {
		position: relative;
		margin: 0 0 3.733333333333334vw 0;
		padding: 5.333333333333334vw;
		font-size: 3.733333333333334vw;
		background-color: #E8DADA;
	}

	#footer table {
		margin: 0 0 1.0666666666666667vw 0;
		width: 100%;
		font-size: 4.266666666666667vw;
	}

	#footer table tr {
		border-bottom: none;
	}

	#footer table tr th {
		display: inline-block;
		padding: 0.8vw 2.666666666666667vw 0.8vw 5.333333333333334vw;
		width: auto;
		color: #FFFFFF;
		background-color: #6A0A0A;
	}

	#footer table tr td {
		display: block;
		padding: 0.5333333333333333vw 5.333333333333334vw 2.4vw 5.333333333333334vw;
	}

	#footer table tr td .telephone {
		pointer-events: auto;
	}

	#footer .link {
		padding: 2.4vw 5.333333333333334vw;
	}

	#footer .link ul li {
		padding: 0 0 0 3.2vw;
		font-size: 3.2vw;;
	}

	#footer .link ul li:before {
		top: 2.1333333333333333vw;
		width: 1.3333333333333335vw;
		height: 1.3333333333333335vw;
		border-top: 0.26666666666666666vw solid #FFCC4E;
		border-right: 0.26666666666666666vw solid #FFCC4E;
	}

	#footer .link ul li span {
		display: block;
		font-size: 3.733333333333334vw;
	}

	#footer .copyright {
		padding: 0.8vw 0;
		font-size: 3.2vw;
	}

	#footer table tr td .map {
		padding: 0.26666666666666666vw 1.6vw;
		font-size: 3.2vw;
		border: 0.26666666666666666vw solid #6A0A0A;
	}

}

/* ========================================================================== */

.common_heading {
	position: relative;
	margin: 0 auto 10px auto;
	max-width: 978px;
	height: 38px;
}

.common_heading h2 {
	font-size: 24px;
}

.common_heading .more {
	position: absolute;
	bottom: 0;
	right: 0;
	color: #FFCC4E;
	font-size: 20px;
	text-decoration: underline;
}

.common_heading.lower {
	margin: 0 auto 30px auto;
	height: auto;
}

.common_heading.lower h2 {
	display: inline-block;
	position: relative;
	padding: 6px 32px 6px 20px;
	color: #FFFFFF;
	font-size: 16px;
	background-color: #6A0A0A;
	clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 100%, 0 100%);
}

@media (max-width: 980px) {

	.common_heading {
		margin: 0 0 2.666666666666667vw 0;
		height: 10.133333333333333vw;
	}

	.common_heading h2 {
		font-size: 6.4vw;
		text-align: center;
	}

	.common_heading .more {
		display: none;
	}

	.common_heading.lower {
		margin: 0 0 4.8vw 0;
		height: auto;
	}

	.common_heading.lower h2 {
		padding: 1.6vw 8.533333333333333vw 1.6vw 5.333333333333334vw;
		font-size: 4.266666666666667vw;
		clip-path: polygon(0 0, calc(100% - 4.266666666666667vw) 0, 100% 100%, 0 100%);
	}

}

/* ===================================== */

.common_bottom {
	display: none;
	position: relative;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	background-color: #FFF7E4;
}
.common_bottom.return {
	display: block;
}

.common_bottom a {
	display: block;
	padding: 16px;
	color: #FFCC4E;
}

.common_bottom .more {
	font-size: 20px;
	text-decoration: underline;
}

@media (max-width: 980px) {

	.common_bottom {
		display: block;
		max-width: 89.33333333333333vw;
	}

	.common_bottom a {
		padding: 4.533333333333333vw;
	}

	.common_bottom .more {
		font-size: 5.333333333333334vw;
	}

}

/* ========================================================================== */

.line {
	display: inline-block;
	position: relative;
	padding: 0 10px;
	width: 90px;
	height: 33px;
	line-height: 33px;
	color: #FFFFFF;
	font-size: 13px;
	text-align: right;
	vertical-align: bottom;
	background: #00B900 url("../image/line_icon.png") no-repeat left 10px center / 21px;
	border-radius: 3px;
}

@media (max-width: 980px) {

	.line {
		position: relative;
		padding: 0 2.666666666666667vw;
		width: 24vw;
		height: 8.799999999999999vw;
		line-height: 8.799999999999999vw;
		font-size: 3.4666666666666663vw;
		background: #00B900 url("../image/line_icon.png") no-repeat left 2.666666666666667vw center / 5.6000000000000005vw;
		border-radius: 0.8vw;
	}

}

/* ===================================== */

.icon {
	font-size: 0;
	white-space: nowrap;
}

.icon a {
	display: inline-block;
}

.icon .instagram,
.icon .tiktok,
.icon .twitter,
.icon .blog {
	display: inline-block;
	margin: 0 3px 0 0;
	width: 33px;
	height: 33px;
	line-height: 33px;
	vertical-align: bottom;
	border-radius: 50%;
}
.icon a:last-child div {
	margin-right: 0;
}

.icon .instagram {
	background: #6A0A0A url("../image/insta_icon.png") no-repeat center center / 100%;
}
.icon .tiktok {
	background: #6A0A0A url("../image/tiktok_icon.png") no-repeat center center / 100%;
}
.icon .twitter {
	background: #6A0A0A url("../image/x_icon.png") no-repeat center center / 100%;
}
.icon .blog {
	background: #6A0A0A url("../image/blog_icon.png") no-repeat center center / 100%;
}

@media (max-width: 980px) {

	.icon .instagram,
	.icon .tiktok,
	.icon .twitter,
	.icon .blog {
		margin: 0 0.8vw 0 0;
		width: 8.799999999999999vw;
		height: 8.799999999999999vw;
		line-height: 8.799999999999999vw;
	}

}

/* ========================================================================== */

.pagination {
	margin: 0 auto;
	padding: 20px 0;
	font-size: 0;
	text-align: center;
}

.pagination a {
	display: inline-block;
	margin: 0 2.5px;
	padding: 0;
	width: 48px;
	height: 48px;
	line-height: 48px;
	font-size: 16px;
	text-align: center;
	border: 1px solid #014743;
	border-radius: 50%;
}

.pagination a.current {
	color: #FFFFFF;
	background-color: #6A0A0A;
}

@media (max-width: 980px) {

	.pagination {
		padding: 5.333333333333334vw 0;
	}

	.pagination a {
		margin: 0 0.6666666666666667vw;
		width: 11.733333333333333vw;
		height: 11.733333333333333vw;
		line-height: 11.733333333333333vw;
		font-size: 4.266666666666667vw;
		border: 0.26666666666666666vw solid #014743;
	}

}

/* ========================================================================== */

.modal {
	z-index: 1000;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}

.modal .curtain {
	cursor: pointer;
	position: absolute;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0.8);
}

.modal .container {
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 0;
	width: auto;
	transform: translate(-50%,-50%);
}

/* ========================================================================== */

.gallery {
	position: relative;
	margin: 0;
	width: 100%;
	height: 478px;
	background: url("../image/backimage.png") repeat center;
	overflow: hidden;
}

.gallery ul li {
	position: relative;
}

.gallery ul li img {
	width: 638px;
	height: 478px;
	object-fit: cover;
}

.gallery ul li .panorama_icon {
	cursor: pointer;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	padding-top: 100%;
	width: 100%;
	background: url("../image/panorama_icon.png") no-repeat center / 78px;
}

#panorama {
	width: 784px;
	height: 504px;
}

@media (max-width: 980px) {

	.gallery {
		height: 74.93333333333332vw;
	}

	.gallery ul li img {
		width: 100vw;
		height: 74.93333333333332vw;
	}

	.gallery ul li .panorama_icon {
		background-size: 13.866666666666665vw;
	}

	#panorama {
		width: 80vw;
		height: 51.46666666666667vw;
	}

}

/* ========================================================================== */

.information {
	margin: 18px 0;
}

.information.lower {
	margin: 38px auto 18px auto;
}

.information .wrapper {
	display: table;
	margin: 0 auto;
	width: 100%;
	max-width: 978px;
}

.information .box {
	display: table-cell;
	width: 644px;
	vertical-align: top;
}

.information .box .category {
	font-size: 20px;
}

.information .box .name {
	font-size: 34px;
}

.information.lower .box .name a {
	text-decoration: underline;
}

.information ul {
	display: table-cell;
	width: 334px;
}

.information ul li {
	position: relative;
	padding: 5px 10px;
	width: calc(100% - 22px);
	font-size: 16px;
	background-color: #E8DADA;
	border: 1px solid #6A0A0A;
	border-collapse: separate;
	border-spacing: 0 5px;
	border-radius: 2px;
}

.information ul li:not(:first-child) {
	display: table;
	margin: 2px 0 0 0;
	padding: 0;
	width: calc(100% - 2px);
	background-color: #FFFFFF;
	border-collapse: separate;
	border-spacing: 0 5px;
}

.information ul li p {
	display: table-cell;
	padding: 0 10px;
}

.information ul li p:last-child {
	position: relative;
	width: 83px;
	text-align: center;
	border-left: 1px solid #6A0A0A;
}

.information .icon div {
	margin: 14px 8px 0 0;
}

.information .icon a:not(:first-child) .line {
	margin: 14px 0 0 42px;
}

.information .icon a:not(:first-child) .line:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -28px;
	margin: auto;
	width: 0;
	height: 31px;
	border-left: 3px solid #6A0A0A;
}

@media (max-width: 980px) {

	.information {
		margin: 8vw 0;
	}

	.information.lower {
		margin: 0 0 5.333333333333334vw;
	}

	.information .box {
		display: block;
		padding: 0 5.333333333333334vw;
		width: calc(100% - 5.333333333333334vw * 2);
	}

	.information.lower .box {
		padding: 4.533333333333333vw 5.333333333333334vw;
		color: #FFFFFF;
		background-color: #6A0A0A;
	}

	.information .box .category {
		font-size: 3.733333333333334vw;
	}
	.information.lower .box .category {
		font-size: 3.2vw;
	}

	.information .box .name {
		font-size: 8.533333333333333vw;
	}
	.information.lower .box .name {
		font-size: 4.8vw;
	}

	.information.lower .box .name a {
		text-decoration: underline;
	}

	.information ul {
		display: block;
		margin: 4.8vw 5.333333333333334vw 0 5.333333333333334vw;
		width: auto;
	}

	.information ul li {
		margin: 0.5333333333333333vw 0 0 0;
		padding: 1.3333333333333335vw 2.666666666666667vw;
		width: calc(100% - 5.866666666666666vw);
		font-size: 4.266666666666667vw;
		border: 0.26666666666666666vw solid #6A0A0A;
		border-spacing: 0 1.3333333333333335vw;
		border-radius: 0.5333333333333333vw;
	}

	.information ul li:not(:first-child) {
		width: calc(100% - 0.5333333333333333vw);
		border-spacing: 0 1.3333333333333335vw;
	}

	.information ul li p {
		padding: 0 2.666666666666667vw;
	}

	.information ul li p:last-child {
		width: 22.133333333333333vw;
		border-left: 0.26666666666666666vw solid #6A0A0A;
	}

	.information .icon,
	.information.lower .icon {
		display: none;
	}

}

/* ========================================================================== */

.sns {
	font-size: 0;
	background-color: #6A0A0A;
}

.sns .wrapper {
	margin: 0 auto;
	width: 100%;
	max-width: 780px;
}

.sns dl {
	padding: 30px 0;
}

.sns dl dt {
	margin: 0 0 15px 0;
	padding: 0 0 0 37px;
	color: #FFFFFF;
	font-size: 20px;
	height: 27px;
	line-height: 27px;
}

.sns dl dt.instagram {
	background: url("../image/insta.png") no-repeat left center / auto 100%;
}

.sns dl dt.tiktok {
	background: url("../image/tiktok.png") no-repeat left center / auto 100%;
}

.sns dl dt.twitter {
	background: url("../image/x.png") no-repeat left center / auto 100%;
}

.sns dl dd {
	margin: 0 0 40px 0;
}
.sns dl dd:last-child {
	margin: 0;
}

@media (max-width: 980px) {

	.sns {
		margin: 0 0 10.133333333333333vw 0;
	}

	.sns .wrapper {
		max-width: 89.33333333333333vw;
		overflow: hidden;
	}

	.sns dl {
		padding: 4.8vw 0 8vw 0;
	}

	.sns dl dt {
		margin: 0 0 2.666666666666667vw 0;
		padding: 0 0 0 9.866666666666667vw;
		font-size: 5.333333333333334vw;
		height: 7.199999999999999vw;
		line-height: 7.199999999999999vw;
	}

	.sns dl dd {
		margin: 0 0 5.866666666666666vw 0;
	}

}

/* ========================================================================== */

.navigation {
	margin: 0 0 50px 0;
	box-shadow: 0 -3px 0px 0 #FFFFFF, 0 3px 5px 0 #00000029;
}

.navigation .wrapper {
	margin: 0 auto;
	padding: 40px 0;
	width: 100%;
	max-width: 978px;
}

.navigation ul {
	font-size: 0;
}

.navigation ul a {
	display: inline-block;
	padding: 4px 0;
}

.navigation ul li {
	float: left;
	padding: 0 29px;
	font-size: 16px;
	border-right: 2px solid #6A0A0A;
}
.navigation ul a:first-child li {
	border-left: 2px solid #6A0A0A;
}

@media (max-width: 980px) {

	.navigation {
		display: none;
	}

}

/* ========================================================================== */

.companions {
	margin: 0 0 40px 0;
	overflow: hidden;
}

.companions.other {
	padding: 30px 0 10px 0;
	background-color: #FFF7E4;
}

.companions .wrapper {
	margin: 0 auto;
	width: 100%;
	max-width: 978px;
}

.companions .list li {
	float: left;
	margin: 0 6px 20px 0;
	width: 158px;
}
.companions .list li:nth-child(6n) {
	margin: 0 0 20px 0;
}

.companions .list li .schedule {
	margin: 0 0 5px 0;
	height: 36px;
	line-height: 36px;
	color: #F8BC61;
	font-size: 18px;
	text-align: center;
	border: 1px solid #F8BC61;
}

.companions .list li .image {
	position: relative;
	margin: 0 auto;
	height: 210px;
	background-color: #E6E6E6;
	overflow: hidden;
}

.companions .list li .image img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 100%;
}

.companions .list li .name {
	height: 38px;
	line-height: 38px;
	font-size: 18px;
}

.companions .list li .icon {
	height: 33px;
}

.companions .notice {
	margin: 0 0 20px 0;
	padding: 55px 0;
	font-size: 24px;
	text-align: center;
	background-color: #F1F1F1;
}

@media (max-width: 980px) {

	.companions {
		margin: 0 0 10.666666666666668vw 0;
	}

	.companions.other {
		display: none;
		padding: 0;
		background-color: transparent;
	}

	.companions .wrapper {
		max-width: 89.33333333333333vw;
	}

	.companions .list li {
		margin: 0 5.066666666666666vw 5.333333333333334vw 0;
		width: 42.13333333333333vw;
	}
	.companions .list li:nth-child(2n) {
		margin: 0 0 5.333333333333334vw 0;
	}

	.companions .list li .schedule {
		margin: 0 0 1.3333333333333335vw 0;
		height: 9.6vw;
		line-height: 9.6vw;
		font-size: 4.8vw;
		border: 0.26666666666666666vw solid #F8BC61;
	}

	.companions .list li .image {
		height: 56.00000000000001vw;
	}

	.companions .list li .image img {
		width: 100%;
	}

	.companions .list li .name {
		height: 10.133333333333333vw;
		line-height: 10.133333333333333vw;
		font-size: 4.8vw;
	}

	.companions .list li .icon {
		height: auto;
/*		height: 8.799999999999999vw; */
	}

	.companions .notice {
		margin: 0 0 5.333333333333334vw 0;
		padding: 14.666666666666666vw 0;
		font-size: 4.8vw;
	}

}

/* ===================================== */

.companions .selection {
	margin: -10px 0 28px 0;
}

.companions .selection a li {
	float: left;
	margin: 25px 0 0 6px;
	width: 118px;
	height: 73px;
	background: linear-gradient(to bottom, #E8DADA 0, #E8DADA 53px, #FFFFFF 53px, #FFFFFF 100%);
	border: 1px solid #6A0A0A;
	border-radius: 3px;
}
.companions .selection a:first-child li {
	margin: 0;
	width: 220px;
	height: 98px;
	background: linear-gradient(to bottom, #E8DADA 0, #E8DADA 78px, #FFFFFF 78px, #FFFFFF 100%);
}

.companions .selection a li.current {
	color: #FFFFFF;
	background: linear-gradient(to bottom, #6A0A0A 0, #6A0A0A 53px, #FFFFFF 53px, #FFFFFF 100%);
}
.companions .selection a:first-child li.current {
	color: #FFFFFF;
	background: linear-gradient(to bottom, #6A0A0A 0, #6A0A0A 78px, #FFFFFF 78px, #FFFFFF 100%);
}

.companions .selection a li .month_day {
	margin: 11px 0 0 0;
	height: 26px;
	line-height: 26px;
	font-size: 16px;
	text-align: center;
}
.companions .selection a:first-child li .month_day {
	margin: 15px 0 0 0;
	height: 48px;
	line-height: 48px;
	font-size: 32px;
}

.companions .selection a li .month_day span {
	padding: 0 0 0 1px;
	font-size: 26px;
}
.companions .selection a:first-child li .month_day span {
	padding: 0 0 0 2px;
	font-size: 52px;
}

.companions .selection a li .week {
	margin: 8px auto; 0 auto;
	width: 38px;
	height: 16px;
	line-height: 16px;
	color: #FFFFFF;
	font-size: 12px;
	text-align: center;
	background-color: #6A0A0A;
}
.companions .selection a:first-child li .week {
	margin: 4px auto 0 auto;
	width: 58px;
	height: 24px;
	line-height: 24px;
	font-size: 18px;
}

.companions .selection a li.current .week,
.companions .selection a:first-child li.current .week {
	color: #6A0A0A;
	background-color: #E8DADA;
}

@media (max-width: 980px) {

	.companions .selection {
		margin: 0 0 5.333333333333334vw 0;
	}

	.companions .selection a,
	.companions .selection a:first-child {
		width: 44.666666666666664vw;
	}

	.companions .selection a li {
		margin: 0 0 1.3333333333333335vw 1.3333333333333335vw;
		width: 21.333333333333336vw;
		height: 20vw;
		background: linear-gradient(to bottom, #E8DADA 0, #E8DADA 13.866666666666665vw, #FFFFFF 13.866666666666665vw, #FFFFFF 100%);
		border: 0.26666666666666666vw solid #6A0A0A;
		border-radius: 1.0666666666666667vw;
		box-sizing: border-box;
	}
	.companions .selection a:first-child li {
		margin: 0 0 1.3333333333333335vw 0;
		width: 44vw;
		height: 20vw;
		background: linear-gradient(to bottom, #E8DADA 0, #E8DADA 13.866666666666665vw, #FFFFFF 13.866666666666665vw, #FFFFFF 100%);
	}
	.companions .selection a:nth-child(4) li {
		margin: 0 0 1.3333333333333335vw 0;
	}

	.companions .selection a li.current,
	.companions .selection a:first-child li.current {
		background: linear-gradient(to bottom, #6A0A0A 0, #6A0A0A 13.866666666666665vw, #FFFFFF 13.866666666666665vw, #FFFFFF 100%);
	}

	.companions .selection a li .month_day,
	.companions .selection a:first-child li .month_day {
		margin: 2.666666666666667vw 0 0 0;
		height: 6.933333333333333vw;
		line-height: 6.933333333333333vw;
		font-size: 4.266666666666667vw;
	}

	.companions .selection a li .month_day span,
	.companions .selection a:first-child li .month_day span {
		padding: 0 0 0 0.5333333333333333vw;
		font-size: 6.933333333333333vw;
	}

	.companions .selection a li .week,
	.companions .selection a:first-child li .week {
		margin: 2.1333333333333333vw auto 0 auto;
		width: 10.133333333333333vw;
		height: 4.266666666666667vw;
		line-height: 4.266666666666667vw;
		font-size: 3.2vw;
	}
}

/* ===================================== */

.companions .posting {
	margin: 0 0 50px 0;
	padding: 0 0 50px 0;
	border-bottom: 1px solid #707070;
}

.companions .posting .profile {
	float: left;
	width: 158px;
}

.companions .posting .profile .image {
	position: relative;
	margin: 0 auto;
	width: 158px;
	height: 210px;
	overflow: hidden;
}

.companions .posting .profile .image img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 100%;
}

.companions .posting .profile .name {
	font-size: 24px;
}

.companions .posting .embedded {
	float: right;
	width: 780px;
	font-size: 0;
}

.companions .posting .embedded dt {
	margin: 0 0 10px 0;
	font-size: 20px;
	height: 33px;
	line-height: 33px;
}

.companions .posting .embedded .icon div {
	margin: 0 6px 0 0;
}

.companions .posting .embedded dd {
	margin: 0 0 13px 0;
	max-width: 780px;
}

.companions .posting .embedded dd:last-child {
	margin: 0;
}

.companions .posting .embedded .blogs {
	margin: 0;
}

.companions .posting .embedded .blogs ul li {
	margin: 0 20px 0 0;
}

.companions .posting .embedded .blogs ul li:last-child {
	margin: 0;
}

.companions .posting .embedded .preparing {
	width: 100%;
	height: 245px;
	line-height: 245px;
	font-size: 16px;
	text-align: center;
	background-color: #FFCC4E;
}

@media (max-width: 980px) {

	.companions .posting {
		margin: 0 0 8vw 0;
		padding: 0 0 8vw 0;
		border-bottom: 0.26666666666666666vw solid #707070;
	}

	.companions .posting .profile {
		float: none;
		margin: 0 0 3.4666666666666663vw 0;
		width: 100%;
	}

	.companions .posting .profile .image {
		float: left;
		width: 22.666666666666664vw;
		height: 30.133333333333333vw;
	}

	.companions .posting .profile .name {
		float: right;
		width: 60vw;
		font-size: 6.4vw;
	}
	
	.companions .posting .embedded {
		float: none;
		width: 100%;
	}

	.companions .posting .embedded dt {
		margin: 0 0 2.4vw 0;
		font-size: 5.333333333333334vw;
		height: 7.199999999999999vw;
		line-height: 7.199999999999999vw;
	}

	.companions .posting .embedded .icon div {
		margin: 0 1.6vw 0 0;
	}

	.companions .posting .embedded dd {
		margin: 0 0 3.4666666666666663vw 0;
	}

	.companions .posting .embedded .blogs ul li {
		margin: 0 1.3333333333333335vw 5.333333333333334vw 0;
	}
	.companions .posting .embedded .blogs ul li:nth-child(2n) {
		margin: 0 0 5.333333333333334vw 0;
	}
	.companions .posting .embedded .blogs ul li:nth-child(n+3) {
		margin-bottom: 0;
	}

	.companions .posting .embedded .preparing {
		height: 18.933333333333334vw;
		line-height: 18.933333333333334vw;
		font-size: 4.266666666666667vw;
	}


}

/* ========================================================================== */

.companion {
	margin: 0 0 60px 0;
}

.companion.bottom {
	padding: 30px 0;
	border-top: 3px solid #6A0A0A;
	border-bottom: 3px solid #6A0A0A;
}

.companion .wrapper {
	margin: 0 auto;
	width: 100%;
	max-width: 978px;
}

.companion .profile {
	position: relative;
}

.companion .profile .slideshow {
	float: left;
	margin: 0 45px 0 0;
	width: 316px;
	height: 447px;
	overflow: hidden;
}

.companion.bottom .profile .slideshow {
	margin: 0;
	width: 158px;
/*	height: 236px;*/
	height: 211px;
}

.companion .profile .slideshow .picture li {
	position: relative;
	width: 316px;
	height: 422px;
	background-color: #E6E6E6;
	overflow: hidden;
}

.companion.bottom .profile .slideshow .picture li {
	width: 158px;
	height: 211px;
}

.companion .profile .slideshow .picture li img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.companion .profile .slideshow .picture li .movie {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 80px;
	height: 80px;
	background: url("../image/play_icon.png") no-repeat center / 100%;
}

.companion .profile .slideshow .slick-dotted.slick-slider {
	margin-bottom: 0;
}

.companion .profile .slideshow .dots {
	position: relative;
	margin: 2px 0 0 0;
	height: 20px;
}

.companion .profile .slideshow .dots .slick-dots {
	top: 0;
	bottom: auto;
	width: auto;
	font-size: 0;
}

.companion .profile .slideshow .dots .slick-dots li {
	margin: 0;
	width: 12px;
}
.companion .profile .slideshow .dots .slick-dots > li:first-child:last-child {
	display: none;
}

.companion .profile .slideshow .dots .slick-dots li button,
.companion .profile .slideshow .dots .slick-dots li button:before {
	width: 12px;
	font-size: 8px;
}

.companion .profile .personal_data {
	float: right;
	margin: 0 0 15px 0;
	width: calc(100% - 361px);
}

.companion.bottom .profile .personal_data {
	position: absolute;
	top: 0;
	left: 173px;
	margin: 0;
	width: 236px;
}

.companion .profile .personal_data .name {
	display: table;
	margin: 0 0 8px 0;
	border-bottom: 1px solid #6A0A0A;
}

.companion.bottom .profile .personal_data .name {
	display: block;
	margin: 0 0 20px 0;
	border-bottom: none;
}

.companion .profile .personal_data .name h2 {
	display: table-cell;
	padding: 0 0 7px 0;
	width: 100%;
	height: 33px;
	line-height: 1;
	font-size: 33px;
	vertical-align: top;
}

.companion.bottom .profile .personal_data .name h2 {
	display: block;
	height: auto;
	font-size: 28px;
}

.companion .profile .personal_data .name h2 span {
	display: block;
	padding: 5px 0 0 0;
	font-size: 16px;
}

.companion .profile .personal_data .name .age {
	display: table-cell;
	vertical-align: top;
}

.companion.bottom .profile .personal_data .name .age {
	display: block;
}

.companion .profile .personal_data .name .age span {
	display: inline-block;
	padding: 6px 10px;
	font-size: 16px;
	background-color: #E8DADA;
	white-space: nowrap;
}

.companion .profile .personal_data .icon div {
	margin: 0 8px 0 0;
}

.companion .profile .question_and_answer {
	float: right;
	margin: 0 31px 0 0;
	width: 586px;
}

.companion.bottom .profile .question_and_answer {
	margin: 0;
	width: 554px;
}

.companion .profile .question_and_answer dl {
	float: left;
	display: table;
	margin: 0 6px 6px 0;
	width: 290px;
}
.companion .profile .question_and_answer dl:nth-child(2n) {
	margin: 0 0 6px 0;
}

.companion.bottom .profile .question_and_answer dl {
	width: 274px;
}

.companion .profile .question_and_answer dl.comment {
	margin: 0;
	width: 100%;
	min-height: 156px;
}

.companion.bottom .profile .question_and_answer dl.comment {
	min-height: auto;
}

.companion .profile .question_and_answer dl dt,
.companion .profile .question_and_answer dl dd {
	display: table-cell;
	padding: 6px 10px 6px 25px;
	font-size: 16px;
	background-color: #E8DADA;
}

.companion .profile .question_and_answer dl dt {
	padding: 6px 0;
	width: 120px;
	color: #FFFFFF;
	text-align: center;
	vertical-align: middle;
	background-color: #6A0A0A;
}

.companion.bottom .profile .question_and_answer dl dt {
	border-radius: 3px;
}

.companion.bottom .profile .question_and_answer dl dd {
	background: transparent;
}

@media (max-width: 980px) {

	.companion {
		margin: 0 0 10.666666666666668vw 0;
	}

	.companion.bottom {
		padding: 5.333333333333334vw 0;
		border-top: 0.8vw solid #6A0A0A;
		border-bottom: 0.8vw solid #6A0A0A;
	}

	.companion .wrapper {
		max-width: 89.33333333333333vw;
		overflow: hidden;
	}

	.companion .profile .slideshow {
		float: none;
		margin: 0 0 4vw 0;
		width: 89.33333333333333vw;
		height: 125.06666666666666vw;
	}

	.companion.bottom .profile .slideshow {
		margin: 0 0 20px 0;
		width: 42.13333333333333vw;
/*		height: 62.93333333333333vw; */
		height: 57.599999999999994vw;
	}

	.companion .profile .slideshow .picture li {
		width: 89.33333333333333vw;
		height: 119.19999999999999vw;
	}

	.companion.bottom .profile .slideshow .picture li {
		width: 89.33333333333333vw;
		height: 56.266666666666666vw;
	}

	.companion .profile .slideshow .picture li .movie {
		width: 14.399999999999999vw;
		height: 14.399999999999999vw;
	}

	.companion .profile .slideshow .dots {
		margin: 0.5333333333333333vw 0 0 0;
		height: 5.333333333333334vw;
	}

	.companion .profile .slideshow .dots .slick-dots li {
		margin: 0;
		width: 3.2vw;
	}

	.companion .profile .slideshow .dots .slick-dots li button,
	.companion .profile .slideshow .dots .slick-dots li button:before {
		width: 3.2vw;
		font-size: 2.1333333333333333vw;
	}

	.companion .profile .personal_data {
		float: none;
		margin: 0 0 3.4666666666666663vw 0;
		width: 100%;
	}

	.companion.bottom .profile .personal_data {
		left: 44.800000000000004vw;
		width: 44.53333333333334vw;
	}

	.companion .profile .personal_data .name {
		margin: 0 0 2.1333333333333333vw 0;
		border-bottom: 0.26666666666666666vw solid #6A0A0A;
	}

	.companion.bottom .profile .personal_data .name {
		margin: 0 0 7.466666666666668vw 0;
	}

	.companion .profile .personal_data .name h2 {
		padding: 0 0 1.866666666666667vw 0;
		height:auto;
		font-size: 6.4vw;
	}

	.companion.bottom .profile .personal_data .name h2 {
		font-size: 7.466666666666668vw;
	}

	.companion .profile .personal_data .name h2 span {
		padding: 1.3333333333333335vw 0 0 0 ;
		font-size: 4.266666666666667vw;
	}

	.companion .profile .personal_data .name .age span {
		padding: 0.5333333333333333vw 2.666666666666667vw;
		font-size: 4.266666666666667vw;
	}

	.companion .profile .personal_data .icon div {
		margin: 0 2.1333333333333333vw 0 0;
	}

	.companion .profile .question_and_answer,
	.companion.bottom .profile .question_and_answer {
		float: none;
		margin: 0;
		width: 100%;
	}

	.companion .profile .question_and_answer dl,
	.companion.bottom .profile .question_and_answer dl {
		margin: 0 0 1.6vw 0;
		width: 44.666666666666664vw;
	}
	.companion .profile .question_and_answer dl:nth-child(2n),
	.companion.bottom .profile .question_and_answer dl:nth-child(2n) {
		margin: 0 0 1.6vw 0;
	}
	.companion .profile .question_and_answer dl:last-child,
	.companion.bottom .profile .question_and_answer dl:last-child {
		margin: 0;
	}

	.companion .profile .question_and_answer dl.comment {
		width: 100%;
		min-height: auto;
	}

	.companion .profile .question_and_answer dl dt,
	.companion .profile .question_and_answer dl dd {
		padding: 0.8vw 0 0.8vw 1.0666666666666667vw;
		font-size: 4.266666666666667vw;
	}

	.companion .profile .question_and_answer dl dt {
		padding: 0.5333333333333333vw 0;
		width: 16.53333333333333vw;
		font-size: 3.733333333333334vw;
		border-radius: 1.0666666666666667vw;
	}

	.companion .profile .question_and_answer dl.comment dt {
		display: block;
		margin: 0 0 1.3333333333333335vw 0;
		width: 100%;
	}

	.companion .profile .question_and_answer dl dd {
		background: transparent;
	}

	.companion .profile .question_and_answer dl.comment dd {
		display: block;
		width: calc(100% - 2.1333333333333333vw * 2);
	}

	.companion.bottom .profile .question_and_answer dl.comment dd {
		padding: 0;
	}

}

/* ===================================== */

.companion .schedule {
	margin: 42px 0 0 0;
}

.companion .schedule li {
	float: left;
	margin: 0 6px 0 0;
	width: 118px;
	height: 118px;
	background: linear-gradient(to bottom, #E8DADA 0, #E8DADA 53px, #FFFFFF 53px, #FFFFFF 100%);
	border: 1px solid #6A0A0A;
	border-radius: 3px;
}

.companion .schedule li .month_day {
	margin: 11px 0 0 0;
	height: 26px;
	line-height: 26px;
	font-size: 16px;
	text-align: center;
}

.companion .schedule li .month_day span {
	padding: 0 0 0 1px;
	font-size: 26px;
}

.companion .schedule li .week {
	margin: 8px auto 5px auto;
	width: 38px;
	height: 16px;
	line-height: 16px;
	color: #FFFFFF;
	font-size: 12px;
	text-align: center;
	background-color: #6A0A0A;
}

.companion .schedule li .hours {
	display:table;
	width: 100%;
	height: 48px;
	line-height: 24px;
}
.companion .schedule li .hours p {
	display:table-cell;
	font-size: 20px;
	text-align: center;
	vertical-align: middle;
}

@media (max-width: 980px) {

	.companion .schedule {
		margin: 5.333333333333334vw 0 0 0;
	}

	.companion .schedule li {
		margin: 0 1.3333333333333335vw 1.3333333333333335vw 0;
		width: 21.333333333333336vw;
		height: 32vw;
		background: linear-gradient(to bottom, #E8DADA 0, #E8DADA 13.866666666666665vw, #FFFFFF 13.866666666666665vw, #FFFFFF 100%);
		border: 0.26666666666666666vw solid #6A0A0A;
		border-radius: 1.0666666666666667vw;
		box-sizing: border-box;
	}
	.companion .schedule li:nth-child(4) {
		margin: 0 0 1.3333333333333335vw 0;
	}

	.companion .schedule li .month_day {
		margin: 2.666666666666667vw 0 0 0;
		height: 6.933333333333333vw;
		line-height: 6.933333333333333vw;
		font-size: 4.266666666666667vw;
	}

	.companion .schedule li .month_day span {
		padding: 0 0 0 0.5333333333333333vw;
		font-size: 6.933333333333333vw;
	}

	.companion .schedule li .week {
		margin: 2.1333333333333333vw auto 1.3333333333333335vw auto;
		width: 10.133333333333333vw;
		height: 4.266666666666667vw;
		line-height: 4.266666666666667vw;
		font-size: 3.2vw;
	}

	.companion .schedule li .hours {
		height: 12.8vw;
		line-height: 6.4vw;
	}
	.companion .schedule li .hours p {
		font-size: 5.333333333333334vw;
	}

}

/* ===================================== */

.companion .embedded {
	font-size: 0;
}

.companion .embedded dt {
	margin: 0 0 10px 0;
	font-size: 20px;
	height: 33px;
	line-height: 33px;
}
.companion .embedded dt:first-child {
	margin: 45px 0 10px 0;
}

.companion .embedded .icon div {
	margin: 0 6px 0 0;
}

.companion .embedded dd {
	margin: 0 0 15px 0;
	max-width: 780px;
}
.companion .embedded dd:last-child {
	margin: 0;
}

.companion .embedded dd.wide {
	max-width: 100%;
}

.companion .embedded dd .blogs {
	margin: 0;
}

.companion .embedded dd .blogs li {
	margin-bottom: 0;
}

@media (max-width: 980px) {

	.companion .embedded dt {
		margin: 0 0 2.4vw 0;
		font-size: 5.333333333333334vw;
		height: 8.799999999999999vw;
		line-height: 7.199999999999999vw;
	}

	.companion .embedded dt:first-child {
		margin: 5.333333333333334vw 0 2.4vw 0;
	}

	.companion .embedded dd {
		width: 100%;
	}

	.companion .embedded dd .blogs li:nth-child(-n+2) {
		margin-bottom: 5.333333333333334vw;
	}


}

/* ========================================================================== */

.events {
	margin: 0 0 60px 0;
}

.events .wrapper {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 978px;
}

.events .list li {
	margin: 0 0 25px 0;
}
.events .list li:last-child {
	margin: 0;
}

.events .container {
	display: table;
	position: relative;
	padding: 30px;
	width: calc(100% - 60px);
	background-color: #FFF7E4;
}

.events .list .container .date {
	display: table-cell;
	width: 194px;
	vertical-align: middle;
}

.events .container .date .text {
	position: absolute;
	right: 30px;
	bottom: 30px;
	font-size: 12px;
}
.events .container .date .shape {
	display: none;
}

.events .list .container .date .shape {
	display: table-cell;
	vertical-align: middle;
}

.events .container .date .shape {
	width: 164px;
	height: 164px;
	text-align: center;
	background-color: #FFCC4E;
	border-radius: 50%;
}
.events .container .date .shape div {
	line-height: 1;
	vertical-align: bottom;
}

.events .container .date .shape div.month_day {
	font-size: 24px;
}

.events .container .date .shape div.month_day span {
	font-size: 40px;
}

.events .container .date .shape div.week span {
	display: block;
	margin: 0 auto;
	padding: 3px 0;
	width: 59px;
	color: #FFFFFF;
	font-size: 18px;
	background-color: #6A0A0A;
}

.events .container .image {
	display: table-cell;
	position: relative;
	margin: 0 40px 0 0;
	width: 300px;
	height: 227px;
	background-color: #E6E6E6;
	overflow: hidden;
}

.events .container .image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.events .container .separate {
	display: table-cell;
	width: 40px;
}

.events .container .contents {
	display: table-cell;
	margin: 0 auto;
	height: 227px;
	vertical-align: top;
}

.events .container .contents .new {
	display: inline-block;
	margin: 0 0 10px 0;
	padding: 2px 10px;
	color: #FFFFFF;
	font-size: 16px;
	background-color: #6A0A0A;
}

.events .container .contents .title {
	margin: 0 0 10px 0;
	font-size: 28px;
}

.events .container .contents .title a {
	text-decoration: underline;
}

.events .container .contents .comment {
	font-size: 18px;
}

.events .container .contents .comment p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.events .notice {
	margin: 0 0 20px 0;
	padding: 55px 0;
	font-size: 24px;
	text-align: center;
	background-color: #F1F1F1;
}

@media (max-width: 980px) {

	.events {
		margin: 0 0 10.666666666666668vw 0;
		overflow: hidden;
	}

	.events .wrapper {
		margin: 0 auto;
		max-width: 89.33333333333333vw;
	}

	.events .list li {
		margin: 0;
	}

	.events .container {
		display: block;
		margin: 0 0 2.666666666666667vw -5.333333333333334vw;
		padding: 5.333333333333334vw;
		width: 100%;
	}

	.events .list .container .date {
		display: block;
		width: auto;
	}

	.events .container .date .text {
		display: none;
	}

	.events .container .date .shape {
		display: table;
		margin: 0 0 2.4vw 0;
		padding: 2.666666666666667vw;
		width: auto;
		height: auto;
		border-radius: 0;
	}

	.events .list .container .date .shape {
		display: table;
	}

	.events .container .date .shape div {
		display: table-cell;
	}

	.events .container .date .shape div.month_day {
		font-size: 4.8vw;
	}

	.events .container .date .shape div.month_day span {
		font-size: 8.533333333333333vw;
	}

	.events .container .date .shape div.week {
		vertical-align: middle;
	}

	.events .container .date .shape div.week span {
		margin: 0 0 0 1.3333333333333335vw;
		padding: 1.0666666666666667vw 1.866666666666667vw;
		width: auto;
		font-size: 4.533333333333333vw;
	}

	.events .container .image {
		display: block;
		margin: 0 0 1.3333333333333335vw 0;
		width: 89.33333333333333vw;
		height: 67.73333333333333vw;
	}

	.events .container .separate {
		display: none;
	}

	.events .container .contents {
		display: block;
		width: auto;
		height: auto;
	}

	.events .container .contents .new {
		margin: 0 0 0.5333333333333333vw 0;
		padding: 0.5333333333333333vw 2.666666666666667vw;
		color: #FFFFFF;
		font-size: 4.266666666666667vw;
	}

	.events .container .contents .title {
		margin: 0 0 2.666666666666667vw 0;
		font-size: 4.8vw;
	}

	.events .container .contents .comment {
		padding: 4.533333333333333vw 6.666666666666667vw;
		font-size: 4.266666666666667vw;
		background-color: #E8DADA;
	}

	.events .container .contents .comment p {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}

	.events .notice {
		margin: 0 0 5.333333333333334vw 0;
		padding: 14.666666666666666vw 0;
		font-size: 4.8vw;
	}

}

/* ===================================== */

.events .calendar {
	margin: 0 0 60px 0;
}

.events .calendar .thismonth {
	float: left;
}
.events .calendar .nextmonth {
	display: none;
	float: left;
}

.events .calendar input[type="checkbox"] {
	display: none;
}
.events .calendar input[type="checkbox"]:checked ~ .thismonth {
	display: none;
}
.events .calendar input[type="checkbox"]:checked ~ .nextmonth {
	display: block;
}

.events .calendar p {
	position: relative;
	font-size: 40px;
}

.events .calendar .switch {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 62px;
	height: 27px;
	background: linear-gradient(to right, #E8DADA 0, #E8DADA 27px, #FFFFFF 27px, #FFFFFF 35px, #6A0A0A 35px, #6A0A0A 100%);
}
.events .calendar .switch:after,
.events .calendar .switch:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 9px;
	margin: auto;
	width: 8px;
	height: 12px;
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
	background-color: #707070;
}
.events .calendar .switch:before {
	left: 46px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background-color: #FFFFFF;
}

.events .calendar .nextmonth .switch {
	background: linear-gradient(to right, #6A0A0A 0, #6A0A0A 27px, #FFFFFF 27px, #FFFFFF 35px, #E8DADA 35px, #E8DADA 100%);
}
.events .calendar .nextmonth .switch:after{
	background-color: #FFFFFF;
}
.events .calendar .nextmonth .switch:before {
	background-color: #707070;
}

.events .calendar table {
	width: 490px;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
}

.events .calendar table th,
.events .calendar table td {
	width: 70px;
	color: #333333;
	font-size: 16px;
	text-align: center;
	vertical-align: middle;
}

.events .calendar table th {
	height: 43px;
	border-top: 1px solid #333333;
	border-bottom: 1px solid #333333;
}
.events .calendar table th:first-child {
	color: #AF2121;
}
.events .calendar table th:last-child {
	color: #2B21AF;
}

.events .calendar table td {
	height: 50px;
}
.events .calendar table tr:nth-child(2) td {
	padding: 10px 0 0 0;
}

.events .calendar table td a {
	display: inline-block;
	width: 36px;
	height: 36px;
	line-height: 36px;
	border-radius: 50%;
}
.events .calendar table td a.held {
	background-color: #FFCC4E;
}
.events .calendar table td a.today {
	color: #FFCC4E;
}
.events .calendar table td a.current {
	color: #FFFFFF;
	background-color: #6A0A0A;
}

@media (max-width: 980px) {

	.events .calendar {
		margin: 0 0 2.666666666666667vw 0;
		overflow: hidden;
	}

	.events .calendar p {
		font-size: 6.4vw;
	}

	.events .calendar .switch {
		right: 0.266666666666666661vw;
		width: 16.53333333333333vw;
		height: 7.199999999999999vw;
		background: linear-gradient(to right, #E8DADA 0, #E8DADA 7.199999999999999vw, #FFFFFF 7.199999999999999vw, #FFFFFF 9.333333333333334vw, #6A0A0A 9.333333333333334vw, #6A0A0A 100%);
	}
	.events .calendar .switch:after,
	.events .calendar .switch:before {
		left: 2.4vw;
		width: 2.1333333333333333vw;
		height: 3.2vw;
	}
	.events .calendar .switch:before {
		left: 12.266666666666666vw;
	}

	.events .calendar .nextmonth .switch {
		background: linear-gradient(to right, #6A0A0A 0, #6A0A0A 7.199999999999999vw, #FFFFFF 7.199999999999999vw, #FFFFFF 9.333333333333334vw, #E8DADA 9.333333333333334vw, #E8DADA 100%);
	}

	.events .calendar table {
		width: 89.33333333333333vw;
	}

	.events .calendar table th,
	.events .calendar table td {
		width: 12.8vw;
		font-size: 4.266666666666667vw;
	}

	.events .calendar table th {
		height: 11.466666666666667vw;
		font-size: 3.733333333333334vw;
		border-top: 0.266666666666666661vw solid #333333;
		border-bottom: 0.266666666666666661vw solid #333333;
	}

	.events .calendar table td {
		height: 13.333333333333334vw;
	}
	.events .calendar table tr:nth-child(2) td {
		padding: 2.666666666666667vw 0 0 0;
	}

	.events .calendar table td a {
		width: 9.6vw;
		height: 9.6vw;
		line-height: 9.6vw;
	}

}

/* ===================================== */

.events .detailed {
	margin: 0 0 28px 0;
}

.events .detailed .title {
	margin: 0 0 28px 0;
	padding: 22px 20px;
	font-size: 24px;
	background-color: #E8DADA;
}

.events .detailed .table {
	display: table;
	width: 100%;
}

.events .detailed .table .left {
	display: table-cell;
	width: 520px;
	vertical-align: top;
}

.events .detailed .table .right {
	display: table-cell;
	vertical-align: top;
}

.events .detailed .picture {
	float: left;
	position: relative;
	width: 490px;
	height: 370px;
	text-align: center;
	background-color: #E6E6E6;
	overflow: hidden;
}

.events .detailed .two .picture {
	width: 245px;
	height: 370px;
}

.events .detailed .picture img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.events .detailed .picture .movie {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 80px;
	height: 80px;
	background: url("../image/play_icon.png") no-repeat center / 100%;
}

.events .detailed .date {
	display: inline-block;
	margin: 0 0 15px 0;
	padding: 5px 20px;
	font-size: 24px;
	background-color: #FFCC4E;
}

.events .detailed p {
	color: #333333;
	font-size: 16px;
}

@media (max-width: 980px) {

	.events .detailed {
		margin: 0 0 4.266666666666667vw 0;
	}

	.events .detailed .title {
		margin: 0 0 2.666666666666667vw -5.333333333333334vw;
		padding: 1.866666666666667vw 5.333333333333334vw;
		width: 100%;
		font-size: 4.8vw;
	}

	.events .detailed .table {
		display: block;
	}

	.events .detailed .table .left {
		display: block;
		margin: 0 0 1.866666666666667vw 0;
		width: auto;
	}

	.events .detailed .table .right {
		display: block;
	}

	.events .detailed .picture {
		width: 89.33333333333333vw;
		height: 67.46666666666667vw;
	}

	.events .detailed .picture .movie {
		width: 14.399999999999999vw;
		height: 14.399999999999999vw;
	}

	.events .detailed .date {
		margin: 0 0 1.866666666666667vw 0;
		padding: 0 2.666666666666667vw;
		font-size: 4.8vw;
	}

	.events .detailed p {
		font-size: 4.266666666666667vw;
	}

}

/* ========================================================================== */

.blogs {
	position: relative;
	margin: 0 0 40px 0;
}

.blogs .wrapper {
	margin: 0 auto;
	width: 100%;
	max-width: 978px;
}

.blogs.upper .common_heading {
	display: block;
	position: absolute;
	top: 0;
	left: calc((100% - 978px) / 2);
}

.blogs.upper .common_heading h2 { 
	margin: 0 0 30px 0;
}

.blogs.upper .common_heading .more {
	position: relative;
}

.blogs.upper ul {
	margin: 0 0 0 153px;
}

.blogs ul li {
	float: left;
	margin: 0 19.5px 20px 0;
	width: 180px;
}
.blogs ul li:nth-child(5n) {
	margin: 0 0 20px 0;
}

.blogs.upper ul li {
	margin: 0 35px 20px 0;
}
.blogs.upper ul li:nth-child(5n) {
	margin: 0 35px 20px 0;
}
.blogs.upper ul li:nth-child(4n) {
	margin: 0 0 20px 0;
}

.blogs ul.another li {
	margin: 0 8px 0 0;
	width: 200px;
	height: 272px;
	padding: 8px 8px 0 8px;
	border: 2px solid #6A0A0A;
	box-sizing: border-box;
}
.blogs ul.another li:last-child {
	display: table;
	margin: 0;
	padding: 0;
	width: 146px;
	border: none;
	background-color: #FFF7E4;
}
.blogs ul.another li:last-child a {
	display: table-cell;
	color: #FFCC4E;
	font-size: 20px;
	text-decoration: underline;
	text-align: center;
	vertical-align: middle;
}

.blogs ul li .name {
	margin: 0 0 7px 0;
	font-size: 16px;
}

.blogs ul li .name span {
	padding: 6px 10px;
	background-color: #E8DADA;
}

.blogs ul li .image {
	position: relative;
	margin: 0 auto;
	height: 180px;
	background-color: #E6E6E6;
	overflow: hidden;
}

.blogs ul li .image img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 100%;
}

.blogs ul li .new {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 73px;
	height: 44px;
	background: url("../image/new_icon.gif") no-repeat center / 100%;
}

.blogs ul li .date {
	height: 26px;
	line-height: 26px;
	font-size: 12px;
}

.blogs ul li .title {
	height: 26px;
	line-height: 26px;
	font-size: 18px;
}

.blogs .notice {
	margin: 0 0 20px 0;
	padding: 55px 0;
	font-size: 24px;
	text-align: center;
	background-color: #F1F1F1;
}

@media (max-width: 980px) {

	.blog {
		margin: 0 0 10.666666666666668vw 0;
	}

	.blogs .wrapper {
		margin: 0 auto;
		max-width: 89.33333333333333vw
	}

	.blogs.upper .common_heading {
		position: relative;
		top: initial;
		left: initial;
	}

	.blogs.upper .common_heading h2 { 
		margin: 0;
	}

	.blogs.upper ul {
		margin: 0;
	}

	.blogs ul li {
		margin: 0 1.3333333333333335vw 5.333333333333334vw 0;
		width: 44vw;
	}
	.blogs ul li:nth-child(5n) {
		margin: 0 1.3333333333333335vw 5.333333333333334vw 0;
	}
	.blogs ul li:nth-child(2n) {
		margin: 0 0 5.333333333333334vw 0;
	}

	.blogs.upper ul li {
		margin: 0 1.3333333333333335vw 5.333333333333334vw 0;
	}
	.blogs.upper ul li:nth-child(5n) {
		margin: 0 1.3333333333333335vw 5.333333333333334vw 0;
	}
	.blogs.upper ul li:nth-child(4n) {
		margin: 0 0 5.333333333333334vw 0;
	}
	.blogs.upper ul li:nth-child(2n) {
		margin: 0 0 5.333333333333334vw 0;
	}

	.blogs ul.another li {
		margin: 0 1.3333333333333335vw 1.3333333333333335vw 0;
		padding: 2.1333333333333333vw;
		width: 44vw;
		height: auto;
		border: 0.5333333333333333vw solid #6A0A0A;
		box-sizing: border-box;
	}
	.blogs ul.another li:nth-child(2n) {
		margin: 0 0 1.3333333333333335vw 0;
	}
	.blogs ul.another li:last-child {
		display: none;
	}

	.blogs ul li .name {
		margin: 0 0 1.866666666666667vw 0;
		font-size: 4.266666666666667vw;
	}

	.blogs ul li .name span {
		padding: 1.6vw 2.666666666666667vw;
	}

	.blogs ul li .image {
		height: 44vw;
	}

	.blogs ul li .image img {
		width: 100%;
	}

	.blogs ul li .new {
		width: 17.599999999999998vw;
		height: 10.666666666666668vw;
	}

	.blogs ul li .date {
		height: 6.933333333333333vw;
		line-height: 6.933333333333333vw;
		font-size: 3.2vw;
	}

	.blogs ul li .title {
		height: 6.933333333333333vw;
		line-height: 6.933333333333333vw;
		font-size: 4.8vw;
	}

	.blogs .notice {
		margin: 0 0 5.333333333333334vw 0;
		padding: 14.666666666666666vw 0;
		font-size: 4.8vw;
	}

}

/* ===================================== */

.blogs .detailed {
	position: relative;
	margin: 0 0 28px 0;
}

.blogs .detailed .date {
	position: absolute;
	top: -24px;
	right: 0;
	font-size: 16px;
}

.blogs .detailed .title {
	margin: 0 0 28px 0;
	padding: 22px 20px;
	font-size: 24px;
	background-color: #E8DADA;
}

.blogs .detailed .table {
	display: table;
	width: 100%;
}

.blogs .detailed .table .left {
	display: table-cell;
	width: 520px;
	vertical-align: top;
}

.blogs .detailed .table .right {
	display: table-cell;
	vertical-align: top;
}

.blogs .detailed .picture {
	float: left;
	position: relative;
	width: 490px;
	height: 490px;
	overflow: hidden;
}

.blogs .detailed .two .picture {
	width: 245px;
	height: 490px;
}

.blogs .detailed .three .picture {
	width: 245px;
	height: 245px;
}
.blogs .detailed .three .picture:nth-child(1) {
	height: 490px;
}

.blogs .detailed .four .picture {
	width: 245px;
	height: 245px;
}

.blogs .detailed .five .picture {
	width: 163px;
	height: 163px;
}
.blogs .detailed .five .picture:nth-child(1),
.blogs .detailed .five .picture:nth-child(2) {
	width: 245px;
	height: 245px;
}

.blogs .detailed .picture img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.blogs .detailed .picture .movie {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 80px;
	height: 80px;
	background: url("../image/play_icon.png") no-repeat center / 100%;
}

.blogs .detailed p {
	color: #333333;
	font-size: 16px;
}

@media (max-width: 980px) {

	.blogs .detailed {
		margin: 0 0 4.266666666666667vw 0;
	}

	.blogs .detailed .date {
		position: static;
		font-size: 3.733333333333334vw;
	}

	.blogs .detailed .title {
		margin: 0 0 2.666666666666667vw -5.333333333333334vw;
		padding: 1.866666666666667vw 5.333333333333334vw;
		width: 100%;
		font-size: 4.8vw;
	}

	.blogs .detailed .table {
		display: block;
	}

	.blogs .detailed .table .left {
		display: block;
		margin: 0 0 1.866666666666667vw 0;
		width: auto;
	}

	.blogs .detailed .table .right {
		display: block;
		margin: 0 0 4.266666666666667vw 0;
	}

	.blogs .detailed .picture {
		width: 89.33333333333333vw;
		height: 89.33333333333333vw;
	}

	.blogs .detailed .two .picture {
		width: 44.666666666666664vw;
		height: 89.33333333333333vw;
	}

	.blogs .detailed .three .picture {
		width: 44.666666666666664vw;
		height: 44.666666666666664vw;
	}
	.blogs .detailed .three .picture:nth-child(1) {
		height: 89.33333333333333vw;
	}

	.blogs .detailed .four .picture {
		width: 44.666666666666664vw;
		height: 44.666666666666664vw;
	}

	.blogs .detailed .five .picture {
		width: 29.759999999999998vw;
		height: 29.759999999999998vw;
	}
	.blogs .detailed .five .picture:nth-child(1),
	.blogs .detailed .five .picture:nth-child(2) {
		width: 44.666666666666664vw;
		height: 44.666666666666664vw;
	}

	.blogs .detailed .picture .movie {
		width: 14.399999999999999vw;
		height: 14.399999999999999vw;
	}

	.blogs .detailed p {
		font-size: 4.266666666666667vw;
	}

}

#lightcase-overlay,
#lightcase-case {
	z-index: 9999;
}

.lightcase-contentInner {
	position: relative;
}

.lightcase-contentInner img {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 80%;
	max-height: 80%;
}

.lightcase-contentInner video {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 80%;
	max-height: 80%;
}
a.lightcase-icon-play {
	display: none;
}
.lightcase-icon-play:after {
	display: none;
}
.lightcase-icon-play:before {
	display: none;
}

/* ========================================================================== */

.charges {
	margin: 0 0 60px 0;
}

.charges .wrapper {
	margin: 0 auto;
	width: 100%;
	max-width: 978px;
}

.charges .sheet {
	margin: 0 0 25px 0;
	font-size: 16px;
}
.charges section:last-child .sheet {
	margin: 0;
}

.charges .sheet h3 {
	display: inline-block;
	padding: 8px 15px;
	background-color: #FFF7E4;
}

.charges .sheet .heading {
	padding: 11px 15px;
}

.charges .sheet table {
	margin: 0 auto;
	width: 100%;
	vertical-align: middle;
	border-collapse: collapse;
}

.charges .sheet table tr {
	border-top: 1px solid #E8DADA;
	border-bottom: 1px solid #E8DADA;
}

.charges .sheet table tr th {
	padding: 11px 5px 11px 15px;
	width: 50%;
	text-align: left;
}

.charges .sheet table tr td {
	padding: 11px 15px 11px 1px;
	text-align: right;
}

.charges .sheet .capture {
	margin: 11px 0 0 0;
	font-size: 14px;
}

@media (max-width: 980px) {

	.charges {
		margin: 0 0 16vw 0;
	}

	.charges .sheet {
		margin: 0 0 9.333333333333334vw 0;
		font-size: 4.266666666666667vw;
	}

	.charges .sheet h3 {
		display: block;
		padding: 2.1333333333333333vw 0;
		text-align: center;
	}

	.charges .sheet .heading {
		padding: 2.933333333333333vw 5.333333333333334vw;
	}

	.charges .sheet table tr {
		border-top: 0.26666666666666666vw solid #E8DADA;
		border-bottom: 0.26666666666666666vw solid #E8DADA;
	}

	.charges .sheet table tr th {
		display: block;
		padding: 2.933333333333333vw 5.333333333333334vw;
		width: auto;
		background-color: #E8DADA;
		border-bottom: 0.26666666666666666vw solid #E8DADA;
	}

	.charges .sheet table tr td {
		display: block;
		padding: 2.933333333333333vw 5.333333333333334vw;
		text-align: left;
	}

	.charges .sheet .capture {
		margin: 2.933333333333333vw 5.333333333333334vw 0 5.333333333333334vw;
		font-size: 3.733333333333334vw;
	}

}

/* ========================================================================== */

.job {
	margin: 0 0 80px 0;
}

.job .wrapper {
	margin: 0 auto;
	width: 100%;
	max-width: 978px;
}

.job .image {
	position: relative;
	width: 600px;
	height: 450px;
	background-color: #E6E6E6;
	overflow: hidden;
}

.job .image img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 600px;
}

@media (max-width: 980px) {

	.job {
		margin: 0 0 21.333333333333336vw 0;
	}

	.job .wrapper {
		max-width: 89.33333333333333vw;
	}

	.job .image {
		width: 89.33333333333333vw;
		height: 66.66666666666666vw;
	}

	.job .image img {
		max-width: 960px;
		width: 100%;
	}

}

/* ========================================================================== */

.guerrilla  {
	margin: 0 0 50px 0;
}

.guerrilla .banner {
	cursor: pointer;
	display: table;
	position: relative;
	margin: 0 auto;
	padding: 0 20px;
	width: 738px;
	height: 153px;
	background-color: #FFCC4E;
	border: 1px solid #6A0A0A;
}

.guerrilla .banner .requests {
	display: table-cell;
	width: 140px;
	text-align: center;
	vertical-align: middle;
	background-color: #FFFFFF;
}

.guerrilla .banner .requests span {
	display: inline-block;
	height: 100px;
	line-height: 100px;
	color: #FFCC4E;
	font-size: 44px;
	border-top: 3px solid #FFCC4E;
	border-bottom: 3px solid #FFCC4E;
}

.guerrilla .banner .now {
	position: absolute;
	top: 24px;
	left: 180px;
	width: 124px;
	height: 34px;
	line-height: 34px;
	color: #FFFFFF;
	font-size: 24px;
	text-align: center;
	border: 1px solid #FFFFFF;
}

.guerrilla .banner .because {
	display: table-cell;
	vertical-align: middle;
	white-space: nowrap;
}

.guerrilla .banner .because p {
	position: relative;
	padding: 0 20px;
	height: 108px;
	line-height: 108px;
	color: #FFFFFF;
	font-size: 42px;
	overflow: hidden;
}

.guerrilla .banner .because p:after {
	content: '';
	position: absolute;
	bottom: -17px;
	right: 5px;
	width: 30px;
	height: 30px;
	background: linear-gradient(to right, transparent 0, transparent 25px, #FFFFFF 25px, #FFFFFF 100%);
	transform: rotate(-45deg);
}
.guerrilla .banner .because p::before {
	content: '';
	position: absolute;
	bottom: 0;
	right: 5px;
	width: calc(100% - 5px);
	height: 5px;
	background: #FFFFFF;
}

.guerrilla .banner .because p span {
	padding: 0 0 0 10px;
	font-size: 82px;
}

@media (max-width: 980px) {

	.guerrilla  {
		margin: 0 0 10.133333333333333vw 0;
	}

	.guerrilla .banner {
		padding: 0 4vw;
		width: 89.33333333333333vw;
		height: 41.333333333333336vw;
		border: 0.26666666666666666vw solid #6A0A0A;
		box-sizing: border-box;
	}

	.guerrilla .banner .requests {
		display: table;
		position: absolute;
		top: 0;
		left: 5.066666666666666vw;
		width: 16.53333333333333vw;
		height: 13.066666666666665vw;
	}

	.guerrilla .banner .requests p {
		display: table-cell;
		width: 140px;
		vertical-align: middle;
	}

	.guerrilla .banner .requests span {
		display: inline-block;
		height: 8vw;
		line-height: 8vw;
		font-size: 4.266666666666667vw;
		border-top: 0.26666666666666666vw solid #FFCC4E;
		border-bottom: 0.26666666666666666vw solid #FFCC4E;
	}

	.guerrilla .banner .now {
		position: absolute;
		top: 16.266666666666666vw;
		left: 5.066666666666666vw;	
		width: 19.733333333333334vw;
		height: 15.466666666666667vw;
		line-height: 15.466666666666667vw;
		font-size: 4.266666666666667vw;
		border: 0.26666666666666666vw solid #FFFFFF;
	}

	.guerrilla .banner .because p {
		padding: 2.1333333333333333vw 4.8vw 0 24vw;
		height: 28.799999999999997vw;
		line-height: 6.933333333333333vw;
		font-size: 6.933333333333333vw;
	}
	.guerrilla .banner .because p:after {
		bottom: -4.533333333333333vw;
		right: 1.0666666666666667vw;
		width: 8vw;
		height: 8vw;
		background: linear-gradient(to right, transparent 0, transparent 7.199999999999999vw, #FFFFFF 7.199999999999999vw, #FFFFFF 100%);
	}
	.guerrilla .banner .because p::before {
		right: 0.8vw;
		width: calc(100% - 0.8vw);
		height: 0.8vw;
	}

	.guerrilla .banner .because p span {
		display: block;
		padding: 2.666666666666667vw 0 0 0;
		line-height: 16vw;
		font-size: 16vw;
	}

}

/* ===================================== */

.guerrilla .container {
	display: table;
	position: relative;
	padding: 50px 110px;
	width: 760px;
	height: 400px;
	background-color: #FFFFFF;
}

.guerrilla .container .close {
	cursor: pointer;
	position: absolute;
	top: -27px;
	right: -27px;
	width: 48px;
	height: 48px;
	background: #FFFFFF;
	border: 3px solid #707070;
	border-radius: 50%;
}
.guerrilla .container .close::before,
.guerrilla .container .close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4px;
	height: 30px;
	background-color: #707070;
}
.guerrilla .container .close::before {
  transform: translate(-50%, -50%) rotate(45deg);
} 
.guerrilla .container .close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.guerrilla .container h2 {
	position: relative;
	margin: 0 0 83px 0;
	height: 42px;
	line-height: 42px;
	color: #FFCC4E;
	font-size: 42px;
	text-align: center;
}

.guerrilla .container h2:after {
	content: '';
	position: absolute;
	bottom: -28px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 259px;
	height: 0;
	border-bottom: 2px solid #FFCC4E;
}

.guerrilla .container .table {
	display: table;
	width: 100%;
}

.guerrilla .container .left {
	display: table-cell;
	width: 340px;
	vertical-align: top;
}

.guerrilla .container .right {
	display: table-cell;
	vertical-align: top;
}

.guerrilla .container .picture {
	position: relative;
	width: 300px;
	height: 275px;
	text-align: center;
	background-color: #E6E6E6;
	overflow: hidden;
}

.guerrilla .container .picture img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.guerrilla .container .picture .movie {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 80px;
	height: 80px;
	background: url("../image/play_icon.png") no-repeat center / 100%;
}

.guerrilla .container .title {
	color: #333333;
	font-size: 24px;
}

.guerrilla .container dl {
	margin: 16px 0 0 0;
	width: 100%;
}

.guerrilla .container dl dt {
	float: left;
	padding: 5px 0;
	width: 118px;
	color: #FFCC4E;
	font-size: 16px;
	text-align: center;
	border: 1px solid #FFCC4E;
}

.guerrilla .container dl dd {
	float: right;
	padding: 5px 0;
	width: calc(100% - 145px);
	color: #333333;
	font-size: 16px;
}

@media (max-width: 980px) {

	.guerrilla .container {
		display: block;
		padding: 21.333333333333336vw 6.666666666666667vw;
		width: 76vw;
		height: auto;
		max-height: calc(100% - 21.333333333333336vw * 2);
		overflow-y: scroll;
	}

	.guerrilla .container .close {
		position: absolute;
		top: 2.666666666666667vw;
		right: 2.666666666666667vw;
		width: 12.266666666666666vw;
		height: 12.266666666666666vw;
		border: 0.8vw solid #707070;
	}
	.guerrilla .container .close::before,
	.guerrilla .container .close::after {
		width: 0.8vw;
		height: 8vw;
	}

	.guerrilla .container h2 {
		margin: 0 0 7.733333333333333vw 0;
		height: 5.333333333333334vw;
		line-height: 5.333333333333334vw;
		font-size: 5.333333333333334vw;
	}

	.guerrilla .container h2:after {
		bottom: -4.266666666666667vw;
		width: 21.333333333333336vw;
		border-bottom: 0.5333333333333333vw solid #FFCC4E;
	}

	.guerrilla .container .left {
		display: block;
		width: 100%;
	}
	
	.guerrilla .container .right {
		display: block;
	}

	.guerrilla .container .picture {
		margin: 0 0 2.1333333333333333vw 0;
		width: 76vw;
		height: 42.93333333333334vw;
	}

	.guerrilla .container .picture .movie {
		width: 21.333333333333336vw;
		height: 21.333333333333336vw;
	}

	.guerrilla .container .title {
		font-size: 4.8vw;
	}

	.guerrilla .container dl {
		margin: 4.266666666666667vw 0 0 0;
	}

	.guerrilla .container dl dt {
		float: none;
		padding: 1.3333333333333335vw 0;
		width: auto;
		font-size: 4.266666666666667vw;
	}

	.guerrilla .container dl dd {
		float: none;
		padding: 1.3333333333333335vw 0 0 0;
		width: 100%;
		font-size: 4.266666666666667vw;
	}

	.guerrilla .container dl dd.date {
		padding: 2.933333333333333vw 0 0 0;
		text-align: center;
	}

}

/* ========================================================================== */
