@charset "UTF-8";

html {
		font-size: 62.5%;
		overflow-x: hidden; }

body {
		background: #fff;
		font-family: heisei-maru-gothic-std,"Noto Sans JP", "-apple-system", BlinkMacSystemFont, "Helvetica Neue", Roboto, "Droid Sans", Arial, "Yu Gothic", YuGothic, Meiryo, sans-serif;
		line-height: 1.4;
		color: #3c3c3c;
		height: auto !important;
		overflow: hidden; }

main {
		overflow: hidden; }

figure {
		margin: 0;
		text-align: center; }
		figure figcaption {
				margin-top: 0.5em;
				text-align: left; }

a {
		color: #3c3c3c;
		text-decoration: underline; }
		a:hover {
				color: #7d2138;
				text-decoration: none; }
		.highlight a {
				color: #3c3c3c; }
				.highlight a:hover {
						color: #7d2138; }

img {
		vertical-align: middle; }
		img.circle {
				border-radius: 50%; }

p {
		margin: 0.5em 0 1em; }
		p:first-child {
				margin-top: 0; }
		p:last-child {
				margin-bottom: 0; }

ol,
ul {
		margin: 0 0 1em;
		padding: 0;
		line-height: 1.6; }
		ol:last-child,
		ul:last-child {
				margin-bottom: 0; }
		ol ol,
		ol ul,
		ul ol,
		ul ul {
				margin: 0.5em 0;
				padding-left: 2em; }
				ol ol:last-child,
				ol ul:last-child,
				ul ol:last-child,
				ul ul:last-child {
						margin-bottom: 0.5em; }

ul.list-unstyled {
		padding-left: 0;
		list-style: none; }
		ul.list-unstyled ol,
		ul.list-unstyled ul {
				padding-left: 2em; }

ul.list-inline {
		margin-bottom: 15px; }

dl {
		margin: 0 0 1em;
		line-height: 1.6; }
		dl:last-child {
				margin-bottom: 0; }
		dl dt {
				font-weight: bold; }
		dl dd {
				margin-left: 0;
				margin-bottom: 0.5em; }
				dl dd:last-child {
						margin-bottom: 0; }

table {
		border-collapse: collapse;
		border-spacing: 0; }

td,
th {
		padding: 0; }

main section {
		margin-bottom: 10%; }
		main section.highlight:last-child {
				margin-bottom: 0;
				padding-bottom: 10%; }

.sp-mask {
		transition: none !important; }

.highlight {
		padding: 4% 0;
		background: #fffef3;
		color: #3c3c3c; }

#swipebox-overlay {
		z-index: 10000002 !important; }

@media (min-width: 768px) {
		p {
				margin: 0.5em 0 1em; }
		dl.dl-horizontal {
				overflow: hidden; }
				dl.dl-horizontal dt {
						float: left;
						clear: left;
						margin-right: 1em; }
				dl.dl-horizontal dd {
						float: left; }
		main section {
				margin-bottom: 5%; }
				main section:last-child {
						margin-bottom: 7%; }
				main section.highlight:last-child {
						margin-bottom: 0;
						padding-bottom: 7%; } }

@media (max-width: 767px) {
		.tile:not(.sp-tile) > * {
				height: auto !important; } }

@media (min-width: 768px) {
		.gutters .row.row_inline {
				letter-spacing: -.40em; }
				.gutters .row.row_inline > .col {
						letter-spacing: normal;
						vertical-align: top;
						display: inline-block;
						float: none;
						margin-bottom: 5%; }
				.gutters .row.row_inline .span_1:nth-child(12n+1) {
						margin-left: 0; }
				.gutters .row.row_inline .span_2:nth-child(6n+1) {
						margin-left: 0; }
				.gutters .row.row_inline .span_3:nth-child(4n+1) {
						margin-left: 0; }
				.gutters .row.row_inline .span_4:nth-child(3n+1) {
						margin-left: 0; }
				.gutters .row.row_inline .span_5:nth-child(2n+1) {
						margin-left: 0; }
				.gutters .row.row_inline .span_6:nth-child(2n+1) {
						margin-left: 0; }
				.gutters .row.row_inline .span_7 {
						width: 57.5%; }
				.gutters .row.row_inline .span_8 {
						width: 66%; }
				.gutters .row.row_inline .span_9 {
						width: 74.5%; }
				.gutters .row.row_inline .span_10 {
						width: 83%; }
				.gutters .row.row_inline .span_11 {
						width: 91.5%; }
				.gutters .row.row_inline .span_12 {
						width: 100%; } }

main .column_main,
main .column_sub {
		overflow: hidden;
		min-height: 100px; }
		main .column_main .widget_header,
		main .column_sub .widget_header {
				font-size: 18px;
				font-size: 1.8rem;
				padding: 0.5em;
				margin-bottom: 0; }
				main .column_main .widget_header + *:not(.calendar_wrap),
				main .column_sub .widget_header + *:not(.calendar_wrap) {
						padding: 0;
						margin: 0 auto 1em; }
				main .column_main .widget_header + .epress_search,
				main .column_main .widget_header + .textwidget,
				main .column_sub .widget_header + .epress_search,
				main .column_sub .widget_header + .textwidget {
						padding: 10px 0; }
		main .column_main .widget_wrap .menu,
		main .column_main .widget_wrap > ul,
		main .column_sub .widget_wrap .menu,
		main .column_sub .widget_wrap > ul {
				margin: 0;
				padding: 0;
				list-style: none; }
				main .column_main .widget_wrap .menu ul,
				main .column_main .widget_wrap > ul ul,
				main .column_sub .widget_wrap .menu ul,
				main .column_sub .widget_wrap > ul ul {
						margin: 0;
						padding: 0;
						list-style: none; }
				main .column_main .widget_wrap .menu li,
				main .column_main .widget_wrap > ul li,
				main .column_sub .widget_wrap .menu li,
				main .column_sub .widget_wrap > ul li {
						padding: 0.5em 0.7em;
						border-bottom: 1px solid #ccc; }
						main .column_main .widget_wrap .menu li:last-child,
						main .column_main .widget_wrap > ul li:last-child,
						main .column_sub .widget_wrap .menu li:last-child,
						main .column_sub .widget_wrap > ul li:last-child {
								border-bottom: 0; }
						main .column_main .widget_wrap .menu li a,
						main .column_main .widget_wrap > ul li a,
						main .column_sub .widget_wrap .menu li a,
						main .column_sub .widget_wrap > ul li a {
								display: block;
								text-decoration: none; }
								main .column_main .widget_wrap .menu li a:hover,
								main .column_main .widget_wrap > ul li a:hover,
								main .column_sub .widget_wrap .menu li a:hover,
								main .column_sub .widget_wrap > ul li a:hover {
										text-decoration: underline; }
		main .column_main .widget_wrap ul > li.page_item,
		main .column_sub .widget_wrap ul > li.page_item {
				border-bottom: #ccc solid 1px; }
				main .column_main .widget_wrap ul > li.page_item.page_item_has_children,
				main .column_sub .widget_wrap ul > li.page_item.page_item_has_children {
						padding: 0.5em 0.7em 0.2em !important; }
				main .column_main .widget_wrap ul > li.page_item .children,
				main .column_sub .widget_wrap ul > li.page_item .children {
						border-top: #eee solid 1px;
						margin: 0.5em 0 0 !important; }
						main .column_main .widget_wrap ul > li.page_item .children li,
						main .column_sub .widget_wrap ul > li.page_item .children li {
								font-weight: normal;
								border-bottom: #eee solid 1px;
								font-size: 96%;
								padding: 0.5em 0.7em 0.5em 1em;
								position: relative; }
								main .column_main .widget_wrap ul > li.page_item .children li:before,
								main .column_sub .widget_wrap ul > li.page_item .children li:before {
										content: "";
										position: absolute;
										left: 0;
										top: 15px;
										width: 5px;
										height: 5px;
										background: rgba(54, 46, 43, 0.4);
										border-radius: 2.5px; }
								main .column_main .widget_wrap ul > li.page_item .children li li:before,
								main .column_sub .widget_wrap ul > li.page_item .children li li:before {
										content: "";
										position: absolute;
										left: 0;
										top: 14px;
										width: 5px;
										height: 5px;
										background: rgba(54, 46, 43, 0.15);
										border-radius: 0; }

@media (max-width: 900px) {
		.gutters .span_3.column_sub,
		.gutters .span_9.column_main {
				float: none;
				width: 100%;
				margin-left: 0; } }

@media (min-width: 600px) and (max-width: 900px) {
		.gutters .span_3.column_sub .sidebar {
				letter-spacing: -.40em; }
				.gutters .span_3.column_sub .sidebar .widget_wrap {
						letter-spacing: normal;
						display: inline-block;
						vertical-align: top;
						width: 49%;
						margin-left: 2%; }
						.gutters .span_3.column_sub .sidebar .widget_wrap:nth-child(2n+1) {
								margin-left: 0; } }

@media (min-width: 768px) {
		.container {
				max-width: 1200px; } }

@media (min-width: 1024px) {
		.container {
				padding: 0 10px; } }

.article_button {
		margin-top: 5%; }

@media (min-width: 768px) {
		.article_detail:not(.reverse) .col.span_12 + .span_4,
		.article_list:not(.reverse) .col.span_12 + .span_4 {
				margin-left: 0; }
		.article_detail.reverse .col.span_12,
		.article_list.reverse .col.span_12 {
				margin-left: 0; } }

.sidebar {
		visibility: hidden; }
		.sidebar > .widget_wrap {
				visibility: visible; }

.gutters .col.span_12 + .span_12 {
		margin-left: 0; }

.sitemap {
		padding: 0;
		margin: 0;
		border-top: 1px solid #ccc; }
		.sitemap li {
				list-style: none;
				padding: 10px 0 10px 15px;
				border-bottom: 1px solid #ccc; }
				.sitemap li > ul {
						padding: 0;
						border-top: #ccc solid 1px; }
						.sitemap li > ul > li {
								border-bottom: 1px solid #ccc;
								position: relative; }
								.sitemap li > ul > li:before {
										content: "";
										position: absolute;
										left: 0;
										top: 25px;
										width: 6px;
										height: 6px;
										background: #ccc;
										border-radius: 3px; }
								.sitemap li > ul > li:last-child {
										border-bottom: none;
										padding: 10px 0 0 15px; }
								.sitemap li > ul > li .children > li {
										padding: 10px 0 0 15px; }
										.sitemap li > ul > li .children > li:before {
												content: "";
												position: absolute;
												left: 0;
												top: 25px;
												width: 6px;
												height: 6px;
												background: #ccc;
												border-radius: 0; }
		.sitemap a {
				font-size: 16px;
				font-size: 1.6rem;
				text-decoration: none; }
				.sitemap a:hover {
						text-decoration: underline; }

@media (min-width: 768px) {
		.sitemap a {
				font-size: 22px;
				font-size: 2.2rem; } }

.parallax_h1 {
		height: 250px;
		position: relative; }
		.parallax_h1:before {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				margin: auto;
				background: rgba(0, 0, 0, 0.3); }
		.parallax_h1 h1 {
				color: #fff; }
				.parallax_h1 h1:after, .parallax_h1 h1:before {
						background: #fff; }

@media (min-width: 768px) {
		.parallax_h1 {
				height: 450px; } }

.map_wide #map_canvas,
.map_wide iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%; }

.map_wide img {
		max-width: none; }

.slick-track {
		margin: 0 auto; }

.col dl p {
		line-height: 1.4;
		margin: 0; }

.col p {
		line-height: 1.8; }

.container {
		padding: 0 10px; }
		@media (min-width: 1220px) {
				.container {
						padding: 0; } }
		.container .container {
				padding: 0; }

#fb-root,
.fb-page {
		font-family: "lucida grande", tahoma, verdana, arial, "hiragino kaku gothic pro",meiryo,"ms pgothic",sans-serif !important; }

#swipebox-overlay {
		background: rgba(13, 13, 13, 0.8); }

.ei {
		font-family: 'epress';
		-moz-osx-font-smoothing: grayscale;
		-webkit-font-smoothing: antialiased;
		display: inline-block;
		font-style: normal;
		font-variant: normal;
		text-rendering: auto;
		line-height: 1;
		font-size: 13px;
		font-size: 1.3rem; }
		.ei.ei_triangle:before {
				content: '\e915'; }
		.ei.ei_triangle_s:before {
				content: '\e916'; }
		.ei.ei_circle:before {
				content: '\e917'; }
		.ei.ei_circle_s:before {
				content: '\e918'; }
		.ei.ei_circle_d:before {
				content: '\e919'; }
		.ei.ei_square:before {
				content: '\e91a'; }
		.ei.ei_square_s:before {
				content: '\e91b'; }
		.ei.ei_times:before {
				content: '\e91c'; }
		.ei.ei_star:before {
				content: '\e91d'; }
		.ei.ei_star_s:before {
				content: '\e91e'; }


@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 100; }

@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 200; }

@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 300; }

@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 400; }

@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Bold");
		font-weight: bold; }

@font-face {
		font-family: "Helvetica Neue";
		src: local("Helvetica Neue Regular");
		font-weight: 100; }

@font-face {
		font-family: "Helvetica Neue";
		src: local("Helvetica Neue Regular");
		font-weight: 200; }

@font-face {
		font-family: 'epress';
		src: url("fonts/icomoon.eot?uvj346");
		src: url("fonts/icomoon.eot?uvj346#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?uvj346") format("truetype"), url("fonts/icomoon.woff?uvj346") format("woff"), url("fonts/icomoon.svg?uvj346#icomoon") format("svg");
		font-weight: normal;
		font-style: normal; }

footer {
		position: relative; }
		footer nav {
				text-align: center; }
				footer nav ul {
						margin: 0;
						padding: 0;
						list-style: none; }
						footer nav ul li + li {
								border-top: 1px solid #b3b3b3; }
				footer nav a {
						display: block;
						padding: 0.7em 0;
						text-decoration: none; }
						footer nav a:hover {
								text-decoration: underline; }
		footer .footer_copyright_wrap {
				text-align: center; }

@media (max-width: 767px) {
		.footer_nav_wrap {
				background-color: rgba(0, 152, 68, 0.1); } }

@media (min-width: 768px) {
		.footer_nav_wrap {
				padding-top: 5em;
				padding-bottom: 4em;
				background-color: #009844; }
		footer .row:not(:last-child) {
				margin-bottom: 5px; }
		footer nav {
				text-align: center; }
				footer nav ul {
						margin: 0;
						padding: 0;
						list-style: none;
						font-size: 0px;
						font-size: 0rem;
						white-space: normal; }
						footer nav ul > li {
								display: inline;
								padding-left: 0;
								padding-right: 0;
								white-space: nowrap;
								font-size: 15px;
								font-size: 1.5rem; }
						footer nav ul li {
								line-height: 1.5;
								white-space: normal; }
								footer nav ul li + li {
										border: 0; }
								footer nav ul li:not(:first-child):before {
										content: "|";
										color: #fff;
										margin-right: 0.25em;
										margin-left: 0.25em; }
				footer nav a {
						display: inline;
						padding: 0;
						font-size: 14px;
						color: #fff; }
						footer nav a:hover {
								color: #fff; } }

@media (min-width: 768px) and (max-width: 1023px) {
		footer nav ul li.tablet-break:after {
				content: "\A";
				white-space: pre; }
		footer nav ul li.tablet-break + li:before {
				display: none; } }

/*
* フッターパターンA(footer pattern A)
*/
footer {
		background: #009844;
		color: #fff; }
		footer a {
				color: #fff; }
				footer a:hover {
						color: #fff; }
		@media (min-width: 768px) {
				footer div .row .col {
						float: none;
						width: 100%; }
				footer div .row nav ul {
						display: inline-block; }
				footer div .row nav a {
						display: inline-block;
						padding: 0.3em; } }

header {
		position: relative;
		z-index: 100;
		width: 100%;
		background: #fff;
		color: #3c3c3c; }
		header .row {
				margin: 0 3%; }
		@media (max-width: 767px) {
				header .container .row {
						margin: 0; } }
		header .title {
				margin: 0;
				padding: 10px 0;
				line-height: 1; }
				header .title a {
						display: inline-block; }
				header .title img,
				header .title object {
						width: 200px;
						height: 127px;
						max-width: none; }
						@media (max-width: 600px) {
								header .title img,
								header .title object {
										width: 200px;
										height: 127px;
										min-height: 45px; } }
		header .global_nav > ul {
				position: absolute;
				z-index: -1;
				top: 100%;
				left: 0;
				right: 0;
				margin: auto;
				width: 100%;
				overflow: auto;
				-webkit-overflow-scrolling: touch;
				margin: 0;
				padding: 0;
				list-style: none;
				border-top: 1px solid #ccc; }
				@media (min-width: 768px) {
						header .global_nav > ul {
								left: auto;
								width: 50%;
								max-width: 400px; } }
				header .global_nav > ul > li a {
						display: block;
						padding: 1em;
						text-decoration: none;
						color: #fff;
						background: rgba(125, 33, 56, 0.9); }
						header .global_nav > ul > li a:active {
								background: #7d2138;
								color: #fff; }
				header .global_nav > ul > li > a {
						background: rgba(125, 33, 56, 0.9); }
		header .global_nav .menu_icon {
				position: absolute;
				top: 50%;
				right: 5%;
				transform: translateY(-50%);
				z-index: 100; }
				header .global_nav .menu_icon a {
						position: relative;
						display: block;
						width: 20px;
						height: 20px;
						padding: 0;
						transition: transform 0.3s;
						overflow: hidden; }
						header .global_nav .menu_icon a:after, header .global_nav .menu_icon a:before {
								content: "";
								display: block;
								position: absolute;
								left: 0;
								right: 0;
								margin: auto;
								width: 100%;
								height: 4px;
								background: #000;
								transition: transform 0.5s; }
						header .global_nav .menu_icon a:before {
								top: 0; }
						header .global_nav .menu_icon a:after {
								bottom: 0; }
						header .global_nav .menu_icon a span {
								position: absolute;
								top: 50%;
								transform: translate(0, -50%);
								left: 0;
								right: 0;
								margin: auto;
								width: 100%;
								height: 4px;
								background: #000;
								transition: transform 0.5s;
								overflow: hidden;
								text-indent: 100%;
								white-space: nowrap; }
						header .global_nav .menu_icon a.close:not(.fix) {
								background: none; }
								header .global_nav .menu_icon a.close:not(.fix):before {
										top: 50%;
										transform: translate(0, -50%) rotate(45deg);
										background: #000; }
								header .global_nav .menu_icon a.close:not(.fix):after {
										bottom: 50%;
										transform: translate(0, 50%) rotate(-45deg);
										background: #000; }
								header .global_nav .menu_icon a.close:not(.fix) span {
										transform: translate(100%, -50%); }
		header .global_nav > ul {
				transform-origin: center top;
				visibility: hidden;
				transition: transform 0.3s;
				transform: rotateX(90deg); }
		header.menu_open .global_nav > ul {
				visibility: visible;
				transform: rotateX(0deg); }

#google_translate_element,
.translate_gt {
		position: absolute;
		top: 50%;
		right: 15%;
		margin-top: -12px; }

.translate_gt {
		margin-top: -14px; }

@media (min-width: 769px) {
		header .row {
				table-layout: fixed;
				display: table;
				width: 94%; } }
		@media (min-width: 769px) and (max-width: 1199px) {
				header .row {
						margin: auto;
						width: 100%; } }

@media (min-width: 769px) {
		header .container .row {
				width: auto;
				margin: 0; }
		header .global_nav,
		header .title {
				margin: 0;
				vertical-align: middle;
				height: 120px;
				display: table-cell; }
		header .title {
				max-width: none;
				max-width: none;
				padding: 10px 0; }
		header .global_nav {
				text-align: right;
				width: 100%;
				padding: 0;
				padding: 0 0 15px;
				vertical-align: bottom; }
				header .global_nav > ul {
						position: static;
						display: inline-block;
						width: auto;
						border: none;
						background: none;
						visibility: visible;
						font-size: 0px;
						font-size: 0rem;
						transform: none;
						text-align: left;
						overflow: visible;
						max-width: none; }
						header .global_nav > ul > li {
								display: inline-block;
								vertical-align: middle;
								border: none;
								line-height: 1.5;
								border-left: 1px;
								font-size: 15px;
								font-size: 1.5rem; }
								header .global_nav > ul > li:not(.gnav_search) {
										text-align: center; }
										header .global_nav > ul > li:not(.gnav_search) > a {
												position: relative; }
								header .global_nav > ul > li > a {
										display: inline-block;
										vertical-align: middle;
										color: #3c3c3c;
										text-decoration: none;
										background: transparent;
										text-align: center;
										transition: 0.3s;
										border-bottom: 2px solid transparent;
										padding: 0.3em 1.5em; } }
								@media (min-width: 769px) and (max-width: 900px) {
										header .global_nav > ul > li > a {
												padding: 0.3em 0.5em; } }

@media (min-width: 769px) {
										header .global_nav > ul > li > a:active {
												background: none; }
										header .global_nav > ul > li > a span {
												display: block;
												font-size: 13px;
												font-size: 1.3rem; }
						header .global_nav > ul li.has_under ul li a:after {
								display: none; }
				header .global_nav .menu_icon {
						display: none; }
		#google_translate_element,
		.translate_gt {
				position: static;
				float: right;
				margin-top: 3px;
				margin-left: 1em; }
		.translate_gt {
				margin-top: 0; } }

@media (max-width: 767px) {
		header .global_nav > ul > li > a > span,
		header .global_nav > ul > li > a > br {
				display: none; } }

.hdr_info_wrap {
		display: none; }
		@media (min-width: 769px) {
				.hdr_info_wrap {
						display: block;
						position: absolute;
						top: 0;
						left: 0;
						right: 0;
						margin: auto;
						width: 100%;
						max-width: 1200px; } }
		.hdr_info_wrap .hdr_info {
				position: absolute;
				right: 10px;
				top: 35px; }

h1,
h2,
h3,
h4 {
		font-family: heisei-maru-gothic-std, sans-serif;
		font-style: normal;
		font-weight: 400; }

h1:not(.title) {
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		padding: 2em 0 1em;
		text-align: center;
		position: relative;
		font-size: 32px;
		font-size: 3.2rem;
		color: #3c3c3c;
		margin: 0 0 0.5em; }
		@media (max-width: 767px) {
				h1:not(.title) img {
						max-width: 80%; } }
		@media (max-width: 767px) {
				h1:not(.title) {
						font-size: 24px;
						font-size: 2.4rem; } }

h2 {
		display: block;
		text-align: center;
		margin: 0 auto 1.5em;
		position: relative;
		border: 0;
		word-wrap: break-word;
		font-size: 28px;
		font-size: 2.8rem;
		color: #3c3c3c; }
#content h3,
h3 {
		color: #fff;
		font-size: 22px;
		font-size: 2.2rem;
		background-image: transparent;
		background-size: auto;
		background-repeat: no-repeat;
		background-position: left;
		line-height: 36px;
		height: 40px;
		margin: 0;
		padding: 3px 10px 0;
		font-weight: 800; }
		h3.h3_pink {
				background-image: url("/wp-content/themes/MinervaTMP/images/h3_pink.png"); }
		h3.h3_blue {
				background-image: url("/wp-content/themes/MinervaTMP/images/h3_blue.png"); }
		h3.h3_orange {
				background-image: url("/wp-content/themes/MinervaTMP/images/h3_orange.png"); }
		h3.h3_green {
				background-image: url("/wp-content/themes/MinervaTMP/images/h3_green.png"); }
		#content h3.h3_purple {
				height: auto;
				background-image: url("/wp-content/themes/MinervaTMP/images/h3_purple_repeat.png");
				background-repeat: repeat-y;
				background-size: contain;
				background-position: center top; }

h4 {
		margin: 0 0 1.5em;
		font-size: 21px;
		font-size: 2.1rem;
		position: relative;
		color: #3c3c3c; }
		h4 a {
				text-decoration: none; }
				h4 a:hover {
						text-decoration: underline; }

.widget_wrap .widget_header {
		font-size: 16px;
		font-size: 1.6rem;
		color: #3c3c3c;
		padding: 0.7em 0 0.7em 1em;
		background: rgba(125, 33, 56, 0.05); }
		.widget_wrap .widget_header a {
				text-decoration: none; }
				.widget_wrap .widget_header a:hover {
						text-decoration: underline; }

@media (max-width: 767px) {
		.widget_wrap .widget_header {
				font-size: 14px;
				font-size: 1.4rem; } }

.text-center {
		text-align: center; }

.text-left {
		text-align: left; }

.text-right {
		text-align: right; }

.lead {
		color: #7d2138;
		font-size: 20px;
		font-size: 2rem; }

.text-xxlarge {
		font-size: 24px;
		font-size: 2.4rem; }

.text-xlarge {
		font-size: 20px;
		font-size: 2rem; }

.text-large {
		font-size: 16px;
		font-size: 1.6rem; }

.text-small {
		font-size: 12px;
		font-size: 1.2rem; }

.text-xsmall {
		font-size: 10px;
		font-size: 1rem; }

.text-white {
		color: #fff !important; }

.text-black {
		color: #000 !important; }

.text-red {
		color: #f00 !important; }

.text-primary {
		color: #7d2138 !important; }

@media (max-width: 767px) {
		.sp-hide, .pc-only, .tablet-only {
				display: none !important; }
		.sp-text-center {
				text-align: center; }
		.sp-text-left {
				text-align: left; }
		.sp-text-right {
				text-align: right; } }

@media (min-width: 768px) {
		.lead {
				font-size: 28px;
				font-size: 2.8rem; }
		.text-xxlarge {
				font-size: 36px;
				font-size: 3.6rem; }
		.text-xlarge {
				font-size: 28px;
				font-size: 2.8rem; }
		.text-large {
				font-size: 20px;
				font-size: 2rem; }
		.text-small {
				font-size: 12px;
				font-size: 1.2rem; }
		.text-xsmall {
				font-size: 10px;
				font-size: 1rem; }
		.pc-hide, .sp-only {
				display: none !important; }
		.pc-text-center {
				text-align: center; }
		.pc-text-left {
				text-align: left; }
		.pc-text-right {
				text-align: right; } }

@media (min-width: 768px) and (max-width: 1023px) {
		.tablet-hide {
				display: none !important; } }

@media (min-width: 1024px) {
		.tablet-only {
				display: none !important; } }

@media (min-width: 1090px) {
		.sp-only02 {
				display: none !important; } }

@media (max-width: 1089px) {
		.pc-only02 {
				display: none !important; } }

@media (max-width: 768px) {
		.sp-hide02, .tablet-only02 {
				display: none !important; } }

@media (min-width: 769px) {
		.pc-hide02 {
				display: none !important; } }

@media (max-width: 639px) {
		.sp-hide03, .pc-only03, .tablet-only03 {
				display: none !important; } }
@media ( max-width : 1023px ) {
  .pc-only2 {
    display: none !important;
  }
}
@media (min-width: 640px) {
		.pc-hide03, .sp-only03 {
				display: none !important; } }

.arial {
		font-family: "Arial", arial !important; }

.arial_n {
		font-family: "Arial Narrow", arial !important; }

.color_pri {
		color: #7d2138; }

.mt0 {
		margin-top: 0 !important; }

.mb0 {
		margin-bottom: 0 !important; }

.m-auto {
		margin-right: auto !important;
		margin-left: auto !important; }

.inverse h2,
.inverse h3,
.inverse h4,
.inverse p {
		color: #fff; }

.inverse h2:after {
		background: #fff; }

.inverse h2 small,
.inverse h2 span {
		color: #fff; }

.link-tel {
		text-decoration: none; }
		@media (min-width: 768px) {
				.link-tel {
						pointer-events: none;
						cursor: default; } }

@media (min-width: 768px) {
		.ml5em {
				margin-left: 1em;
				margin-right: 1em; } }

.flex {
		display: flex; }

.bold {
		font-weight: bold; }

header .global_nav > ul > li.has_under > a {
		position: relative; }
		header .global_nav > ul > li.has_under > a:after {
				content: "";
				display: block;
				position: absolute;
				top: 50%;
				right: 6%;
				margin: auto;
				width: 10px;
				height: 10px;
				transform: translate(0, -50%) rotate(135deg);
				transition: .2s; }
		header .global_nav > ul > li.has_under > a.menu_under_open:after {
				transform: translate(0, 0) rotate(-45deg); }

header .global_nav > ul > li > ul {
		margin: 0;
		padding: 0;
		list-style: none;
		display: none; }
		header .global_nav > ul > li > ul > li {
				border-bottom: 1px solid #ccc; }

@media (min-width: 769px) {
		header .global_nav > ul {
				position: relative;
				top: auto;
				z-index: 1; }
				header .global_nav > ul > li.has_under > a {
						padding-right: 1em; }
						header .global_nav > ul > li.has_under > a:after {
								width: 6px;
								height: 6px; }
						header .global_nav > ul > li.has_under > a:after {
								transform: translate(0, -50%) rotate(135deg); }
						header .global_nav > ul > li.has_under > a.menu_under_open:after {
								transform: translate(0) rotate(-45deg); }
				header .global_nav > ul > li.has_under > ul {
						position: absolute;
						width: 100%;
						left: 0;
						right: 0;
						margin: auto;
						top: 100%;
						letter-spacing: -.40em;
						background: rgba(125, 33, 56, 0.9);
						z-index: 52; }
						header .global_nav > ul > li.has_under > ul > li {
								letter-spacing: normal;
								display: inline-block;
								vertical-align: middle;
								width: 25%;
								text-align: center;
								border-bottom: 0;
								padding: 0; }
								header .global_nav > ul > li.has_under > ul > li a {
										background: transparent;
										padding: 1em; } }

.pagetop {
		position: fixed;
		bottom: 5%;
		right: 5%;
		z-index: 100; }
		.pagetop a {
				overflow: hidden;
				text-indent: 100%;
				white-space: nowrap;
				display: inline-block;
				position: relative;
				width: 50px;
				height: 50px;
				padding: 0;
				border-radius: 50%;
				background: #009844; }
				@media (min-width: 768px) {
						.pagetop a {
								width: 70px;
								height: 70px; } }
				.pagetop a:after {
						content: "";
						display: block;
						position: absolute;
						top: 50%;
						left: 50%;
						margin: auto;
						width: 10px;
						height: 10px;
						border-top: 2px solid #fff;
						border-left: 2px solid #fff;
						transform: translate(-50%, -20%) rotate(45deg);
						transition: .2s; }

footer.high .pagetop {
		position: absolute;
		bottom: auto;
		right: 5%;
		top: 0;
		margin: 0;
		transform: translateY(-95%); }

/*
 * ページトップのデザインタイプ(type design của top page)
 */
.grid {
		display: block;
		margin: 0; }
		.grid.row, .grid .row, .grid.col, .grid .col {
				margin: 0; }
		.has-child-grid .grid {
				display: -webkit-box;
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				-webkit-justify-content: center;
				-moz-justify-content: center;
				justify-content: center;
				-webkit-box-align: stretch;
				-ms-flex-align: stretch;
				-webkit-align-items: stretch;
				-moz-align-items: stretch;
				align-items: stretch; }
				.has-child-grid .grid .col {
						display: -webkit-box;
						display: -webkit-flex;
						display: -moz-flex;
						display: -ms-flexbox;
						display: flex;
						-webkit-box-direction: normal;
						-webkit-box-orient: vertical;
						-webkit-flex-direction: column;
						-moz-flex-direction: column;
						-ms-flex-direction: column;
						flex-direction: column;
						-webkit-box-pack: center;
						-ms-flex-pack: center;
						-webkit-justify-content: center;
						-moz-justify-content: center;
						justify-content: center;
						text-align: center; }
						.has-child-grid .grid .col.span_12 {
								padding: 20px 0; }
		.grid .grid-arrow {
				position: relative;
				overflow: hidden; }
				.grid .grid-arrow:after {
						content: '';
						display: block;
						position: absolute;
						right: -15px;
						bottom: -15px;
						width: 30px;
						height: 30px;
						background-color: #fff;
						transform: rotate(45deg);
						transition: .3s; }
		.grid p {
				margin: 0;
				padding: 0.2em 0; }
		.grid a {
				color: #fff;
				text-decoration: none;
				transition: .3s; }
				.grid a > [style^="background-image"], .grid a img {
						transition: .3s; }
				.grid a:hover > [style^="background-image"], .grid a:hover img {
						opacity: 0.6; }
		.grid .grid-bg1 {
				background-color: #e74c3c; }
				.grid .grid-bg1:hover {
						background-color: #eb6d60; }
						.grid .grid-bg1:hover .grid-arrow:after {
								background-color: #df2e1b; }
		.grid .grid-bg2 {
				background-color: #3498db; }
				.grid .grid-bg2:hover {
						background-color: #57aae1; }
						.grid .grid-bg2:hover .grid-arrow:after {
								background-color: #2383c4; }
		.grid .grid-bg3 {
				background-color: #f1c40f; }
				.grid .grid-bg3:hover {
						background-color: #f3cd36; }
						.grid .grid-bg3:hover .grid-arrow:after {
								background-color: #cba50c; }
		.grid .grid-bg4 {
				background-color: #1abc9c; }
				.grid .grid-bg4:hover {
						background-color: #1fe0ba; }
						.grid .grid-bg4:hover .grid-arrow:after {
								background-color: #15987e; }
		.grid .grid-bg5 {
				background-color: #9b59b6; }
				.grid .grid-bg5:hover {
						background-color: #ac75c2; }
						.grid .grid-bg5:hover .grid-arrow:after {
								background-color: #8646a0; }
		.grid .grid-bg6 {
				background-color: #34495e; }
				.grid .grid-bg6:hover {
						background-color: #435d78; }
						.grid .grid-bg6:hover .grid-arrow:after {
								background-color: #253544; }
		.grid .grid-bg7 {
				background-color: #2ecc71; }
				.grid .grid-bg7:hover {
						background-color: #4cd787; }
						.grid .grid-bg7:hover .grid-arrow:after {
								background-color: #26ab5f; }

.ie .grid .grid-arrow:after {
		display: none; }

@media (min-width: 768px) {
		.grid {
				display: -webkit-box;
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				-webkit-justify-content: center;
				-moz-justify-content: center;
				justify-content: center;
				-webkit-box-align: stretch;
				-ms-flex-align: stretch;
				-webkit-align-items: stretch;
				-moz-align-items: stretch;
				align-items: stretch; }
				.grid .col {
						display: -webkit-box;
						display: -webkit-flex;
						display: -moz-flex;
						display: -ms-flexbox;
						display: flex;
						-webkit-box-direction: normal;
						-webkit-box-orient: vertical;
						-webkit-flex-direction: column;
						-moz-flex-direction: column;
						-ms-flex-direction: column;
						flex-direction: column;
						-webkit-box-pack: center;
						-ms-flex-pack: center;
						-webkit-justify-content: center;
						-moz-justify-content: center;
						justify-content: center;
						text-align: center; }
						.grid .col.span_12 {
								padding: 0; }
						.grid .col.has-child-grid > * {
								-webkit-box-flex: 1;
								-webkit-flex-grow: 1;
								-moz-flex-grow: 1;
								-ms-flex-positive: 1;
								flex-grow: 1; }
				.grid p {
						margin: 0;
						padding: 0.2em 0; } }

@media (max-width: 767px) {
		.sp_image_cols:not(.sp_col2):not(.sp_col3) .col:not(:last-child) {
				margin-bottom: 1em; }
		.sp_image_cols:not(.sp_col2):not(.sp_col3) .col figure {
				overflow: hidden; }
				.sp_image_cols:not(.sp_col2):not(.sp_col3) .col figure img {
						float: left;
						width: 32%;
						margin-bottom: 10px;
						vertical-align: middle; }
				.sp_image_cols:not(.sp_col2):not(.sp_col3) .col figure figcaption {
						float: right;
						width: 66%;
						margin-top: 0;
						vertical-align: middle; }
		.sp_image_cols.sp_col2 .col {
				width: 49%; }
				.sp_image_cols.sp_col2 .col:nth-child(odd) {
						clear: both;
						float: left; }
				.sp_image_cols.sp_col2 .col:nth-child(even) {
						float: right; }
		.sp_image_cols.sp_col3 .col {
				float: left;
				width: 32%; }
				.sp_image_cols.sp_col3 .col:nth-child(3n+1) {
						clear: both;
						margin-right: 2%; }
				.sp_image_cols.sp_col3 .col:nth-child(3n) {
						float: right; }
		.sp_image_left {
				overflow: hidden; }
				.sp_image_left .col:first-child {
						display: inline-block;
						float: left;
						width: 32%;
						margin-right: 2%;
						margin-bottom: 0.5em; }
				.sp_image_left .col:last-child {
						float: none; }
		.sp_image_right {
				overflow: hidden; }
				.sp_image_right .col:first-child {
						display: inline-block;
						float: right;
						width: 32%;
						margin-left: 2%;
						margin-bottom: 0.5em; }
				.sp_image_right .col:last-child {
						float: none; } }

table {
		margin: 0 auto; }
		table td,
		table th {
				padding: 0.7em 1em; }
				@media (max-width: 767px) {
						table td,
						table th {
								padding: 0.7em .3em; } }
		table th {
				text-align: center;
				font-weight: normal; }

.table-default {
		width: 100%; }
		.table-default caption {
				margin-bottom: 0.5em;
				text-align: center;
				font-size: 20px;
				font-size: 2rem; }
		.table-default td,
		.table-default th {
				border: 1px solid #3c3c3c; }
		.table-default th {
				background: rgba(60, 60, 60, 0.7);
				color: #fff; }
		.table-default td {
				background: transparent; }

.table-menu {
		width: 100%; }
		.table-menu caption {
				margin-bottom: 0.5em;
				text-align: center;
				font-size: 20px;
				font-size: 2rem; }
		.table-menu td,
		.table-menu th {
				padding: 0.7em 1em;
				border-top: 1px solid #7d2138;
				border-bottom: 1px solid #7d2138; }
				@media (max-width: 767px) {
						.table-menu td,
						.table-menu th {
								padding: 0.7em .3em; } }
		.table-menu tbody th {
				text-align: left; }
		.table-menu td:last-child {
				text-align: right;
				white-space: nowrap; }

.table-schedule {
		width: 100%; }
		.table-schedule caption {
				margin-bottom: 0.5em;
				text-align: center;
				font-size: 20px;
				font-size: 2rem; }
		.table-schedule td,
		.table-schedule th {
				border: 1px solid #7d2138;
				padding: 0.7em 1em;
				text-align: center; }
				@media (max-width: 767px) {
						.table-schedule td,
						.table-schedule th {
								padding: 0.7em .3em; } }
		.table-schedule thead th {
				background: rgba(60, 60, 60, 0.7);
				color: #fff; }
		.table-schedule tbody th {
				background: transparent; }
		.table-schedule td {
				background: transparent; }

.table-summary {
		border-top: 1px solid #3c3c3c;
		width: 100%; }
		.table-summary caption {
				margin-bottom: 0.5em;
				text-align: center;
				font-size: 20px;
				font-size: 2rem; }
		.table-summary td,
		.table-summary th {
				padding: 1em;
				border-bottom: 1px solid #3c3c3c; }
		.table-summary th {
				text-align: left;
				font-weight: normal;
				width: 20%; }

@media (max-width: 767px) {
		.responsive-stack {
				display: block; }
				.responsive-stack thead {
						display: none; }
				.responsive-stack tbody,
				.responsive-stack td,
				.responsive-stack th,
				.responsive-stack tr {
						display: block; }
				.responsive-stack td,
				.responsive-stack th {
						width: 100% !important; }
				.responsive-stack tr:not(:last-child) td,
				.responsive-stack tr:not(:last-child) th {
						border-bottom: 0; }
				.responsive-stack tr:last-child :not(:last-child) {
						border-bottom: 0; } }

@media (max-width: 767px) {
		.responsive-list {
				display: block; }
				.responsive-list thead {
						display: none; }
				.responsive-list tbody,
				.responsive-list td,
				.responsive-list th,
				.responsive-list tr {
						display: block; }
				.responsive-list tr:not(:last-child) td {
						border-bottom: 0; }
				.responsive-list td {
						position: relative;
						padding-left: 40%;
						white-space: normal;
						text-align: left; }
						.responsive-list td:first-child {
								border-bottom: 0; }
						.responsive-list td:last-child {
								border-top: 0; }
						.responsive-list td:not(:first-child):not(:last-child) {
								border-top: 0;
								border-bottom: 0; }
						.responsive-list td:before {
								content: attr(data-title);
								position: absolute;
								top: 6px;
								left: 6px;
								width: 35%;
								padding-right: 10px;
								white-space: normal;
								text-align: left;
								font-weight: bold; } }

@media (max-width: 767px) {
		.responsive-scroll-container {
				display: block;
				width: 100%;
				min-height: 0.01%;
				overflow-x: scroll; }
				.responsive-scroll-container .responsive-scroll-inner {
						width: 798px;
						padding: 0 15px 15px; }
				.responsive-scroll-container table {
						width: 768px;
						margin: 0; } }

@media (max-width: 767px) {
		table.combine tbody tr:last-child td,
		table.combine tbody tr:last-child th {
				border-bottom: 0; } }

table.table-default.typeA tr td,
table.table-default.typeA tr th {
		border: 0; }

table.table-default.typeA tr:nth-child(odd) th {
		background: #7d2138; }

table.table-default.typeA tr:nth-child(odd) td {
		background: #fffef3; }

table.table-default.typeA tr:nth-child(even) th {
		background: #a52c4a; }

table.table-default.typeA tr:nth-child(even) td {
		background: white; }

table.table-default.typeB {
		border-collapse: separate;
		border-spacing: 0;
		overflow: hidden; }
		table.table-default.typeB tbody td,
		table.table-default.typeB tbody th {
				background: transparent;
				color: #3c3c3c;
				border: 0;
				border-bottom: 1px dashed #3c3c3c; }
		table.table-default.typeB tbody tr {
				position: relative; }
		table.table-default.typeB tbody td {
				transform: translateX(2px); }

table.table-default.typeC th {
		background: rgba(60, 60, 60, 0.7);
		color: #fff; }

table.table-default.typeC td,
table.table-default.typeC th {
		border: 0; }
		table.table-default.typeC td:not(:last-child),
		table.table-default.typeC th:not(:last-child) {
				border-bottom: 2px #fff solid; }

table.table-default.typeC tr {
		position: relative; }

table.table-default.typeC td {
		transform: translateX(2px); }

.highlight table.table-default.typeC td,
.highlight table.table-default.typeC th {
		border: 0; }
		.highlight table.table-default.typeC td:not(:last-child),
		.highlight table.table-default.typeC th:not(:last-child) {
				border-bottom: 2px #fffef3 solid; }

._table_line .news dl {
		border-top: 1px dotted #a6a6a6;
		max-height: none; }
		._table_line .news dl dt {
				width: 230px;
				padding-left: 20px; }
				._table_line .news dl dt + dd {
						border-bottom: 1px dotted #a6a6a6;
						padding-left: 230px; }
