@charset "utf-8";

/* cms-label */
#content .cms-label {
	color: #fff;
	font-family: Roboto, sans-serif;
	font-weight: 500;
	line-height: 1;
}
#content .cms-label span {
	background: #e00;
	display: inline-block;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-label {
		margin-bottom: 20px;
	}
	#content .cms-label span {
		font-size: 11px;
		padding: 7px 8px 6px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-label {
		margin-bottom: 15px;
	}
	#content .cms-label span {
		font-size: 12px;
		padding: 6px 10px;
	}
}

/* cms-floor */
#content .cms-floor {
	color: #fff;
	float: left;
	font-family: Roboto, sans-serif;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}
#content .cms-floor span {
	display: block;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-floor {
		margin-bottom: 20px;
		margin-right: 30px;
	}
	#content .cms-floor span {
		background: url(../images/cms/background-floor-01.png);
		font-size: 22px;
		height: 60px;
		padding-top: 15px;
		width: 60px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-floor {
		margin-bottom: 17.5px;
		margin-right: 15px;
	}
	#content .cms-floor span {
		background: url(../images/cms/background-floor-01-sp.png);
		background-size: 40px 40.5px;
		font-size: 16px;
		height: 40.5px;
		padding-top: 8.5px;
		width: 40px;
	}
}

/* cms-logo */
@media screen and (min-width: 751px) { /* pc */
	#content .cms-logo {
		float: right;
		font-size: 0;
		line-height: 0;
		margin-bottom: 30px;
	}
}

/* cms-copy */
#content .cms-copy {
	font-size: 12px;
	line-height: 1;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-copy {
		margin-bottom: 9px;
		padding-top: 3px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-copy {
		margin-bottom: 5px;
		padding-top: 1px;
	}
}

/* cms-h1 */
#content h1.cms {
	font-weight: bold;
}
#content h1.cms:before,
#content h1.cms:after {
	content: "";
	display: block;
	height: 0.001px;
	overflow: hidden;
}
#content .cms-copy + h1.cms {
	margin-bottom: 0;
}
@media screen and (min-width: 751px) { /* pc */
	#content h1.cms {
		font-size: 28px;
		line-height: 45px;
		margin-bottom: 40px;
	}
	#content .cms-floor + h1.cms,
	#content .cms-logo + h1.cms {
		padding-top: 13px;
	}
	#content h1.cms:before {
		margin-bottom: -9px;
	}
	#content h1.cms:after {
		margin-top: -9px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content h1.cms {
		font-size: 20px;
		line-height: 32.5px;
		margin-bottom: 25px;
	}
	#content .cms-floor + h1.cms,
	#content .cms-logo + h1.cms {
		padding-top: 7.5px;
	}
	#content h1.cms:before {
		margin-bottom: -6.5px;
	}
	#content h1.cms:after {
		margin-top: -6.5px;
	}
}

/* cms-new */
#content .cms-new {
	color: #fff;
	font-family: Roboto, sans-serif;
	font-weight: 500;
	line-height: 1;
	position: relative;
	text-align: right;
	z-index: 1;
}
#content .cms-new span {
	display: inline-block;
	text-align: center;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-new {
		margin-bottom: -60px;
		margin-right: -10px;
		top: -10px;
	}
	#content .cms-new span {
		background: url(../images/cms/background-new-01.png);
		font-size: 16px;
		height: 60px;
		padding-top: 17px;
		width: 60px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-new {
		margin-bottom: -40.5px;
		margin-right: -5px;
		top: -5px;
	}
	#content .cms-new span {
		background: url(../images/cms/background-new-01-sp.png);
		background-size: 40px 40.5px;
		font-size: 12px;
		height: 40.5px;
		padding-top: 10.5px;
		width: 40px;
	}
}

/* cms-visual */
@keyframes cms-visual-slick-arrow-1 {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translateX(-10px);
	}
}
@keyframes cms-visual-slick-arrow-2 {
	0% {
		opacity: 0;
		transform: translateX(10px);
	}
	100% {
		opacity: 1;
	}
}
#content .cms-visual {
	clear: both;
	color: #fff;
	opacity: 0;
	position: relative;
	transition: opacity 0.5s;
}
#content .cms-visual.slick-initialized {
	opacity: 1;
}
#content .cms-visual .item {
	outline: none;
	position: relative;
}
#content .cms-visual .image:not(:last-child) {
	position: relative;
}
#content .cms-visual .image:not(:last-child):after {
	background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
	bottom: 0;
	content: "";
	display: block;
	left: 0;
	opacity: 0.5;
	position: absolute;
	width: 100%;
	z-index: 10;
}
#content .cms-visual img {
	height: auto;
	width: 100%;
}
#content .cms-visual .caption {
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 10;
}
#content .cms-visual .slick-dots {
	bottom: -20px;
	font-size: 0;
	left: 0;
	line-height: 0;
	position: absolute;
	text-align: center;
	width: 100%;
}
#content .cms-visual .slick-dots li {
	display: inline-block;
	overflow: hidden;
}
#content .cms-visual .slick-dots button {
	background: #ddd;
	border: none;
	border-radius: 100%;
	cursor: pointer;
	display: block;
	height: 10px;
	outline: none;
	padding: 0;
	text-indent: -999em;
	transition: background 0.25s;
	width: 10px;
}
body.js-non-touch-device #content .cms-visual .slick-dots button:hover,
#content .cms-visual .slick-dots .slick-active button {
	background: #e00;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-visual {
		width: 700px;
	}
	#content .cms-visual:not(.slick-dotted) {
		margin-bottom: 30px;
	}
	#content .cms-visual.slick-dotted {
		margin-bottom: 50px;
	}
	#content .cms-visual .image:after {
		height: 68px;
	}
	#content .cms-visual .caption {
		padding-bottom: 15px;
		padding-left: 20px;
		padding-right: 20px;
	}
	#content .cms-visual .slick-arrow {
		background: transparent;
		border: none;
		cursor: pointer;
		display: block;
		font-size: 0;
		height: 100%;
		line-height: 0;
		opacity: 0;
		outline: none;
		overflow: visible;
		padding: 0;
		position: absolute;
		text-indent: -999em;
		top: 0;
		transition: opacity 0.25s;
		width: 60px;
		z-index: 1;
	}
	body.js-non-touch-device #content .cms-visual:hover .slick-arrow {
		opacity: 1;
	}
	#content .cms-visual .slick-arrow:before {
		background-image: url(../images/jquery.slick/icon-01.png);
		content: "";
		display: block;
		height: 38px;
		left: 50%;
		margin-left: -10px;
		margin-top: -19px;
		position: absolute;
		top: 50%;
		width: 20px;
	}
	.js-non-touch-device #content .cms-visual .slick-arrow:hover:before {
		animation: cms-visual-slick-arrow-1 0.25s, cms-visual-slick-arrow-2 0.25s 0.25s;
	}
	#content .cms-visual .slick-prev {
		left: 0;
	}
	#content .cms-visual .slick-next {
		right: 0;
		transform: translateY(0%) rotate(180deg);
	}
	#content .cms-visual .slick-dots li:not(:last-child) {
		margin-right: 15px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-visual:not(.slick-dotted) {
		margin-bottom: 20px;
	}
	#content .cms-visual.slick-dotted {
		margin-bottom: 40px;
	}
	#content .cms-visual .image:not(:last-child):after {
		height: 70px;
	}
	#content .cms-visual .caption {
		font-size: 12px;
		line-height: 20px;
		padding-bottom: 10.5px;
		padding-left: 15px;
		padding-right: 15px;
	}
	#content .cms-visual .slick-dots li:not(:last-child) {
		margin-right: 12.5px;
	}
}

/* cms-announcement */
#content .cms-announcement th,
#content .cms-announcement td {
	background: #fef2f2;
}
#content .cms-announcement th {
	color: #e00;
	font-weight: bold;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-announcement {
		font-size: 16px;
		line-height: 30px;
		margin-bottom: 50px;
		width: 100%;
	}
	#content .cms-announcement th,
	#content .cms-announcement td {
		padding-bottom: 10px;
		padding-top: 10px;
	}
	#content .cms-announcement th:not(:empty) {
		padding-left: 20px;
		padding-right: 10px;
		white-space: nowrap;
	}
	#content .cms-announcement td {
		padding-left: 20px;
		padding-right: 20px;
	}
	#content .cms-announcement th:not(:empty) + td {
		width: 99%;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-announcement,
	#content .cms-announcement tbody,
	#content .cms-announcement tr,
	#content .cms-announcement tr > * {
		display: block;
	}
	#content .cms-announcement {
		margin-bottom: 40px;
	}
	#content .cms-announcement th,
	#content .cms-announcement td {
		padding-left: 20px;
		padding-right: 20px;
	}
	#content .cms-announcement th:not(:empty) {
		padding-top: 14.5px;
		padding-bottom: 9px;
	}
	#content .cms-announcement td {
		padding-bottom: 14.5px;
	}
	#content .cms-announcement th:empty + td {
		padding-top: 14.5px;
	}
}

/* cms-category */
#content .cms-category {
	color: #9b7432;
	line-height: 1;
	overflow: hidden;
}
#content .cms-announcement + .cms-category {
	margin-top: -20px;
}
#content .cms-category li {
	background: #fcf8f0;
	border: 1px solid #e2cdaa;
	border-radius: 1000px;
	display: block;
	float: left;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-category {
		font-size: 16px;
		margin-bottom: 20px;
		margin-right: -5px;
	}
	#content .cms-category li {
		margin-bottom: 10px;
		margin-right: 5px;
		padding: 7px 19px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-category {
		font-size: 13px;
		margin-bottom: 14px;
		margin-right: -4px;
	}
	#content .cms-category li {
		margin-right: 4px;
		margin-bottom: 6px;
		padding: 6px 14px 6px;
	}
}

/* cms-data */
#content .cms-data,
#content .cms-data th {
	font-weight: bold;
}
#content .cms-data {
	width: 100%;
}
#content .cms-data th,
#content .cms-data td {
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
}
#content .cms-data th {
	white-space: nowrap;
}
#content .cms-data td {
	width: 99%;
}
#content .cms-data ul {
	margin-bottom: 0;
}
#content .cms-data ul:before,
#content .cms-data ul:after {
	display: none;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-data {
		font-size: 16px;
		line-height: 30px;
		margin-bottom: 50px;
	}
	#content .cms-data th,
	#content .cms-data td {
		padding-bottom: 9px;
		padding-top: 10px;
	}
	#content .cms-data th {
		padding-right: 40px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-data {
		margin-bottom: 40px;
	}
	#content table.cms-data th,
	#content table.cms-data td {
		padding-bottom: 7.5px;
		padding-top: 7.5px;
	}
	#content .cms-data th {
		padding-right: 25px;
	}
}

/* cms-h2 */
#content h2.cms {
	font-weight: bold;
}
#content h2.cms:before,
#content h2.cms:after {
	content: "";
	display: block;
	height: 0.001px;
	overflow: hidden;
}
@media screen and (min-width: 751px) { /* pc */
	#content h2.cms {
		font-size: 22px;
		line-height: 36px;
		margin-bottom: 50px;
	}
	#content h2.cms:before {
		margin-bottom: -7.5px;
	}
	#content h2.cms:after {
		margin-top: -7.5px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content h2.cms {
		font-size: 20px;
		line-height: 32.5px;
		margin-bottom: 40px;
	}
	#content h2.cms:before {
		margin-bottom: -6.5px;
	}
	#content h2.cms:after {
		margin-top: -6.5px;
	}
}

/* cms-p */
#content p.cms:before,
#content p.cms:after {
	content: "";
	display: block;
	height: 0.001px;
	overflow: hidden;
}
@media screen and (min-width: 751px) { /* pc */
	#content p.cms {
		font-size: 16px;
		line-height: 30px;
		margin-bottom: 50px;
	}
	#content p.cms:before {
		margin-bottom: -7.5px;
	}
	#content p.cms:after {
		margin-top: -7.5px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content p.cms {
		margin-bottom: 40px;
	}
	#content p.cms:before {
		margin-bottom: -5.5px;
	}
	#content p.cms:after {
		margin-top: -5.5px;
	}
}

/* cms-h3 */
#content h3.cms {
	font-weight: bold;
}
#content h3.cms:before,
#content h3.cms:after {
	content: "";
	display: block;
	height: 0.001px;
	overflow: hidden;
}
@media screen and (min-width: 751px) { /* pc */
	#content h3.cms {
		font-size: 18px;
		line-height: 32px;
		margin-bottom: 50px;
	}
	#content h3.cms:before {
		margin-bottom: -7.5px;
	}
	#content h3.cms:after {
		margin-top: -7.5px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content h3.cms {
		font-size: 17.5px;
		line-height: 27.5px;
		margin-bottom: 40px;
	}
	#content h3.cms:before {
		margin-bottom: -5.5px;
	}
	#content h3.cms:after {
		margin-top: -5.5px;
	}
}

/* cms-link */
#content .cms-link {
	margin-bottom: 20px;
}
#content .cms-link:before,
#content .cms-link:after {
	content: "";
	display: block;
	height: 0.001px;
	overflow: hidden;
}
#content .cms-link [target] i {
	background: url(../images/content/icon-link-01.png) 0 -100%;
	background-size: 11px 22px;
	display: inline-block;
	height: 11px;
	width: 11px;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-link {
		font-size: 16px;
		line-height: 30px;
		margin-bottom: 50px;
	}
	#content .cms-link:before {
		margin-bottom: -7.5px;
	}
	#content .cms-link:after {
		margin-top: -7.5px;
	}
	#content .cms-link [target] i {
		margin-left: 8px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-link {
		margin-bottom: 40px;
		word-break: break-all;
	}
	#content .cms-link:before {
		margin-bottom: -5.5px;
	}
	#content .cms-link:after {
		margin-top: -5.5px;
	}
	#content .cms-link [target] i {
		margin-left: 6px;
	}
}

/* cms-image */
#content .cms-image .image {
	font-size: 0;
	line-height: 0;
}
#content .cms-image img {
	height: auto;
	width: 100%;
}
#content .cms-image .caption {
	position: relative;
}
#content .cms-image .caption:after {
	content: "";
	display: block;
	overflow: hidden;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-image {
		margin-bottom: 50px;
		margin-left: -15px;
		margin-right: -15px;
	}
	#content .cms-image:before,
	#content .cms-image:after {
		content: "";
		display: block;
	}
	#content .cms-image:before {
		margin-bottom: -30px;
	}
	#content .cms-image:after {
		clear: both;
	}
	#content .cms-image .item {
		float: left;
		margin-top: 30px;
		padding-left: 15px;
		padding-right: 15px;
	}
	#content .cms-image .item:not(:only-child) {
		width: 50%;
	}
	#content .cms-image .item:nth-child(2n+1) {
		clear: left;
	}
	#content .cms-image .image:not(:last-child) {
		margin-bottom: 7px;
	}
	#content .cms-image .caption {
		font-size: 14px;
		line-height: 23px;
	}
	#content .cms-image .caption:after {
		margin-top: -5px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-image {
		margin-bottom: 40px;
	}
	#content .cms-image .item:not(:last-child) {
		margin-bottom: 20px;
	}
	#content .cms-image .image:not(:last-child) {
		margin-bottom: 6px;
	}
	#content .cms-image .caption {
		font-size: 12px;
		line-height: 20px;
	}
	#content .cms-image .caption:after {
		margin-top: -5px;
	}
}

/* cms-table */
#content table.cms tr:nth-child(odd) > * {
	background: #f3f3f3;
}
#content table.cms tr:nth-child(even) > * {
	background: #f9f9f9;
}
#content table.cms th {
	font-weight: bold;
}
@media screen and (min-width: 751px) { /* pc */
	#content table.cms {
		font-size: 16px;
		line-height: 30px;
		margin-bottom: 50px;
		width: 100%;
	}
	#content table.cms th,
	#content table.cms td {
		padding-bottom: 10px;
		padding-top: 10px;
	}
	#content table.cms th {
		padding-left: 20px;
		padding-right: 30px;
		white-space: nowrap;
	}
	#content table.cms td {
		padding-right: 20px;
		width: 99%;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content table.cms {
		margin-bottom: 40px;
	}
	#content table.cms,
	#content table.cms tbody,
	#content table.cms tr,
	#content table.cms th,
	#content table.cms td {
		display: block;
	}
	#content table.cms th,
	#content table.cms td {
		padding-left: 20px;
		padding-right: 20px;
	}
	#content table.cms th {
		padding-top: 14.5px;
		padding-bottom: 9px;
	}
	#content table.cms td {
		padding-bottom: 14.5px;
	}
	#content table.cms td:empty {
		padding-bottom: 3px;
	}
}

/* cms-ol */
#content ol.cms:before,
#content ol.cms:after {
	content: "";
	display: block;
	height: 0.001px;
	overflow: hidden;
}
#content ol.cms li {
	counter-increment: c;
	padding-left: 32px;
	position: relative;
}
#content ol.cms li:before {
	content: counter(c) ".";
	display: block;
	font-weight: bold;
	left: 0;
	position: absolute;
	top: 0;
}
@media screen and (min-width: 751px) { /* pc */
	#content ol.cms {
		font-size: 16px;
		line-height: 30px;
		margin-bottom: 50px;
	}
	#content ol.cms:before {
		margin-bottom: -7.5px;
	}
	#content ol.cms:after {
		margin-top: -7.5px;
	}
	#content ol.cms li {
		padding-left: 32px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content ol.cms {
		margin-bottom: 40px;
	}
	#content ol.cms:before {
		margin-bottom: -5.5px;
	}
	#content ol.cms:after {
		margin-top: -5.5px;
	}
	#content ol.cms li {
		padding-left: 25px;
	}
}

/* cms-information */
#content .cms-information .item:nth-child(odd) {
	background: #f3f3f3;
}
#content .cms-information .item:nth-child(even) {
	background: #f9f9f9;
}
#content .cms-information .image {
	font-size: 0;
	line-height: 0;
}
#content .cms-information img {
	height: auto;
}
#content .cms-information .text > :not(:last-child) {
	margin-bottom: 30px;
}
#content .cms-information .text > :last-child {
	margin-bottom: 0;
}
#content .cms-information .text p:before,
#content .cms-information .text p:after {
	content: "";
	display: block;
	height: 0.001px;
	overflow: hidden;
}
#content .cms-information .title {
	font-weight: bold;
}
@media screen and (min-width: 751px) { /* pc */
	#content .cms-information {
		font-size: 16px;
		line-height: 30px;
		margin-bottom: 50px;
	}
	#content .cms-information .item {
		display: table;
		padding: 30px;
		width: 100%;
	}
	#content .cms-information .item > * {
		display: table-cell;
		vertical-align: top;
	}
	#content .cms-information .image {
		padding-right: 30px;
	}
	#content .cms-information .image img {
		width: 150px;
	}
	#content .cms-information .text:not(:first-child) {
		width: 99%;
	}
	#content .cms-information .text p:before {
		margin-bottom: -7.5px;
	}
	#content .cms-information .text p:after {
		margin-top: -7.5px;
	}
	#content .cms-information .title {
		font-size: 18px;
		line-height: 32px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content .cms-information {
		margin-bottom: 40px;
	}
	#content .cms-information .item {
		padding: 30px 20px;
	}
	#content .cms-information .item > * {
		display: block;
	}
	#content .cms-information .image {
		margin-bottom: 30px;
		text-align: center;
	}
	#content .cms-information img {
		width: 180px;
	}
	#content .cms-information .text p:before {
		margin-bottom: -5.5px;
	}
	#content .cms-information .text p:after {
		margin-top: -5.5px;
	}
	#content .cms-information .title {
		font-size: 17.5px;
		line-height: 27.5px;
	}
}

/* cms-hr */
#content hr.cms {
	border: 0;
	border-top: 1px solid #ddd;
}
@media screen and (min-width: 751px) { /* pc */
	#content hr.cms {
		margin-bottom: 50px;
		margin-top: 50px;
	}
}
@media screen and (max-width: 750px) { /* sp */
	#content hr.cms {
		margin-bottom: 40px;
		margin-top: 40px;
	}
}
