@charset "UTF-8";

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

  reset

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

body {
	overflow-x: hidden;
}
.pbPage * {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	line-height: 1.6;
	vertical-align: top;
}
.pbHeaderArea,
.pbFooterArea {
	overflow: visible;
}
:focus {
	outline: none;
}
:root ol, :root ul {
	margin: 0;
	padding: 0;
}
.pbNested {
	clear: none;
	overflow: visible;
	min-width: 10px;
	overflow: visible;
}
.pb-layout {
	outline: 1px dotted #ccc !important;
	box-shadow: none!important;
}
.pb-handle {
	display: block!important;
	width: auto!important;
	border: 1px solid #999!important;
	font-weight: normal!important;
	letter-spacing: normal;
	text-indent: 0;
	line-height: 1.6;
}
.pb-handle:before,
.pb-handle:after {
	display: none;
}
.pbNotEditable {
	min-width: 200px!important;
	background: rgba(32, 32, 32, 0.5)!important;
}
.pbZero td {
	vertical-align: middle;
}

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

  page

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

div.pbPage {
	position: relative;
	overflow: hidden!important;
	-webkit-text-size-adjust: 100%;
	-webkit-print-color-adjust: exact;
	background: #fff;
	font-family: 'Noto Sans JP','メイリオ',Meiryo, sans-serif;
	color: #000;
	font-size: 90%;
}

@media print {
	.pbPage {
		min-width: 1000px;
	}
}

@media screen and (max-width: 1024px) {
	div.pbPage {
		font-size: 75%;
	}
	div.pbPage--open {
		position: fixed;
	}
}

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

  base

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

/*  title
------------------------------------------------*/

h1,
h2,
h3,
h4,
h5 {
	font-weight: bold;
}
h1 {
	font-size: 230%;
}
h2 {
	font-size: 180%;
}
h3 {
	font-size: 150%;
}
h4 {
	font-size: 140%;
}
h5 {
	font-size: 140%;
}

@media screen and (max-width: 767px) {
	h1 {
		font-size: 160%;
	}
	h2 {
		font-size: 150%;
	}
	h3 {
		font-size: 120%;
	}
	h4 {
		font-size: 120%;
	}
	h5 {
		font-size: 120%;
	}
}

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

.pbPage a {
	color: #000;
	transition: all .3s;
	text-decoration: underline;
}
.pbPage a:hover {
	text-decoration: none;
}
.pbPage a img {
	transition: all .3s;
}
.pbPage a:hover img {
	opacity: .7;
}

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

.pbPage ul,
.pbPage ol {
	list-style: none;
}
.pbMainArea ul li {
	position: relative;
	padding-left: 1.3em;
}
.pbMainArea ul li:not(:first-child) {
	margin-top: 5px;
}
.pbMainArea ul li:before {
	content: '';
	position: absolute;
	top: .55em;
	left: 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	transform: rotate(45deg);
}
.pbMainArea ol {
	padding-left: 1.3em;
	list-style-type: decimal;
}
.pbMainArea ol li:not(:first-child) {
	margin-top: 5px;
}

/*  img
------------------------------------------------*/

.pbPage img {
	max-width: 100%;
	height: auto;
}

/*  table
------------------------------------------------*/

.pbMainArea table {
	width: 100%;
	border-spacing: 1px;
	border: none;
}
.pbMainArea table th,
.pbMainArea table td {
	padding: 15px 20px;
	background: rgba(0,0,0,.03);
	text-align: left;
	border: none;
	vertical-align: middle;
}
.pbMainArea table th {
	width: 30%;
	background: rgba(0,0,0,.8);
	color: #fff;
	font-weight: bold;
	text-align: center;
	vertical-align: top;
}

@media screen and (max-width: 767px) {
	.pbMainArea table {
		font-size: 90%;
		display: block;
		height: auto!important;
	}
	.pbMainArea table tbody,
	.pbMainArea table tr,
	.pbMainArea table th,
	.pbMainArea table td {
		display: block;
		width: 100%!important;
		height: auto!important;
	}
	.pbMainArea table th {
		padding: 8px 10px;
	}
	.pbMainArea table td {
		padding: 10px;
	}
}

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

  publis block

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

/*  pbCorner
========================================================================*/

.contact-step {
	text-align: center;
	margin-bottom: 30px;
}
.contact-step .list {
	display: flex;
}
.contact-step .item {
	width: 33.33%;
	padding: 5px;
	background: rgba(0,0,0,.03);
	border-right: none;
	counter-increment: contact-step;
}
.contact-step .item:nth-child(2) {
	border-left: 3px solid #fff;
	border-right: 3px solid #fff;
}
.contact-step .item:before {
	content: 'STEP'counter(contact-step)'.';
	display: inline-block;
}
.contact-step .item.active {
	background: #333;
	color: #fff;
}
.contact-step p {
	margin-top: 30px;
}
.contact-step .button {
	margin-top: 30px;
}
.contact-step .button a {
	display: inline-block;
	position: relative;
	padding: .6em 2em .6em 1em;
	background: #333;
	color: #fff;
	text-decoration: none;
}
.contact-step .button a:hover {
	background: #000;
}
.contact-step .button a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 1em;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}
.pbArticleButtonBlock img {
	max-width: none;
}
.pbCorner td * {
	vertical-align: middle;
}
.pbCorner td.pbLabel {
	width: 35%;
	background: #333;
	color: #fff;
	font-weight: bold;
}
.pbCorner td.pbLabel:only-child {
	background: none;
	color: #333;
	font-size: 150%;
	text-align: center;
}
.pbCorner table table {
	width: auto;
}
.pbCorner table table th,
.pbCorner table table td {
	padding: 0;
	background: none;
}
.pbCorner table table td {
	display: flex;
	flex-wrap: wrap;
}
.pbCorner .pbCornerQueryLabelRequired {
	float: right;
	margin-left: 10px;
	color: #cc3300;
}
.pbCorner td.pbErrorMsg {
	background: none;
	padding: 0 0 10px;
	color: #cc3300;
}
.pbCorner input[type="text"],
.pbCorner select,
.pbCorner textarea,
.pbCorner input[type="button"],
.pbCorner input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: 'Noto Sans JP','メイリオ',Meiryo, sans-serif;
}
.pbCorner input[type="text"],
.pbCorner select,
.pbCorner textarea {
	max-width: 100%;
	padding: 8px 10px;
	border: 1px solid #eee;
	border-radius: 0;
}
.pbCorner input[type="text"] {
	width: 100%;
}
.pbCorner .half input[type="text"] {
	width: 50%;
}
.pbCorner input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px white inset;
}
.pbCorner input[id*="query_name_last_"],
.pbCorner input[id*="query_name_first_"] {
	width: calc(50% - 5px);
}
.pbCorner input[id*="query_name_first_"] {
	float: right;
}
.pbCorner select {
	margin: 5px 0;
	padding-right: 40px;
	background: url(../images/arrow_select.png) no-repeat right center #fff;
}
.pbCorner .graduate label,
.pbCorner .graduate label + select {
	display: none;
}
.pbCorner select::-ms-expand {
	display: none;
}
.pbCorner select + label {
	margin: 0 15px 0 5px;
}
.pbCorner textarea {
	width: 100%;
	resize: none;
}
.pbCorner .forTdCellCenter {
	padding: 30px 0 0;
	background: none;
}
.pbCorner .forTdCellCenter input {
	display: table;
	min-width: 200px;
	margin: 0 auto;
	padding: 10px 20px;
	background: #333;
	color: #fff;
	font-size: 110%;
	letter-spacing: 2px;
	border: none;
	border-radius: 0;
	cursor: pointer;
	transition: all .3s;
}
.pbCorner .forTdCellCenter input:hover {
	background: #000;
}
.pbCorner .forTdCellCenter input.pbQueryCancel {
	margin-top: 10px;
	padding: 9px 20px;
	background: #ccc;
	color: #000;
	border: 1px solid #ccc;
}
.pbCorner .forTdCellCenter input.pbQueryCancel:hover {
	background: #fff;
}
.pbCorner input[type=radio],
.pbCorner input[type=checkbox] {
	display: none;
}
.pbCorner input[type=radio] + label,
.pbCorner input[type=checkbox] + label {
	display: inline-block;
	position: relative;
	margin: 5px 20px 5px 0;
	padding-left: 25px;
	cursor: pointer;
}
.pbCorner input[type=radio] + label:before,
.pbCorner input[type=radio] + label:after,
.pbCorner input[type=checkbox] + label:before,
.pbCorner input[type=checkbox] + label:after {
	content: '';
	position: absolute;
}
.pbCorner input[type=radio] + label:before,
.pbCorner input[type=radio] + label:after {
	border-radius: 50%;
	transition: all .3s;
}
.pbCorner input[type=radio] + label:before {
	top: 2px;
	left: 0;
	width: 18px;
	height: 18px;
	background: #fff;
	border: 1px solid #eee;
}
.pbCorner input[type=radio]:checked + label:after {
	top: 7px;
	left: 5px;
	width: 10px;
	height: 10px;
	background: #000;
}
.pbCorner input[type=checkbox] + label:before {
	top: 4px;
	left: 0;
	width: 14px;
	height: 14px;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 2px;
}
.pbCorner input[type=checkbox]:checked + label:after {
	top: -1px;
	left: 7px;
	width: 5px;
	height: 15px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
	.contact-step .item:before {
		display: block;
	}
	.pbCorner table {
		font-size: 100%;
	}
	.pbCorner .half input[type="text"] {
		width: 100%;
	}
	.pbCorner select + label {
		margin: 0 5px 0 0;
	}
	.pbCorner input[type=radio] + label:before {
		top: 0;
	}
	.pbCorner input[type=radio]:checked + label:after {
		top: 5px;
	}
	.pbCorner input[type=checkbox] + label:before {
		top: 2px;
	}
	.pbCorner input[type=checkbox]:checked + label:after {
		top: -2px;
	}
}

/*  pbBlockSearchResult
========================================================================*/

.publisSearchResultFormInner {
	position: relative;
	overflow: hidden;
	max-width: 700px;
	margin: 0 auto 20px;
}
.publisSearchResultFormInner:before {
	content: '検索';
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	right: 0;
	width: 70px;
	height: 100%;
	background: #333;
	color: #fff;
	letter-spacing: 2px;
	border-radius: 2px;
	transition: all .3s;
}
.publisSearchResultFormText {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: calc(100% - 80px);
	float: left;
	padding: 8px 10px;
	font-family: 'Noto Sans JP','メイリオ',Meiryo, sans-serif;
	font-size: 100%;
	border: 1px solid #ccc;
	border-radius: 2px;
}
.publisSearchResultFormText:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px white inset;
}
.publisSearchResultFormButton {
	position: absolute;
	right: 0;
	width: 70px;
	height: 100%;
	opacity: 0;
}
.publisSearchResultSeparator {
	margin: 0!important;
}
div.publisSearchResultPager {
	overflow: hidden!important;
	width: 100%!important;
}
.publisSearchResultPager > div {
	min-height: 1px;
}
.publisSearchResultPagerInfo {
	width: calc(100% - 110px)!important;
}
.publisSearchResultPagerPrev {
	text-align: left;
	width: 55px!important;
}
.publisSearchResultPagerPrev a {
	position: relative;
	padding-left: 1.5em;
}
.publisSearchResultPagerPrev a:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: .4em;
	width: .4em;
	height: .4em;
	border-bottom: 2px solid #ccc;
	border-left: 2px solid #ccc;
	transform: rotate(45deg);
}
.publisSearchResultPagerPrev a:first-child {
	display: none;
}
.publisSearchResultPagerNext {
	text-align: right;
	width: 55px!important;
}
.publisSearchResultPagerNext a {
	position: relative;
	padding-right: 1.5em;
}
.publisSearchResultPagerNext a:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: .4em;
	width: .4em;
	height: .4em;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	transform: rotate(45deg);
}
.publisSearchResultPagerNext a:first-child {
	display: none;
}
.publisSearchResultNotFound br {
	display: none;
}
div.publisSearchResultList {
	margin: 15px 0;
}
.publisSearchResultItemTitle {
	float: none!important;
	padding: 15px 0 0 1em;
}
.publisSearchResultItemTitle:first-child {
	border-top: 1px solid #ccc;
}
.publisSearchResultItemTitle a {
	position: relative;
}
.publisSearchResultItemTitle a:before {
	content: '';
	position: absolute;
	top: .55em;
	left: -1em;
	width: .4em;
	height: .4em;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	transform: rotate(45deg);
}
.publisSearchResultItemText {
	float: none!important;
	margin: 3px 0 0!important;
	padding-bottom: 15px;
	color: #999;
	border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
	.publisSearchResultItemTitle {
		padding: 10px 0 0 1em;
	}
	.publisSearchResultItemText {
		padding-bottom: 10px;
	}
}

/*  pbBlockMenu
========================================================================*/

.pbBlockMenu {
	position: relative;
	margin-top: 20px;
	padding-left: 1.3em;
}
.pbBlockMenu + .pbBlockMenu {
	margin-top: 0;
}
.pbBlockMenu:before {
	content: '';
	position: absolute;
	top: .5em;
	left: 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	transform: rotate(45deg);
}

/*  pbBlockSearch
========================================================================*/

div.pbBlockSearch {
	position: relative;
	overflow: hidden!important;
	margin-top: 20px;
	padding: 0!important;
}
.pbBlockSearch input[type="text"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: calc(100% - 80px);
	float: left;
	padding: 8px 10px;
	font-family: 'Noto Sans JP','メイリオ',Meiryo, sans-serif;
	border: 1px solid #ccc;
	border-radius: 2px;
}
.pbBlockSearch input[type="text"]:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px white inset;
}
.pbBlockSearch input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: absolute;
	right: 0;
	width: 70px;
	height: 100%;
	background: #333;
	color: #fff;
	font-family: 'Noto Sans JP','メイリオ',Meiryo, sans-serif;
	font-size: 100%;
	letter-spacing: 2px;
	border: none;
	border-radius: 2px;
	transition: all .3s;
	cursor: pointer;
}
.pbBlockSearch input[type="submit"]:hover {
	background: #000;
}

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

  header

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

.header > div:not(.pb-handle) {
	display: flex;
	position: relative;
	z-index: 5;
	padding: 0 20px;
	background: #f7f7f7;
	box-shadow: 2px 2px 4px rgba(0,0,0,.05);
}
.header a {
	text-decoration: none;
	color: #333;
}

@media screen and (max-width: 1024px) {
	.header > div:not(.pb-handle) {
		padding: 0 0 0 10px;
	}
}

/*  left
------------------------------------------------*/

.header .left {
	display: flex;
}
.header .left > div {
	display: flex;
	align-items: center;
	padding: 15px 0;
}
.header .logo img {
	display: block;
}
.header .text {
	margin-left: 15px;
	font-family: 'Roboto Condensed', sans-serif;
}

@media screen and (max-width: 1024px) {
	.header .left > div {
		padding: 10px 0;
	}
	.header .logo img {
		max-width: 130px;
	}
	.header .text {
		margin-left: 10px;
	}
}

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

.header .sp-menu {
	display: none;
	position: relative;
	top: 0;
	bottom: 0;
	margin: auto 0;
	z-index: 2;
	width: 50px;
	height: 50px;
	margin-left: auto;
}
.header .sp-menu span {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	width: 20px;
	height: 2px;
	background: #000;
}
.header .sp-menu span:nth-of-type(1) {
	top: 15px;
	-webkit-animation: menu-bar01 .75s forwards;
	animation: menu-bar01 .75s forwards;
}
@-webkit-keyframes menu-bar01 {
	0% {-webkit-transform: translateY(9px) rotate(45deg);}
	50% {-webkit-transform: translateY(9px) rotate(0);}
	100% {-webkit-transform: translateY(0) rotate(0);}
}
@keyframes menu-bar01 {
	0% {transform: translateY(9px) rotate(45deg);}
	50% {transform: translateY(9px) rotate(0);}
	100% {transform: translateY(0) rotate(0);}
}
.header .sp-menu span:nth-of-type(2) {
	top: 24px;
	transition: all .25s .25s;
	opacity: 1;
}
.header .sp-menu span:nth-of-type(3) {
	bottom: 15px;
	-webkit-animation: menu-bar03 .75s forwards;
	animation: menu-bar03 .75s forwards;
}
@-webkit-keyframes menu-bar03 {
	0% {-webkit-transform: translateY(-9px) rotate(-45deg);}
	50% {-webkit-transform: translateY(-9px) rotate(0);}
	100% {-webkit-transform: translateY(0) rotate(0);}
}
@keyframes menu-bar03 {
	0% {transform: translateY(-9px) rotate(-45deg);}
	50% {transform: translateY(-9px) rotate(0);}
	100% {transform: translateY(0) rotate(0);}
}

.pbPage--open .sp-menu span:nth-of-type(1) {
	-webkit-animation: active-menu-bar01 .75s forwards;
	animation: active-menu-bar01 .75s forwards;
}
@-webkit-keyframes active-menu-bar01 {
	0% {-webkit-transform: translateY(0) rotate(0);}
	50% {-webkit-transform: translateY(9px) rotate(0);}
	100% {-webkit-transform: translateY(9px) rotate(45deg);}
}
@keyframes active-menu-bar01 {
	0% {transform: translateY(0) rotate(0);}
	50% {transform: translateY(9px) rotate(0);}
	100% {transform: translateY(9px) rotate(45deg);}
}
.pbPage--open .sp-menu span:nth-of-type(2) {
	opacity: 0;
}
.pbPage--open .sp-menu span:nth-of-type(3) {
	-webkit-animation: active-menu-bar03 .75s forwards;
	animation: active-menu-bar03 .75s forwards;
}
@-webkit-keyframes active-menu-bar03 {
	0% {-webkit-transform: translateY(0) rotate(0);}
	50% {-webkit-transform: translateY(-9px) rotate(0);}
	100% {-webkit-transform: translateY(-9px) rotate(-45deg);}
}
@keyframes active-menu-bar03 {
	0% {transform: translateY(0) rotate(0);}
	50% {transform: translateY(-9px) rotate(0);}
	100% {transform: translateY(-9px) rotate(-45deg);}
}

@media screen and (max-width: 1024px) {
	.header .sp-menu {
		display: block;
	}
}

/*  right
------------------------------------------------*/

.header .right {
	display: flex;
	margin-left: auto;
}
.header .right > div {
	display: flex;
}
.header .list {
	display: flex;
}
.header .list > div {
	display: flex;
}
.header .list-item {
	display: flex;
	margin-left: 20px;
}
.header .list-item > div {
	display: flex;
}
.header .list-title {
	display: flex;
	align-items: center;
}
.header .list-title a {
	display: block;
	padding: 3px 10px;
}
.header .list-item:hover .list-title a {
	background: rgba(0,0,0,.1);
}
.header .list-text {
	opacity: 0;
	position: absolute;
	z-index: 1;
	top: 100%;
	width: 100%;
	left: 0;
	transition: all .3s;
	transform: rotateX(90deg);
	transform-origin: left top;
}
.header .list-item:hover .list-text {
	opacity: 1;
	transform: none;
}
.header .list-text > div {
	padding: 15px;
	background: rgba(0,0,0,.9);
}
.header .list-text ul {
	display: flex;
	justify-content: flex-end;
}
.header .list-text li {
	min-width: 250px;
	padding: 5px 20px;
	border-left: 1px solid #fff;
}
.header .list-text li a {
	display: inline-block;
	color: #fff;
}
.header .list-text li a:hover {
	color: #ccc;
}
.header .button {
	display: flex;
	align-items: center;
	margin-left: 30px;
}
.header .button a {
	display: inline-block;
	min-width: 130px;
	padding: 5px 2em;
	background: #333;
	color: #fff;
	text-align: center;
}
.header .button a:hover {
	background: #000;
}
.header .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 1px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 1200px) {
	.header .list-item {
		margin-left: 5px;
	}
	.header .button {
		margin-left: 10px;
	}
}

@media screen and (max-width: 1024px) {
	.header .right {
		display: block;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		position: absolute;
		top: 0;
		left: 100%;
		z-index: 1;
		width: 100vw;
		height: 100vh;
		padding: 70px 10px 150px;
		background: rgba(255,255,255,.9);
		transition: all .3s;
	}
	.pbPage--open .header .right {
		left: 0;
	}
	.header .right > div {
		display: block;
		max-width: 300px;
		margin: 0 auto;
	}
	.header .list {
		display: block;
	}
	.header .list > div {
		display: block;
	}
	.header .list-item {
		display: block;
		margin-left: 0;
	}
	.header .list-item > div {
		display: block;
	}
	.header .list-title {
		display: block;
	}
	.header .list-title > div {
		border-top: 1px solid #999;
	}
	.header .list-title a {
		padding: 10px 0;
	}
	.header .list-item:hover .list-title a {
		background: none;
	}
	.header .list-text {
		transform: none;
		opacity: 1;
		position: static;
	}
	.header .list-text > div {
		border-top: 1px dotted #999;
		padding: 10px 0;
		background: none;
	}
	.header .list-text ul {
		display: block;
	}
	.header .list-text li {
		padding: 0;
		border-left: none;
	}
	.header .list-text li a {
		display: block;
		padding: 3px 0;
		color: #000;
	}
	.header .list-text li a:hover {
		color: #000;
	}
	.header .button {
		display: block;
		margin-left: 0;
		padding-top: 50px;
		border-top: 1px solid #999;
	}
	.header .button a {
		display: block;
		padding: 10px;
	}
}

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

  footer

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

.navigation {
	background: #333;
	font-size: 95%;
	color: #fff;
}
.navigation .pbBlockNavigation {
	width: calc(100% - 20px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 10px 0;
}
.navigation a {
	display: inline-block;
	color: #fff;
}
.navigation a:after {
	content: '';
	display: inline-block;
	margin: 0 15px 1px;
	width: .4em;
	height: .4em;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
.magazine {
	background: #000;
	color: #fff;
}
.magazine > div {
	display: flex;
	align-items: center;
	width: calc(100% - 20px);
	max-width: 1000px;
	margin: 0 auto;
	background: url(../images/mail.png) no-repeat 10px center;
	background-size: auto 180px;
}
.magazine .textarea {
	width: 40%;
}
.magazine .textarea > div {
	position: relative;
	padding: 30px 20px 30px 50px;
	text-align: center;
}
.magazine .textarea > div:after {
	content: '';
	position: absolute;
	top: 20px;
	right: 0;
	width: 1px;
	height: calc(100% - 40px);
	background: #fff;
}
.magazine .title {
	font-size: 160%;
}
.magazine .text {
	margin-top: 15px;
}
.magazine .textarea + div {
	width:60%;
	padding-left: 50px;
}
.magazine .pbCornerWrap {
	padding: 20px 0;
}
.magazine .pbCornerWrap.finish div {
	font-size: 110%;
}
.magazine .pbCorner:not(:first-child) {
	position: relative;
	padding-right: 110px;
	margin-top: 0;
}
.magazine .pbCorner > table,
.magazine .pbCorner tbody,
.magazine .pbCorner tr,
.magazine .pbCorner td {
	display: block;
}
.magazine .pbCorner td.pbLabel,
.magazine .pbCorner td.pbLabel + td {
	width: 100%!important;
	padding: 0;
	background: none;
}
.magazine .pbCorner td.pbLabel {
	color: #ccc;
	padding-bottom: 5px;
}
.magazine .pbCorner input[type="text"] {
	padding: 5px;
	background: #ccc;
	border: none;
	border-radius: 2px;
}
.magazine .pbCorner .forTdCellCenter {
	padding-top: 0;
	height: 0!important;
}
.magazine .pbCorner .forTdCellCenter input {
	position: absolute;
	right: 0;
	bottom: 0;
	min-width: 100px;
	padding: 4px;
	background: #000;
	font-size: 100%;
	border: 1px solid #333;
	border-radius: 2px;
}
.magazine .pbCorner .forTdCellCenter input:hover {
	background: #333;
}
.magazine .error {
	padding: 5px;
	background: #faeae8;
	color: #ac3428;
	font-size: 90%;
}
.page-top {
	display: none;
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 1;
}
.page-top > div {
	margin: 20px;
}
.page-top > div > div {
	position: relative;
	width: 60px;
	height: 60px;
	background: rgba(0,0,0,.3);
	border-radius: 50%;
	cursor: pointer;
	transition: all .3s;
}
.page-top > div > div:before {
	content: '';
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
	top: 25px;
	width: 13px;
	height: 13px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(45deg);
}
.page-top > div > div:hover {
	background: #000;
}
.footer {
	background: #f7f7f7;
}
.footer a {
	text-decoration: none;
}
.footer > div {
	padding: 50px 0 0;
	font-size: 90%;
	text-align: center;
}
.footer .logo > div {
	padding: 0 10px;
}
.footer .list {
	margin-top: 30px;
}
.footer .list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.footer .list li,
.footer .list li:not(:first-child) {
	margin: 0 10px;
	padding: 0;
}
.footer .list li a {
	display: inline-block;
	position: relative;
}
.footer .list li a:hover {
	color: #999;
}
.footer .list li a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 1px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(45deg);
}
.footer .sns {
	margin-top: 30px;
}
.footer .sns > div {
	display: flex;
	justify-content: center;
}
.footer .sns > div > div {
	margin: 0 10px;
}
.footer .sns a {
	display: block;
	background: #333;
	border-radius: 50%;
	transition: all .3s;
}
.footer .sns a:hover {
	background: #000;
}
.footer .sns a:hover img {
	opacity: 1;
}
.footer .copyright {
	margin-top: 100px;
	padding: 10px;
	background: #000;
	color: #fff;
	font-family: 'Roboto Condensed', sans-serif;
}

@media screen and (max-width: 900px) {
	.navigation a:after {
		margin: 0 8px 1px;
	}
	.magazine > div {
		display: block;
		max-width: 500px;
		padding: 30px 0 40px;
		background-position: 0 10px;
		background-size: auto 100px;
	}
	.magazine .textarea {
		width: 100%;
	}
	.magazine .textarea > div {
		padding: 0 0 20px;
	}
	.magazine .textarea > div:after {
		top: auto;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 1px;
		background: #666;
	}
	.magazine .text {
		margin-top: 5px;
		color: #999;
	}
	.magazine .textarea + div {
		width:100%;
		padding-left: 0;
	}
	.magazine .pbCornerWrap {
		padding: 20px 0 0;
	}
	.magazine .pbCornerWrap.finish div {
		float: none!important;
		text-align: center;
	}
	.magazine .pbCorner:not(:first-child) {
		padding-right: 70px;
	}
	.magazine .pbCorner .forTdCellCenter input {
		min-width: 65px;
	}
	.page-top > div {
		margin: 10px;
	}
	.page-top > div > div {
		width: 40px;
		height: 40px;
	}
	.page-top > div > div:before {
		top: 17px;
		width: 10px;
		height: 10px;
	}
	.footer .copyright {
		margin-top: 50px;
	}
}

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

  component

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

/*  h1
========================================================================*/

.base-h1 {
	width: calc(100% - 20px);
	margin: 80px auto 0;
	text-align: center;
}
.base-h1 + div {
	margin-top: 80px;
}
.base-h1 h1 {
	position: relative;
	padding-bottom: 15px;
}
.base-h1 h1:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	width: 100px;
	height: 2px;
	background: #000;
}

@media screen and (max-width: 767px) {
	.base-h1 {
		margin-top: 40px;
	}
	.base-h1 + div {
		margin-top: 40px;
	}
	.base-h1 h1 {
		padding-bottom: 10px;
	}
	.base-h1 h1:after {
		width: 50px;
	}
}

/*  h1-subtitle
------------------------------------------------*/

.h1-subtitle .subtitle {
	margin-top: 15px;
}

@media screen and (max-width: 767px) {
	.h1-subtitle .subtitle {
		margin-top: 10px;
	}
}

/*  h1box
========================================================================*/

div.base-h1box {
	overflow: hidden!important;
}
.base-h1box > div:not(.pb-handle) {
	display: flex;
	align-items: center;
	position: relative;
	padding: 70px 0;
}
.base-h1box .background {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	z-index: auto!important;
}
.base-h1box .background div:not(.pb-handle) {
	position: static!important;
}
.base-h1box .background .mce-resizehandle {
	display: none;
}
.base-h1box .background img {
	opacity: .4;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: none;
	min-width: 101%;
	min-height: 101%;
}
.base-h1box .inner {
	position: relative;
	width: calc(100% - 20px);
	max-width: 980px;
	margin: 0 auto;
	z-index: auto!important;
}
.base-h1box .inner > div > div:first-child {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.base-h1box > div:not(.pb-handle) {
		padding: 40px 0;
	}
	.base-h1box .inner {
		max-width: 500px;
	}
}

/*  h1box-black
------------------------------------------------*/

.h1box-black {
	background: #000;
	color: #fff;
	text-shadow: 0px 0px 10px #3d3d3d;
}
.h1box-black h1:after {
	background: #fff;
}
.h1box-black a {
	color: #fff;
}

/*  h1area
========================================================================*/

.base-h1area > div {
	position: relative;
	padding: 200px 0 70px;
}
.base-h1area .background {
	position: absolute;
	top: 0;
	overflow: hidden!important;
	width: 100%;
	height: 300px;
	z-index: auto!important;
}
.base-h1area .background div:not(.pb-handle) {
	position: static!important;
}
.base-h1area .background img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: none;
	min-width: 101%;
	min-height: 101%;
}
.base-h1area .inner {
	position: relative;
	width: calc(100% - 20px);
	max-width: 1080px;
	margin: 0 auto;
	z-index: auto!important;
}
.base-h1area .inner > div {
	padding: 50px 40px 0;
	background: #fff;
}
.base-h1area .inner > div > div:first-child {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.base-h1area > div {
		padding: 100px 0 40px;
	}
	.base-h1area .background {
		height: 200px;
	}
	.base-h1area .inner {
		max-width: 520px;
	}
	.base-h1area .inner > div {
		padding: 20px 10px 0;
	}
}

/*  h1area-black
------------------------------------------------*/

.h1area-black {
	background: #ebebeb;
}
.h1area-black > div {
	padding: 70px 0;
}
.h1area-black .inner {
	max-width: 1000px;
}
.h1area-black .inner > div {
	padding: 0;
	background: none;
}
.h1area-black .base-h1 {
	color: #fff;
}
.h1area-black .base-h1 h1:after {
	background: #fff;
}
.h1area-black .background {
	background: #000;
}
.h1area-black .background img {
	opacity: .3;
}

@media screen and (max-width: 767px) {
	.h1area-black > div {
		padding: 40px 0;
	}
	.h1area-black .inner > div {
		padding: 0;
	}
}

/*  section
========================================================================*/

.base-section > div {
	width: calc(100% - 20px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 70px 0;
}
.base-section:last-child > div {
	padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
	.base-section > div {
		max-width: 500px;
		padding: 40px 0;
	}
	.base-section:last-child > div {
		padding-bottom: 60px;
	}
}

/*  section-space
------------------------------------------------*/

.section-space > div {
	padding-top: 0;
}

/*  section-small
------------------------------------------------*/

.section-small > div {
	max-width: 800px;
}

@media screen and (max-width: 767px) {
	.section-small > div {
		max-width: 500px;
	}
}

/*  section-light
------------------------------------------------*/

.section-light {
	background: #f7f7f7;
}

/*  section-dark
------------------------------------------------*/

.section-dark {
	background: #ebebeb;
}

/*  section-stripe
------------------------------------------------*/

.section-stripe {
	background-color: #f2f2f2;
	background-image: linear-gradient(-45deg, #f2f2f2 25%, #e7e7e7 25%, #e7e7e7 50%, #f2f2f2 50%, #f2f2f2 75%, #e7e7e7 75%, #e7e7e7);
	background-size: 5px 5px;
}

/*  base-sectionArrow
========================================================================*/

.base-sectionArrow > div {
	overflow: hidden!important;
}
.base-sectionArrow .inner {
	position: relative;
	z-index: auto!important;
}
.base-sectionArrow .inner:nth-child(even) {
	background: #ebebeb;
}
.base-sectionArrow .inner:after {
	content: '';
	position: absolute;
	z-index: 1;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border: 50vw solid transparent;
	border-top: 70px solid #fff;
	pointer-events: none;
}
.base-sectionArrow .inner:nth-child(even):after {
	border-top-color: #ebebeb;
}
.base-sectionArrow .inner > div {
	width: calc(100% - 20px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 130px 0 40px;
}
.base-sectionArrow .inner:first-child > div {
	padding-top: 70px;
}
.base-sectionArrow .inner:last-child > div {
	padding-bottom: 70px;
}


@media screen and (max-width: 767px) {
	.base-sectionArrow .inner:after {
		border-top: 30px solid #fff;
	}
	.base-sectionArrow .inner > div {
		max-width: 500px;
		padding: 60px 0 20px;
	}
	.base-sectionArrow .inner:first-child > div {
		padding-top: 40px;
	}
	.base-sectionArrow .inner:last-child > div {
		padding-bottom: 40px;
	}
}

/*  sectionArrow-reverse
------------------------------------------------*/

.sectionArrow-reverse {
	background: #ebebeb;
}
.sectionArrow-reverse .inner:nth-child(even) {
	background: #fff;
}
.sectionArrow-reverse .inner:after {
	border-top-color: #ebebeb;
}
.sectionArrow-reverse .inner:nth-child(even):after {
	border-top-color: #fff;
}

/*  base-lead
========================================================================*/

div.base-lead {
	overflow: hidden!important;
}
.base-lead > div:not(.pb-handle) {
	position: relative;
	overflow: hidden!important;
	padding: 70px 0;
}
.base-lead .background {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	background: #fff;
	z-index: auto!important;
}
.base-lead .background div:not(.pb-handle) {
	position: static!important;
}
.base-lead .background .mce-resizehandle {
	display: none;
}
.base-lead .background img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: none;
	min-width: 101%;
	min-height: 101%;
	opacity: .3;
}
.base-lead .lead {
	position: relative;
	width: calc(100% - 20px);
	margin: 0 auto;
	font-size: 230%;
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	z-index: auto!important;
}

@media screen and (max-width: 767px) {
	.base-lead > div:not(.pb-handle) {
		padding: 40px 0;
	}
	.base-lead .lead {
		font-size: 140%;
	}
}

/*  lead-black
------------------------------------------------*/

.lead-black {
	color: #fff;
}
.lead-black .background {
	background: #000;
}

/*  h2
========================================================================*/

.base-h2:not(:first-child) {
	margin-top: 80px;
}
.base-h2 {
	text-align: center;
}

@media screen and (max-width: 767px) {
	.base-h2:not(:first-child) {
		margin-top: 40px;
	}
}

/*  h2-subtitle
------------------------------------------------*/

.h2-subtitle .subtitle {
	margin-top: 10px;
}
.h2-subtitle .subtitle > div:not(.pb-handle) {
	position: relative;
	display: inline-block;
	padding: 0 40px;
}
.h2-subtitle .subtitle > div:not(.pb-handle):before,
.h2-subtitle .subtitle > div:not(.pb-handle):after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	display: inline-block;
	width: 30px;
	height: 1px;
	background: #000;
}
.h2-subtitle .subtitle > div:before {
	left:0;
}
.h2-subtitle .subtitle > div:after {
	right: 0;
}

@media screen and (max-width: 767px) {
	.h2-subtitle .subtitle > div:not(.pb-handle) {
		padding: 0 30px;
	}
	.h2-subtitle .subtitle > div:not(.pb-handle):before,
	.h2-subtitle .subtitle > div:not(.pb-handle):after {
		width: 20px;
	}
}

/*  h3
========================================================================*/

.base-h3:not(:first-child) {
	margin-top: 50px;
}
.base-h3 h3 {
	padding: 5px 15px;
	background: rgba(0,0,0,.05);
}

@media screen and (max-width: 767px) {
	.base-h3:not(:first-child) {
		margin-top: 40px;
	}
}

/*  h3-subtitle
------------------------------------------------*/

.h3-subtitle .subtitle {
	margin-top: 5px;
	font-size: 80%;
	text-align: right;
}
.h3-subtitle .subtitle strong {
	color: #f00;
	font-weight: normal;
}

/*  h4
========================================================================*/

.base-h4:not(:first-child) {
	margin-top: 50px;
}
.base-h4 h4 {
	padding-bottom: 5px;
	border-bottom: 2px solid rgba(0,0,0,.1);
}

@media screen and (max-width: 767px) {
	.base-h4:not(:first-child) {
		margin-top: 40px;
	}
}

/*  h4-subtitle
------------------------------------------------*/

.h4-subtitle .subtitle {
	margin-top: 5px;
	font-size: 80%;
	text-align: right;
}

/*  h5
========================================================================*/

.base-h5:not(:first-child) {
	margin-top: 50px;
}
.base-h5 > div {
	position: relative;
	padding-left: 1em;
	border-left: 2px solid rgba(0,0,0,.2);
}

@media screen and (max-width: 767px) {
	.base-h5:not(:first-child) {
		margin-top: 40px;
	}
}

/*  h5-subtitle
------------------------------------------------*/

.h5-subtitle .subtitle {
	font-size: 80%;
}

/*  text
========================================================================*/

.base-text:not(:first-child) {
	margin-top: 30px;
}
.base-text a.pbOpenNewWindow:after,
.base-text a[href$=".pdf"]:after,
.base-text a[href$=".doc"]:after,
.base-text a[href$=".docx"]:after,
.base-text a[href$=".xls"]:after,
.base-text a[href$=".xlsx"]:after,
.base-text a[href$=".ppt"]:after,
.base-text a[href$=".pptx"]:after {
	content: '';
	display: inline-block;
	width: 13px;
	height: 13px;
	margin: 0 5px;
	padding-top: 3px;
	background: url(../images/icon_window.png) no-repeat center top;
	vertical-align: middle;
}
.base-text a[href$=".pdf"]:after {
	background: url(../images/icon_pdf.png) no-repeat center top;
}
.base-text a[href$=".doc"]:after,
.base-text a[href$=".docx"]:after {
	background: url(../images/icon_word.png) no-repeat center top;
}
.base-text a[href$=".xls"]:after,
.base-text a[href$=".xlsx"]:after {
	background: url(../images/icon_excel.png) no-repeat center top;
}
.base-text a[href$=".ppt"]:after,
.base-text a[href$=".pptx"]:after {
	background: url(../images/icon_powerpoint.png) no-repeat center top;
}

@media screen and (max-width: 767px) {
	.base-text:not(:first-child) {
		margin-top: 20px;
	}
}

/*  text-center
------------------------------------------------*/

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

/*  text-right
------------------------------------------------*/

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

/*  text-bold
------------------------------------------------*/

.text-bold {
	font-weight: bold;
}

/*  text-lead
------------------------------------------------*/

.text-lead {
	font-weight: bold;
	font-size: 125%;
    text-align: center;
}

@media screen and (max-width: 767px) {
	.text-lead {
		font-size: 105%;
		text-align: left;
		word-spacing: -.3em;
	}
	.text-lead br {
		display: none;
	}
}

/*  text-large
------------------------------------------------*/

.text-large {
	font-size: 120%;
}

/*  text-small
------------------------------------------------*/

.text-small {
	font-size: 90%;
}

/*  textbox
========================================================================*/

.base-textbox:not(:first-child) {
	margin-top: 30px;
}
.base-textbox .title:not(:first-child) {
	margin-top: 20px;
}
.base-textbox .title:not(:first-child) > div {
	padding-top: 20px;
	border-top: 1px solid rgba(0,0,0,.1);
}
.base-textbox .title {
	font-weight: bold;
	font-size: 120%;
}
.base-textbox .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-textbox .text:not(:first-child) {
	margin-top: 15px;
}
.base-textbox .list:not(:first-child) {
	margin-top: 15px;
}
.base-textbox .table:not(:first-child) {
	margin-top: 15px;
}
.base-textbox .button:not(:first-child) {
	margin-top: 20px;
}
.base-textbox .button {
	text-align: center;
}
.base-textbox .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.base-textbox .button a:hover {
	background: #000;
}
.base-textbox .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

/*  textbox-gray
------------------------------------------------*/

.textbox-gray > div {
	padding: 30px;
	background: rgba(0,0,0,.03);
}

@media screen and (max-width: 767px) {
	.textbox-gray > div {
		padding: 20px 15px;
	}
}

/*  textbox-red
------------------------------------------------*/

.textbox-red > div {
	padding: 30px;
	background: #faeae8;
	border: 3px solid #ac3428;
	color: #ac3428;
}
.textbox-red a {
	color: #ac3428;
}
.textbox-red .title:not(:first-child) > div {
	border-color: #ac3428;
}
.textbox-red .title p:before {
	background: #ac3428;
}
.textbox-red .list li:before {
	border-color: #ac3428;
}
.textbox-red .table th {
	background: #ac3428;
}
.textbox-red .table td {
	background: rgba(255,255,255,.5);
}
.textbox-red .button a {
	background: #ac3428;
}

@media screen and (max-width: 767px) {
	.textbox-red > div {
		padding: 20px 15px;
	}
}

/*  textbox-border
------------------------------------------------*/

.textbox-border > div {
	padding: 30px;
	background: rgba(255,255,255,.5);
	border: 3px solid #ccc;
}

@media screen and (max-width: 767px) {
	.textbox-border > div {
		padding: 20px 15px;
	}
}

/*  textbox-small
------------------------------------------------*/

.textbox-small > div {
	padding: 20px;
	background: rgba(255,255,255,.5);
	border: 1px solid #ccc;
	font-size: 90%;
}

@media screen and (max-width: 767px) {
	.textbox-small > div {
		padding: 15px;
	}
}

/*  textbox-scroll
------------------------------------------------*/

.textbox-scroll > div {
	overflow: hidden!important;
	max-height: 200px;
	padding: 20px;
	background: rgba(255,255,255,.5);
	border: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
	.textbox-scroll > div {
		padding: 14px;
	}
}

/*  imagebox
========================================================================*/

.base-imagebox:not(:first-child) {
	margin-top: 30px;
}
.base-imagebox .box:first-child {
	max-width: 45%;
	float: left;
	margin-right: 25px;
}
.base-imagebox .box:first-child > div {
	display: table;
}
.base-imagebox .box:last-child {
	overflow: hidden!important;
}
.base-imagebox .box:only-child {
	display: block;
	max-width: none;
	margin: auto!important;
}
.base-imagebox .image:not(:first-child) {
	margin-top: 10px;
}
.base-imagebox .image img {
	width: 100%;
}
.base-imagebox .caption {
	display: table-caption;
	caption-side: bottom;
	margin-top: 5px;
	color: #666;
	font-size: 90%;
}
.base-imagebox .title:not(:first-child) {
	margin-top: 20px;
}
.base-imagebox .title:not(:first-child) > div {
	padding-top: 20px;
	border-top: 1px solid rgba(0,0,0,.1);
}
.base-imagebox .title {
	font-weight: bold;
	font-size: 120%;
}
.base-imagebox .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-imagebox .text:not(:first-child) {
	margin-top: 15px;
}
.base-imagebox .list:not(:first-child) {
	margin-top: 15px;
}
.base-imagebox .table:not(:first-child) {
	margin-top: 15px;
}
.base-imagebox .button:not(:first-child) {
	margin-top: 20px;
}
.base-imagebox .button {
	text-align: center;
}
.base-imagebox .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.base-imagebox .button a:hover {
	background: #000;
}
.base-imagebox .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-imagebox .box:first-child {
		max-width: none;
		float: none;
		margin-right: 0;
	}
	.base-imagebox .box:first-child > div {
		margin: 0 auto;
	}
	.base-imagebox .box:last-child {
		margin-top: 15px;
	}
}

/*  imagebox-gray
------------------------------------------------*/

.imagebox-gray > div {
	padding: 30px;
	background: rgba(0,0,0,.03);
}

@media screen and (max-width: 767px) {
	.imagebox-gray > div {
		padding: 20px 15px;
	}
}

/*  imagebox-flow
------------------------------------------------*/

.imagebox-flow .box .pbBlock {
	clear: none;
}
.imagebox-flow .box .pbNested:after {
	display: none;
}
.imagebox-flow .box:first-child {
	position: relative;
	z-index: 1;
	margin: 0 25px 10px 0;
}
.imagebox-flow .box:last-child {
	overflow: visible!important;
}

@media screen and (max-width: 767px) {
	.imagebox-flow .box:first-child {
		margin: 0;
	}
}

/*  imageboxR
========================================================================*/

.base-imageboxR:not(:first-child) {
	margin-top: 30px;
}
.base-imageboxR .box:first-child {
	max-width: 45%;
	float: right;
	margin-left: 25px;
}
.base-imageboxR .box:first-child > div {
	display: table;
}
.base-imageboxR .box:last-child {
	overflow: hidden!important;
}
.base-imageboxR .box:only-child {
	display: block;
	max-width: none;
	margin: auto!important;
}
.base-imageboxR .image:not(:first-child) {
	margin-top: 10px;
}
.base-imageboxR .image img {
	width: 100%;
}
.base-imageboxR .caption {
	display: table-caption;
	caption-side: bottom;
	margin-top: 5px;
	color: #666;
	font-size: 90%;
}
.base-imageboxR .title:not(:first-child) {
	margin-top: 20px;
}
.base-imageboxR .title:not(:first-child) > div {
	padding-top: 20px;
	border-top: 1px solid rgba(0,0,0,.1);
}
.base-imageboxR .title {
	font-weight: bold;
	font-size: 120%;
}
.base-imageboxR .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-imageboxR .text:not(:first-child) {
	margin-top: 15px;
}
.base-imageboxR .list:not(:first-child) {
	margin-top: 15px;
}
.base-imageboxR .table:not(:first-child) {
	margin-top: 15px;
}
.base-imageboxR .button:not(:first-child) {
	margin-top: 20px;
}
.base-imageboxR .button {
	text-align: center;
}
.base-imageboxR .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.base-imageboxR .button a:hover {
	background: #000;
}
.base-imageboxR .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-imageboxR .box:first-child {
		max-width: none;
		float: none;
		margin-left: 0;
	}
	.base-imageboxR .box:first-child > div {
		margin: 0 auto;
	}
	.base-imageboxR .box:last-child {
		margin-top: 15px;
	}
}

/*   imageboxR-gray
------------------------------------------------*/

.imageboxR-gray > div {
	padding: 30px;
	background: rgba(0,0,0,.03);
}

@media screen and (max-width: 767px) {
	.imageboxR-gray > div {
		padding: 20px 15px;
	}
}

/*  imageboxR-flow
------------------------------------------------*/

.imageboxR-flow .box .pbBlock {
	clear: none;
}
.imageboxR-flow .box .pbNested:after {
	display: none;
}
.imageboxR-flow .box:first-child {
	position: relative;
	z-index: 1;
	margin: 0 0 10px 25px;
}
.imageboxR-flow .box:last-child {
	overflow: visible!important;
}

@media screen and (max-width: 767px) {
	.imageboxR-flow .box:first-child {
		margin: 0;
	}
}

/*  step
========================================================================*/

.base-step:not(:first-child) {
	margin-top: 30px;
}
.base-step + .base-step {
	margin-top: 10px;
}
.base-step > div {
	display: flex;
	background: rgba(0,0,0,.02);
}
.base-step .step {
	width: 150px;
	background: #333;
	color: #fff;
	font-size: 150%;
	letter-spacing: 5px;
	font-weight: bold;
	font-family: 'Roboto Condensed', sans-serif;
	z-index: auto!important;
}
.base-step .step > div {
	width: 100%;
	padding: 20px 10px;
	text-align: center;
}
.base-step .textbox {
	position: relative;
	display: flex;
	align-items: center;
	width: calc(100% - 190px);
	margin: auto;
	z-index: auto!important;
}
.base-step .textbox > div {
	width: 100%;
	padding: 25px 0;
}
.base-step .textbox > div.pb-handle {
	top: 10px;
}
.base-step .title:not(:first-child) {
	margin-top: 20px;
}
.base-step .title:not(:first-child) > div {
	padding-top: 20px;
	border-top: 1px solid rgba(0,0,0,.1);
}
.base-step .title {
	font-weight: bold;
	font-size: 120%;
}
.base-step .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-step .text:not(:first-child) {
	margin-top: 15px;
}
.base-step .list:not(:first-child) {
	margin-top: 15px;
}
.base-step .table:not(:first-child) {
	margin-top: 15px;
}
.base-step .button:not(:first-child) {
	margin-top: 20px;
}
.base-step .button {
	text-align: center;
}
.base-step .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.base-step .button a:hover {
	background: #000;
}
.base-step .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-step > div {
		display: block;
	}
	.base-step .step {
		width: 100%;
	}
	.base-step .step > div {
		padding: 5px;
	}
	.base-step .textbox {
		width: 100%;
	}
	.base-step .textbox > div {
		width: 100%;
		padding: 20px 15px;
	}
}

/*  point
========================================================================*/

.base-point:not(:first-child) {
	margin-top: 30px;
}
.base-point > div {
	display: table;
	width: 100%;
	table-layout: fixed;
}
.base-point > div:after {
	display: none;
}
.base-point .box {
	display: table-cell;
}
.base-stepline .box:not(:first-child) {
	border-left: 1px solid #ccc;
}
.base-point .box > div {
    padding: 0 5% 15px;
}
.base-point .step {
	text-align: center;
}
.base-point .step > div {
	position: relative;
	display: inline-block;
	padding: 2px 15px 2px 35px;
	background: #ef6132;
	color: #fff;
	font-size: 120%;
	letter-spacing: 2px;
	font-family: 'Roboto Condensed', sans-serif;
	border-radius: 20px;
}
.base-point .step > div:before {
	content: '';
	position: absolute;
	top: calc(2px + .1em);
	left: 15px;
	width: .4em;
	height: .8em;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
}
.base-point .image:not(:first-child) {
	margin-top: 20px;
}
.base-point .image {
	text-align: center;
}
.base-point .title:not(:first-child) {
	margin-top: 20px;
}
.base-point .title {
	font-weight: bold;
	font-size: 120%;
	text-align: center;
}
.base-point .text:not(:first-child) {
	margin-top: 10px;
}
.base-point .list:not(:first-child) {
	margin-top: 15px;
}
.base-point .table:not(:first-child) {
	margin-top: 15px;
}
.base-point .table th,
.base-point .table td {
	padding: 10px;
}
.base-point .button:not(:first-child) {
	margin-top: 20px;
}
.base-point .button {
	text-align: center;
}
.base-point .button a {
	display: inline-block;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.base-point .button a:hover {
	background: #000;
}
.base-point .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-point > div {
		display: block;
	}
	.base-point .box {
		display: block;
	}
	.base-point .box:not(:first-child) {
		margin-top: 30px;
		padding-top: 30px;
		border: none;
		border-top: 1px solid #ccc;
	}
	.base-point .box > div {
		padding: 0;
	}
	.base-point .table th {
		padding: 8px 10px;
	}
}

/*  line
========================================================================*/

.base-line:not(:first-child),
.base-line + div:not(:first-child) {
	margin-top: 60px;
}
.base-line hr {
	border: 0;
	border-top: 1px solid #bbb;
}

@media screen and (max-width: 767px) {
	.base-line:not(:first-child),
	.base-line + div:not(:first-child) {
		margin-top: 40px;
	}
}

/*  line-dashed
------------------------------------------------*/

.line-dashed hr {
	border-top: 1px dashed #bbb;
}

/*  line-double
------------------------------------------------*/

.line-double hr {
	border-top: 3px double #bbb;
}

/*  base-arrow
========================================================================*/

.base-arrow:not(:first-child),
.base-arrow + div:not(:first-child) {
	margin-top: 40px;
}
.base-arrow > div:not(.pb-handle) {
	position: relative;
	height: 40px;
	text-align: center;
}
.base-arrow > div:not(.pb-handle):before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	left: 50%;
	transform: translateX(-50%);
	border: 40px solid transparent;
	border-top-color: rgba(0,0,0,.2);
}

@media screen and (max-width: 767px) {
	.base-arrow:not(:first-child),
	.base-arrow + div:not(:first-child) {
		margin-top: 20px;
	}
	.base-arrow > div:before {
		border-width: 20px;
	}
}

/*  arrow-light
------------------------------------------------*/

.arrow-light > div:not(.pb-handle):before {
	border-top-color: rgba(0,0,0,.6);
}

/*  arrow-dark
------------------------------------------------*/

.arrow-dark > div:not(.pb-handle):before {
	border-top-color: rgba(0,0,0,1);
}

/*  image
========================================================================*/

.base-image:not(:first-child) {
	margin-top: 30px;
}

@media screen and (max-width: 767px) {
	.base-image:not(:first-child) {
		margin-top: 20px;
	}
}

/*  image-center
------------------------------------------------*/

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

/*  image-right
------------------------------------------------*/

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

/*  image-w100
------------------------------------------------*/

.image-w100 img {
	width: 100%;
}

/*  image-text
------------------------------------------------*/

.image-text .title:not(:first-child) {
	margin-top: 15px;
}
.image-text .title {
	font-weight: bold;
	font-size: 125%;
    text-align: center;
}
.image-text .image:not(:first-child) {
	margin-top: 15px;
}
.image-text .image {
	text-align: center;
}
.image-text .text:not(:first-child) {
	margin-top: 15px;
}

@media screen and (max-width: 767px) {
	.image-text .title {
		font-size: 105%;
		text-align: left;
		word-spacing: -.3em;
	}
	.image-text .title br {
		display: none;
	}
}

/*  images
========================================================================*/

.base-images:not(:first-child) {
	margin-top: 30px;
}
.base-images > div {
	display: flex;
	flex-wrap: wrap;
	margin: -10px;
}
.base-images .image {
	width: calc(50% - 20px);
	min-height: 0%;
	margin: 10px;
	z-index: auto!important;
}
.base-images .image img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.base-images:not(:first-child) {
		margin-top: 20px;
	}
	.base-images > div {
		margin: -5px;
	}
	.base-images .image {
		width: 100%;
		margin: 5px;
	}
}

/*  images-3column
------------------------------------------------*/

.images-3column .image {
	width: calc(33.33% - 20px);
}

@media screen and (max-width: 767px) {
	.images-3column .image {
		width: 100%;
	}
}

/*  images-4column
------------------------------------------------*/

.images-4column > div {
	margin: -5px;
}
.images-4column .image {
	max-width: calc(25% - 10px);
	margin: 5px;
}

@media screen and (max-width: 767px) {
	.images-4column > div {
		margin: -3px;
	}
	.images-4column .image {
		max-width: calc(50% - 6px);
		margin: 3px;
	}
}

/*  images-5column
------------------------------------------------*/

.images-5column > div {
	margin: -3px;
}
.images-5column .image {
	max-width: calc(20% - 6px);
	margin: 3px;
}

@media screen and (max-width: 767px) {
	.images-5column .image {
		max-width: calc(50% - 6px);
	}
}

/*  background
========================================================================*/

.base-background:not(:first-child) {
	margin-top: 30px;
}
.base-background > div {
	position: relative;
}
div.base-background .image {
	overflow: hidden!important;
}
.base-background .image img {
	width: 100%;
}
.base-background .image a:hover img {
	transform: scale(1.1);
	opacity: 1;
}
.base-background .textbox {
	position: absolute;
	bottom: 0;
	width: 100%;
	background: rgba(0,0,0,.7);
	color: #fff;
	text-align: center;
	z-index: auto!important;
}
.pbPage:not(.pbPage--edit) .base-background .textbox {
	pointer-events: none;
}
.base-background .textbox > div {
	padding: 30px 20px;
}
.base-background .title > div {
	position: relative;
	padding-bottom: 10px;
	font-weight: bold;
	font-size: 130%;
}
.base-background .title > div:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	width: 50px;
	height: 2px;
	background: #fff;
}
.base-background .text:not(:first-child) {
	margin-top: 15px;
}

@media screen and (max-width: 767px) {
	.base-background .textbox {
		position: static;
	}
	.base-background .textbox > div {
		padding: 15px;
		background: #000;
	}
}

/*  background-left
------------------------------------------------*/

.background-left .textbox {
	display: flex;
	align-items: center;
	top: 0;
	width: 300px;
}
.background-left .textbox > div {
	padding: 20px 20px 30px;
}
.background-left .textbox > div.pb-handle {
	top: 10px;
}

@media screen and (max-width: 767px) {
	.background-left .textbox {
		display: block;
		width: 100%;
	}
	.background-left .textbox > div {
		padding: 15px;
	}
}

/*  background-right
------------------------------------------------*/

.background-right .textbox {
	display: flex;
	align-items: center;
	top: 0;
	right: 0;
	width: 300px;
}
.background-right .textbox > div {
	padding: 20px 20px 30px;
}
.background-right .textbox > div.pb-handle {
	top: 10px;
}

@media screen and (max-width: 767px) {
	.background-right .textbox {
		display: block;
		width: 100%;
	}
	.background-right .textbox > div {
		padding: 15px;
	}
}

/*  overlap
========================================================================*/

.base-overlap:not(:first-child) {
	margin-top: 30px;
}
.base-overlap > div {
	display: flex;
}
.base-overlap .image {
	width: 60%;
	margin-top: 50px;
	z-index: auto!important;
}
.base-overlap .image img {
	width: 100%;
}
.base-overlap .textbox {
	width: 60%;
	margin-left: -20%;
	z-index: 1!important;
}
.base-overlap .textbox > div {
	padding: 30px;
	background: rgba(255,255,255,.8);
	box-shadow: 0 0 3px rgba(0,0,0,.1);
}
.base-overlap .title > div {
	position: relative;
	padding-bottom: 10px;
	font-weight: bold;
	font-size: 130%;
	text-align: center;
}
.base-overlap .title > div:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	width: 50px;
	height: 2px;
	background: #000;
}
.base-overlap .text:not(:first-child) {
	margin-top: 15px;
}
.base-overlap .button:not(:first-child) {
	margin-top: 15px;
}
.base-overlap .button {
	text-align: center;
}
.base-overlap .button a {
	display: inline-block;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.base-overlap .button a:hover {
	background: #000;
}
.base-overlap .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-overlap > div {
		flex-wrap: wrap;
	}
	.base-overlap .image {
		width: 100%;
		margin-top: 0;
	}
	.base-overlap .textbox {
		width: 93%;
		margin: -50px auto 0;
	}
	.base-overlap .textbox > div {
		padding: 20px 10px;
	}
}

/*  overlap-rb
------------------------------------------------*/

.overlap-rb .image {
	margin-top: 0;
}
.overlap-rb .textbox {
	margin: 50px 0 0 -20%;
}

@media screen and (max-width: 767px) {
	.overlap-rb .textbox {
		margin: -50px auto 0;
	}
}

/*  overlap-lt
------------------------------------------------*/

.overlap-lt .image {
	order: 1;
}
.overlap-lt .textbox {
	margin: 0 -20% 0 0;
}

@media screen and (max-width: 767px) {
	.overlap-lt .image {
		order: 0;
	}
	.overlap-lt .textbox {
		margin: -50px auto 0;
	}
}

/*  overlap-lb
------------------------------------------------*/

.overlap-lb .image {
	margin-top: 0;
	order: 1;
}
.overlap-lb .textbox {
	margin: 50px -20% 0 0;
}

@media screen and (max-width: 767px) {
	.overlap-lb .image {
		order: 0;
	}
	.overlap-lb .textbox {
		margin: -50px auto 0;
	}
}

/*  imagelist
========================================================================*/

.base-imagelist:not(:first-child) {
	margin-top: 30px;
}
.base-imagelist > div {
	display: flex;
}
.base-imagelist > div > div {
	z-index: auto!important;
}
.base-imagelist .image {
	width: 31%;
}
.base-imagelist .image img {
	width: 100%;
}
.base-imagelist .textbox {
	display: flex;
	align-items: center;
	position: relative;
	width: 70%;
}
.base-imagelist .textbox > div {
	width: 100%;
	padding: 5px 0 5px 25px;
}
.base-imagelist .textbox > div.pb-handle {
	top: 10px;
}
.base-imagelist .title {
	font-weight: bold;
	font-size: 120%;
}
.base-imagelist .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-imagelist .text:not(:first-child) {
	margin-top: 10px;
}
.base-imagelist .button {
	margin-top: 20px;
	text-align: center;
}
.base-imagelist .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-decoration: none;
}
.base-imagelist .button a:hover {
	background: #000;
}
.base-imagelist .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-imagelist:not(:first-child) {
		margin-top: 20px;
	}
	.base-imagelist > div {
		display: block;
	}
	.base-imagelist .image {
		width: 100%;
	}
	.base-imagelist .textbox {
		width: 100%;
	}
	.base-imagelist .textbox > div {
		padding: 15px 0 0 0;
	}
}

/*  imagelist-gray
------------------------------------------------*/

.imagelist-gray {
	background: rgba(0,0,0,.05);
}
.imagelist-gray .textbox > div {
	padding: 20px 25px;
}

@media screen and (max-width: 767px) {
	.imagelist-gray .textbox > div {
		padding: 15px;
	}
}

/*  imagelist-border
------------------------------------------------*/

.imagelist-border {
	background: #fff;
	border: 1px solid #ccc;
}
.imagelist-border .textbox > div {
	padding: 20px 25px;
}

@media screen and (max-width: 767px) {
	.imagelist-border .textbox > div {
		padding: 15px;
	}
}

/*  imagelistR
========================================================================*/

.base-imagelistR:not(:first-child) {
	margin-top: 30px;
}
.base-imagelistR > div {
	display: flex;
}
.base-imagelistR > div > div {
	z-index: auto!important;
}
.base-imagelistR .image {
	order: 1;
	width: 31%;
}
.base-imagelistR .image img {
	width: 100%;
}
.base-imagelistR .textbox {
	display: flex;
	align-items: center;
	position: relative;
	width: 70%;
}
.base-imagelistR .textbox > div {
	width: 100%;
	padding: 5px 25px 5px 0;
}
.base-imagelistR .textbox > div.pb-handle {
	top: 10px;
}
.base-imagelistR .title {
	font-weight: bold;
	font-size: 120%;
}
.base-imagelistR .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-imagelistR .text:not(:first-child) {
	margin-top: 10px;
}
.base-imagelistR .button {
	margin-top: 20px;
	text-align: center;
}
.base-imagelistR .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-decoration: none;
}
.base-imagelistR .button a:hover {
	background: #000;
}
.base-imagelistR .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-imagelistR:not(:first-child) {
		margin-top: 20px;
	}
	.base-imagelistR > div {
		display: block;
	}
	.base-imagelistR .image {
		width: 100%;
	}
	.base-imagelistR .textbox {
		width: 100%;
	}
	.base-imagelistR .textbox > div {
		padding: 15px 0 0 0;
	}
}

/*  imagelistR-gray
------------------------------------------------*/

.imagelistR-gray {
	background: rgba(0,0,0,.05);
}
.imagelistR-gray .textbox > div {
	padding: 20px 25px;
}

@media screen and (max-width: 767px) {
	.imagelistR-gray .textbox > div {
		padding: 15px;
	}
}

/*  imagelistR-border
------------------------------------------------*/

.imagelistR-border {
	background: #fff;
	border: 1px solid #ccc;
}
.imagelistR-border .textbox > div {
	padding: 20px 25px;
}

@media screen and (max-width: 767px) {
	.imagelistR-border .textbox > div {
		padding: 15px;
	}
}

/*  banner
========================================================================*/

.base-banner:not(:first-child) {
	margin-top: 30px;
}
.base-banner > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.base-banner .image {
	margin: 15px;
	z-index: auto!important;
}

@media screen and (max-width: 767px) {
	.base-banner:not(:first-child) {
		margin-top: 20px;
	}
	.base-banner .image {
		max-width: 80px;
		margin: 3px;
	}
}

/*  banner-gray
------------------------------------------------*/

.banner-gray > div {
	padding: 15px;
	background: rgba(0,0,0,.03);
}

@media screen and (max-width: 767px) {
	.banner-gray > div {
		padding: 15px;
	}
}

/*  banner-border
------------------------------------------------*/

.banner-border > div {
	padding: 13px;
	background: rgba(255,255,255,.5);
	border: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
	.banner-border > div {
		padding: 15px;
	}
}

/*  borderbanner
========================================================================*/

.base-borderbanner:not(:first-child) {
	margin-top: 30px;
}
.base-borderbanner > div {
	display: flex;
	flex-wrap: wrap;
	margin: -10px;
}
.base-borderbanner .image {
	width: calc(25% - 20px);
	height: 130px;
	margin: 10px;
	background: rgba(255,255,255,.5);
	border: 1px solid #ccc;
	z-index: auto!important;
}
.base-borderbanner .image > div:not(.pb-handle) {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 10px;
	text-align: center;
}
.base-borderbanner .image > div > div {
	width: 100%;
}
.base-borderbanner .image img {
	max-height: 110px;
}

@media screen and (max-width: 767px) {
	.base-borderbanner:not(:first-child) {
		margin-top: 20px;
	}
	.base-borderbanner > div {
		margin: -3px;
	}
	.base-borderbanner .image {
		width: calc(50% - 6px);
		margin: 3px;
		height: 90px;
	}
	.base-borderbanner .image img {
		max-height: 70px;
	}
}

/*  borderbanner-center
------------------------------------------------*/

.borderbanner-center > div {
	justify-content: center;
}

/*  textbanner
========================================================================*/

.base-textbanner:not(:first-child) {
	margin-top: 30px;
}
.base-textbanner > div {
	display: flex;
	flex-wrap: wrap;
	margin: -10px;
}
.base-textbanner .box {
	width: calc(25% - 20px);
	margin: 10px;
	z-index: auto!important;
}
.base-textbanner .image {
	height: 130px;
	background: rgba(255,255,255,.5);
	border: 1px solid #ccc;
}
.base-textbanner .image > div:not(.pb-handle) {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 10px;
	text-align: center;
}
.base-textbanner .image > div > div {
	width: 100%;
}
.base-textbanner .image img {
	max-height: 110px;
}
.base-textbanner .text {
	margin-top: 5px;
}

@media screen and (max-width: 767px) {
	.base-textbanner:not(:first-child) {
		margin-top: 20px;
	}
	.base-textbanner > div {
		margin: -3px;
	}
	.base-textbanner .box {
		width: calc(50% - 6px);
		margin: 3px;
	}
	.base-textbanner .image {
		height: 90px;
	}
	.base-textbanner .image img {
		max-height: 70px;
	}
}

/*  textbanner-center
------------------------------------------------*/

.textbanner-center > div {
	justify-content: center;
}

/*  link
========================================================================*/

.base-link:not(:first-child) {
	margin-top: 30px;
}
.base-link a {
	display: inline-block;
	position: relative;
	padding-left: 1.3em;
}
.base-link a:before {
	content: '';
	position: absolute;
	top: .5em;
	left: 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	transform: rotate(45deg);
}
.base-link a.pbOpenNewWindow:after,
.base-link a[href$=".pdf"]:after,
.base-link a[href$=".doc"]:after,
.base-link a[href$=".docx"]:after,
.base-link a[href$=".xls"]:after,
.base-link a[href$=".xlsx"]:after,
.base-link a[href$=".ppt"]:after,
.base-link a[href$=".pptx"]:after {
	content: '';
	display: inline-block;
	width: 13px;
	height: 13px;
	margin: 0 5px;
	padding-top: 3px;
	background: url(../images/icon_window.png) no-repeat center top;
	vertical-align: middle;
}
.base-link a[href$=".pdf"]:after {
	background: url(../images/icon_pdf.png) no-repeat center top;
}
.base-link a[href$=".doc"]:after,
.base-link a[href$=".docx"]:after {
	background: url(../images/icon_word.png) no-repeat center top;
}
.base-link a[href$=".xls"]:after,
.base-link a[href$=".xlsx"]:after {
	background: url(../images/icon_excel.png) no-repeat center top;
}
.base-link a[href$=".ppt"]:after,
.base-link a[href$=".pptx"]:after {
	background: url(../images/icon_powerpoint.png) no-repeat center top;
}

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

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

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

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

/*  largelink
========================================================================*/

.base-largelink:not(:first-child) {
	margin-top: 30px;
}
.base-largelink a {
	display: inline-block;
	position: relative;
	padding-left: 1.3em;
	font-weight: bold;
	font-size: 110%;
}
.base-largelink a:before {
	content: '';
	position: absolute;
	top: .5em;
	left: 0;
	width: .4em;
	height: .4em;
	border-top: 3px solid #000;
	border-right: 3px solid #000;
	transform: rotate(45deg);
}

/*  largelink-center
------------------------------------------------*/

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

/*  largelink-right
------------------------------------------------*/

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

/*  anchor
========================================================================*/

.base-anchor:not(:first-child) {
	margin-top: 30px;
}
.base-anchor ul {
	display: flex;
	flex-wrap: wrap;
}
.base-anchor ul li {
	margin: 5px 10px;
}
.base-anchor ul li:before {
	top: .4em;
	transform: rotate(135deg);
}

/*  anchor-gray
------------------------------------------------*/

.anchor-gray > div {
	padding: 20px;
	background: rgba(0,0,0,.05);
}

@media screen and (max-width: 767px) {
	.anchor-gray > div {
		padding: 10px;
	}
}

/*  button
========================================================================*/

.base-button:not(:first-child) {
	margin-top: 30px;
}
.base-button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.base-button a:hover {
	background: #000;
}
.base-button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

/*  button-center
------------------------------------------------*/

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

/*  button-right
------------------------------------------------*/

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

/*  button-group
------------------------------------------------*/

.button-group > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -5px;
}
.button-group .button {
	margin: 5px;
	z-index: auto!important;
}

/*  buttonRed
========================================================================*/

.base-buttonRed:not(:first-child) {
	margin-top: 30px;
}
.base-buttonRed a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	padding: .6em 2em;
	background: #cc3300;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.base-buttonRed a:hover {
	background: #000;
}
.base-buttonRed a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

/*  buttonRed-center
------------------------------------------------*/

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

/*  buttonRed-right
------------------------------------------------*/

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

/*  largebutton
========================================================================*/

.base-largebutton:not(:first-child) {
	margin-top: 30px;
}
.base-largebutton a {
	display: inline-block;
	min-width: 50%;
	padding: 1em 2em;
	background: #333;
	color: #fff;
	font-size: 130%;
	text-align: center;
	text-decoration: none;
}
.base-largebutton a:hover {
	background: #000;
}
.base-largebutton a:before {
	content: '';
	display: inline-block;
	margin: 0 15px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-largebutton a {
		padding: 1em 1.5em;
		font-size: 120%;
	}
}

/*  largebutton-center
------------------------------------------------*/

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

/*  largebutton-right
------------------------------------------------*/

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

/*  largebutton-group
------------------------------------------------*/

.largebutton-group > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -10px;
}
.largebutton-group .button {
	width: calc(50% - 20px);
	margin: 10px;
	z-index: auto!important;
}
.largebutton-group a {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.largebutton-group > div {
		margin: -5px;
	}
	.largebutton-group .button {
		width: auto;
		margin: 5px;
	}
}

/*  imagelink
========================================================================*/

.base-imagelink:not(:first-child) {
	margin-top: 30px;
}
.base-imagelink > div {
	display: flex;
	flex-wrap: wrap;
	margin: -20px;
	text-shadow: 1px 2px 3px #fff;
}
.base-imagelink .box {
	position: relative;
	width: calc(50% - 40.5px);
	margin: 20px;
	z-index: auto!important;
}
.base-imagelink .box:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 2em;
	width: 1em;
	height: 1em;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(45deg);
	transition: all .3s;
	pointer-events: none;
}
.base-imagelink .image > div {
	background: #fff;
}
.base-imagelink .image > div > div {
	opacity: .4;
	transition: all .3s;
}
.base-imagelink .image > div > div:hover {
	opacity: 1;
}
.base-imagelink .image img {
	width: 100%;
}
.base-imagelink .image a:hover img {
	opacity: 1;
}
.base-imagelink .textarea {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: auto!important;
}
.pbPage:not(.pbPage--edit) .base-imagelink .textarea {
	pointer-events: none;
}
.base-imagelink .textarea > div {
	padding: 0 4em 0 30px;
}
.base-imagelink .title {
	font-size: 250%;
	font-weight: bold;
}
.base-imagelink .title > div {
	position: relative;
	padding-bottom: 5px;
}
.base-imagelink .title > div:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 50px;
	height: 1px;
	background: #000;
}
.base-imagelink .text {
	margin-top: 10px;
	font-size: 110%;
}

@media screen and (max-width: 767px) {
	.base-imagelink > div {
		margin: -5px -10px;
	}
	.base-imagelink .box {
		width: 100%;
		margin: 5px 10px;
	}
	.base-imagelink .textarea > div {
		padding: 0 4em 0 20px;
	}
	.base-imagelink .title {
		font-size: 200%;
	}
}

/*  imagelink-white
------------------------------------------------*/

.imagelink-white > div {
	color: #fff;
	text-shadow: 1px 2px 3px #000;
}
.imagelink-white .image > div {
	background: #000;
}
.imagelink-white .box:after {
	border-color: #fff;
}
.imagelink-white .title > div:after {
	background: #fff;
}

/*  list
========================================================================*/

.base-list:not(:first-child) {
	margin-top: 30px;
}
.base-list ul li:not(:first-child) {
	margin-top: 10px;
}
.base-list a.pbOpenNewWindow:after,
.base-list a[href$=".pdf"]:after,
.base-list a[href$=".doc"]:after,
.base-list a[href$=".docx"]:after,
.base-list a[href$=".xls"]:after,
.base-list a[href$=".xlsx"]:after,
.base-list a[href$=".ppt"]:after,
.base-list a[href$=".pptx"]:after {
	content: '';
	display: inline-block;
	width: 13px;
	height: 13px;
	margin: 0 5px;
	padding-top: 3px;
	background: url(../images/icon_window.png) no-repeat center top;
	vertical-align: middle;
}
.base-list a[href$=".pdf"]:after {
	background: url(../images/icon_pdf.png) no-repeat center top;
}
.base-list a[href$=".doc"]:after,
.base-list a[href$=".docx"]:after {
	background: url(../images/icon_word.png) no-repeat center top;
}
.base-list a[href$=".xls"]:after,
.base-list a[href$=".xlsx"]:after {
	background: url(../images/icon_excel.png) no-repeat center top;
}
.base-list a[href$=".ppt"]:after,
.base-list a[href$=".pptx"]:after {
	background: url(../images/icon_powerpoint.png) no-repeat center top;
}

/*  list-gray
------------------------------------------------*/

.list-gray > div {
	padding: 30px;
	background: rgba(0,0,0,.05);
}

@media screen and (max-width: 767px) {
	.list-gray > div {
		padding: 15px;
	}
}

/*  linelist
========================================================================*/

.base-linelist:not(:first-child) {
	margin-top: 30px;
}
.base-linelist ul {
	display: flex;
	flex-wrap: wrap;
}
.base-linelist ul li {
	margin: 5px 10px;
}
.base-linelist a.pbOpenNewWindow:after,
.base-linelist a[href$=".pdf"]:after,
.base-linelist a[href$=".doc"]:after,
.base-linelist a[href$=".docx"]:after,
.base-linelist a[href$=".xls"]:after,
.base-linelist a[href$=".xlsx"]:after,
.base-linelist a[href$=".ppt"]:after,
.base-linelist a[href$=".pptx"]:after {
	content: '';
	display: inline-block;
	width: 13px;
	height: 13px;
	margin: 0 5px;
	padding-top: 3px;
	background: url(../images/icon_window.png) no-repeat center top;
	vertical-align: middle;
}
.base-linelist a[href$=".pdf"]:after {
	background: url(../images/icon_pdf.png) no-repeat center top;
}
.base-linelist a[href$=".doc"]:after,
.base-linelist a[href$=".docx"]:after {
	background: url(../images/icon_word.png) no-repeat center top;
}
.base-linelist a[href$=".xls"]:after,
.base-linelist a[href$=".xlsx"]:after {
	background: url(../images/icon_excel.png) no-repeat center top;
}
.base-linelist a[href$=".ppt"]:after,
.base-linelist a[href$=".pptx"]:after {
	background: url(../images/icon_powerpoint.png) no-repeat center top;
}

/*  linelist-gray
------------------------------------------------*/

.linelist-gray > div {
	padding: 20px;
	background: rgba(0,0,0,.05);
}

@media screen and (max-width: 767px) {
	.linelist-gray > div {
		padding: 10px;
	}
}

/*  noteslist
========================================================================*/

.base-noteslist:not(:first-child) {
	margin-top: 10px;
}
.base-noteslist {
	color: #999;
	font-size: 90%;
}
.base-noteslist a {
	color: #999;
}
.base-noteslist ul li:not(:first-child) {
	margin-top: 5px;
}
.base-noteslist ul li:before {
	content: '※';
	top: .1em;
	border: none;
	transform: none;
}
.base-noteslist a.pbOpenNewWindow:after,
.base-noteslist a[href$=".pdf"]:after,
.base-noteslist a[href$=".doc"]:after,
.base-noteslist a[href$=".docx"]:after,
.base-noteslist a[href$=".xls"]:after,
.base-noteslist a[href$=".xlsx"]:after,
.base-noteslist a[href$=".ppt"]:after,
.base-noteslist a[href$=".pptx"]:after {
	content: '';
	display: inline-block;
	width: 13px;
	height: 13px;
	margin: 0 5px;
	padding-top: 3px;
	background: url(../images/icon_window.png) no-repeat center top;
	vertical-align: middle;
}
.base-noteslist a[href$=".pdf"]:after {
	background: url(../images/icon_pdf.png) no-repeat center top;
}
.base-noteslist a[href$=".doc"]:after,
.base-noteslist a[href$=".docx"]:after {
	background: url(../images/icon_word.png) no-repeat center top;
}
.base-noteslist a[href$=".xls"]:after,
.base-noteslist a[href$=".xlsx"]:after {
	background: url(../images/icon_excel.png) no-repeat center top;
}
.base-noteslist a[href$=".ppt"]:after,
.base-noteslist a[href$=".pptx"]:after {
	background: url(../images/icon_powerpoint.png) no-repeat center top;
}

/*  noteslist-gray
------------------------------------------------*/

.noteslist-gray > div {
	padding: 15px;
	background: rgba(0,0,0,.05);
}

@media screen and (max-width: 767px) {
	.noteslist-gray > div {
		padding: 10px;
	}
}

/*  numberlist
========================================================================*/

.base-numberlist:not(:first-child) {
	margin-top: 30px;
}
.base-numberlist ol li:not(:first-child) {
	margin-top: 10px;
}
.base-numberlist a.pbOpenNewWindow:after,
.base-numberlist a[href$=".pdf"]:after,
.base-numberlist a[href$=".doc"]:after,
.base-numberlist a[href$=".docx"]:after,
.base-numberlist a[href$=".xls"]:after,
.base-numberlist a[href$=".xlsx"]:after,
.base-numberlist a[href$=".ppt"]:after,
.base-numberlist a[href$=".pptx"]:after {
	content: '';
	display: inline-block;
	width: 13px;
	height: 13px;
	margin: 0 5px;
	padding-top: 3px;
	background: url(../images/icon_window.png) no-repeat center top;
	vertical-align: middle;
}
.base-numberlist a[href$=".pdf"]:after {
	background: url(../images/icon_pdf.png) no-repeat center top;
}
.base-numberlist a[href$=".doc"]:after,
.base-numberlist a[href$=".docx"]:after {
	background: url(../images/icon_word.png) no-repeat center top;
}
.base-numberlist a[href$=".xls"]:after,
.base-numberlist a[href$=".xlsx"]:after {
	background: url(../images/icon_excel.png) no-repeat center top;
}
.base-numberlist a[href$=".ppt"]:after,
.base-numberlist a[href$=".pptx"]:after {
	background: url(../images/icon_powerpoint.png) no-repeat center top;
}

/*  numberlist-gray
------------------------------------------------*/

.numberlist-gray > div {
	padding: 30px;
	background: rgba(0,0,0,.05);
}

@media screen and (max-width: 767px) {
	.numberlist-gray > div {
		padding: 15px;
	}
}

/*  panel
========================================================================*/

.base-panel:not(:first-child) {
	margin-top: 30px;
}
.base-panel > div {
	display: flex;
	flex-wrap: wrap;
	margin: -20px -10px;
}
.base-panel .box {
	width: calc(50% - 20.5px);
	margin: 20px 10px;
	z-index: auto!important;
}
.base-panel .box > div:not(.pb-handle) {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.base-panel .box > div > div {
	z-index: auto!important;
}
.base-panel .image:not(:first-child) {
	margin-top: 20px;
}
.base-panel .image {
	min-height: 0%;
	text-align: center;
}
.base-panel .title:not(:first-child) {
	margin-top: 20px;
}
.base-panel .title {
	font-weight: bold;
	font-size: 120%;
}
.base-panel .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-panel .text:not(:first-child) {
	margin-top: 10px;
}
.base-panel .list:not(:first-child) {
	margin-top: 15px;
}
.base-panel .table:not(:first-child) {
	margin-top: 15px;
}
.base-panel .button {
	margin-top: auto;
	text-align: center;
}
.base-panel .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	margin-top: 20px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-decoration: none;
}
.base-panel .button a:hover {
	background: #000;
}
.base-panel .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-panel .box {
		width: 100%;
	}
	.base-panel .image:not(:first-child) {
		margin-top: 15px;
	}
}

/*  panel-3column
------------------------------------------------*/

.panel-3column .box {
	width: calc(33.33% - 20.5px);
}
.panel-3column .table th,
.panel-3column .table td {
	padding: 10px;
}

@media screen and (max-width: 767px) {
	.panel-3column .box {
		width: 100%;
	}
	.panel-3column .table th {
		padding: 8px 10px;
	}
}

/*  panel-4column
------------------------------------------------*/

.panel-4column > div {
	margin: -10px -5px;
}
.panel-4column .box {
	max-width: calc(25% - 10.5px);
	margin: 10px 5px;
	font-size: 90%;
}
.panel-4column .image:not(:first-child) {
	margin-top: 15px;
}
.panel-4column .title:not(:first-child) {
	margin-top: 15px;
}
.panel-4column .list:not(:first-child) {
	margin-top: 10px;
}
.panel-4column .table th,
.panel-4column .table td {
	padding: 8px;
}

@media screen and (max-width: 767px) {
	.panel-4column .box {
		max-width: calc(50% - 10px);
	}
	.panel-4column .table th {
		padding: 6px;
	}
	.panel-4column .button a {
		padding: .6em 1em;
	}
	.panel-4column .button a:before {
		margin: 0 8px 1px 0;
	}
}

/*  colorpanel
========================================================================*/

.base-colorpanel:not(:first-child) {
	margin-top: 30px;
}
.base-colorpanel > div {
	display: flex;
	flex-wrap: wrap;
	margin: -20px -10px;
}
.base-colorpanel .box {
	width: calc(50% - 20.5px);
	margin: 20px 10px;
	z-index: auto!important;
}
.base-colorpanel .box > div:not(.pb-handle) {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 20px;
	background: rgba(0,0,0,.05);
}
.base-colorpanel .box > div > div {
	z-index: auto!important;
}
.base-colorpanel .image:not(:first-child) {
	margin-top: 20px;
}
.base-colorpanel .image {
	min-height: 0%;
	text-align: center;
}
.base-colorpanel .title:not(:first-child) {
	margin-top: 20px;
}
.base-colorpanel .title {
	font-weight: bold;
	font-size: 120%;
}
.base-colorpanel .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-colorpanel .text:not(:first-child) {
	margin-top: 10px;
}
.base-colorpanel .list:not(:first-child) {
	margin-top: 15px;
}
.base-colorpanel .table:not(:first-child) {
	margin-top: 15px;
}
.base-colorpanel .button {
	margin-top: auto;
	text-align: center;
}
.base-colorpanel .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	margin-top: 20px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-decoration: none;
}
.base-colorpanel .button a:hover {
	background: #000;
}
.base-colorpanel .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-colorpanel .box {
		width: 100%;
	}
	.base-colorpanel .box > div:not(.pb-handle) {
		padding: 15px;
	}
	.base-colorpanel .image:not(:first-child) {
		margin-top: 15px;
	}
}

/*  colorpanel-3column
------------------------------------------------*/

.colorpanel-3column .box {
	width: calc(33.33% - 20.5px);
}
.colorpanel-3column .table th,
.colorpanel-3column .table td {
	padding: 10px;
}

@media screen and (max-width: 767px) {
	.colorpanel-3column .box {
		width: 100%;
	}
	.colorpanel-3column .table th {
		padding: 8px 10px;
	}
}

/*  colorpanel-4column
------------------------------------------------*/

.colorpanel-4column > div {
	margin: -10px -5px;
}
.colorpanel-4column .box {
	max-width: calc(25% - 10.5px);
	margin: 10px 5px;
	font-size: 90%;
}
.colorpanel-4column .box > div:not(.pb-handle) {
	padding: 10px;
}
.colorpanel-4column .image:not(:first-child) {
	margin-top: 15px;
}
.colorpanel-4column .title:not(:first-child) {
	margin-top: 15px;
}
.colorpanel-4column .list:not(:first-child) {
	margin-top: 10px;
}
.colorpanel-4column .table th,
.colorpanel-4column .table td {
	padding: 8px;
}

@media screen and (max-width: 767px) {
	.colorpanel-4column .box {
		max-width: calc(50% - 10px);
	}
	.colorpanel-4column .table th {
		padding: 6px;
	}
	.colorpanel-4column .button a {
		padding: .6em 1em;
	}
	.colorpanel-4column .button a:before {
		margin: 0 8px 1px 0;
	}
}

/*  iconpanel
========================================================================*/

.base-iconpanel:not(:first-child) {
	margin-top: 30px;
}
.base-iconpanel > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -20px;
}
.base-iconpanel .box {
	width: calc(33.33% - 40.5px);
	margin: 20px;
	z-index: auto!important;
}
.base-iconpanel .box > div:not(.pb-handle) {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-align: center;
}
.base-iconpanel .box > div > div {
	z-index: auto!important;
}
.base-iconpanel .image:not(:first-child) {
	margin-top: 15px;
}
.base-iconpanel .image {
	min-height: 0%;
}
.base-iconpanel .title:not(:first-child) {
	margin-top: 25px;
}
.base-iconpanel .title {
	font-weight: bold;
	font-size: 120%;
}
.base-iconpanel .text:not(:first-child) {
	margin-top: 15px;
}
.base-iconpanel .button {
	margin-top: auto;
}
.base-iconpanel .button a {
	display: inline-block;
	margin-top: 20px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-decoration: none;
}
.base-iconpanel .button a:hover {
	background: #000;
}
.base-iconpanel .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-iconpanel .box {
		width: 100%;
	}
}

/*  iconpanel-4column
------------------------------------------------*/

.iconpanel-4column .box {
	width: calc(25% - 40.5px);
}

@media screen and (max-width: 767px) {
	.iconpanel-4column .box {
		width: 100%;
	}
}

/*  linkpanel
========================================================================*/

.base-linkpanel:not(:first-child) {
	margin-top: 30px;
}
.base-linkpanel > div {
	display: flex;
	flex-wrap: wrap;
	margin: -20px -10px;
}
.base-linkpanel .box {
	width: calc(50% - 20.5px);
	margin: 20px 10px;
	z-index: auto!important;
}
.base-linkpanel .box > div:not(.pb-handle) {
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	height: 100%;
	background: rgba(0,0,0,.05);
}
.base-linkpanel .box > div > div {
	z-index: auto!important;
}
.base-linkpanel .image {
	overflow: hidden!important;
	min-height: 0%;
}
.pbPage:not(.pbPage--edit) .base-linkpanel .image a:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	transition: all .3s;
}
.pbPage:not(.pbPage--edit) .base-linkpanel .image a:after {
	content: '';
	position: absolute;
	bottom: -10px;
	right: -10px;
	width: 0;
	height: 0;
	border: 20px solid transparent;
	border-right: 20px solid rgba(0,0,0,.3);
	border-bottom: 20px solid rgba(0,0,0,.3);
	pointer-events: none;
	transition: all .3s;
}
.pbPage:not(.pbPage--edit) .base-linkpanel .image a:hover:after {
	bottom: 0;
	right: 0;
}
.base-linkpanel .image img {
	width: 100%;
}
.base-linkpanel .image a:hover img {
	opacity: 1;
	transform: scale(1.1);
}
.base-linkpanel .textbox > div {
	padding: 20px;
}
.base-linkpanel .title {
	font-weight: bold;
	font-size: 120%;
}
.base-linkpanel .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-linkpanel .text:not(:first-child) {
	margin-top: 10px;
}

@media screen and (max-width: 767px) {
	.base-linkpanel .box {
		width: 100%;
	}
	.base-linkpanel .textbox > div {
		padding: 15px;
	}
}

/*  linkpanel-3column
------------------------------------------------*/

.linkpanel-3column .box {
	width: calc(33.33% - 20.5px);
}

@media screen and (max-width: 767px) {
	.linkpanel-3column .box {
		width: 100%;
	}
}

/*  linkpanel-4column
------------------------------------------------*/

.linkpanel-4column > div {
	margin: -10px -5px;
}
.linkpanel-4column .box {
	max-width: calc(25% - 10.5px);
	margin: 10px 5px;
	font-size: 90%;
}
.linkpanel-4column .textbox > div {
	padding: 15px;
}

@media screen and (max-width: 767px) {
	.linkpanel-4column .box {
		max-width: calc(50% - 10px);
	}
	.linkpanel-4column .textbox > div {
		padding: 10px;
	}
}

/*  listpanel
========================================================================*/

.base-listpanel:not(:first-child) {
	margin-top: 30px;
}
.base-listpanel > div {
	display: flex;
	flex-wrap: wrap;
	margin: -10px;
}
.base-listpanel .box {
	width: 100%;
	margin: 10px;
	z-index: auto!important;
}
.base-listpanel .box > div:not(.pb-handle) {
	display: flex;
	position: relative;
	overflow: hidden;
	height: 100%;
	background: rgba(0,0,0,.05);
}
.base-listpanel .box > div > div {
	z-index: auto!important;
}
.base-listpanel .image {
	width: 31%;
	min-height: 0%;
}
.base-listpanel .image > div {
	overflow: hidden!important;
}
.pbPage:not(.pbPage--edit) .base-listpanel .image a:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	transition: all .3s;
}
.pbPage:not(.pbPage--edit) .base-listpanel .image a:after {
	content: '';
	position: absolute;
	bottom: -10px;
	right: -10px;
	width: 0;
	height: 0;
	border: 20px solid transparent;
	border-right: 20px solid rgba(0,0,0,.3);
	border-bottom: 20px solid rgba(0,0,0,.3);
	pointer-events: none;
	transition: all .3s;
}
.pbPage:not(.pbPage--edit) .base-listpanel .image a:hover:after {
	bottom: 0;
	right: 0;
}
.base-listpanel .image img {
	width: 100%;
}
.base-listpanel .image a:hover img {
	opacity: 1;
	transform: scale(1.1);
}
.base-listpanel .textbox {
	display: flex;
	align-items: center;
	width: 70%;
}
.base-listpanel .textbox > div {
	width: 100%;
	padding: 20px;
}
.base-listpanel .textbox > div.pb-handle {
	top: 10px;
}
.base-listpanel .title {
	font-weight: bold;
	font-size: 120%;
}
.base-listpanel .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-listpanel .text:not(:first-child) {
	margin-top: 10px;
}

@media screen and (max-width: 767px) {
	.base-listpanel .box > div:not(.pb-handle) {
		display: block;
	}
	.base-listpanel .image {
		width: 100%;
	}
	.base-listpanel .textbox {
		width: 100%;
	}
	.base-listpanel .textbox > div {
		padding: 15px;
	}
}

/*  listpanel-2column
------------------------------------------------*/

.listpanel-2column .box {
	width: calc(50% - 20.5px);
}

@media screen and (max-width: 767px) {
	.listpanel-2column > div {
		margin: -5px;
	}
	.listpanel-2column .box {
		width: 100%;
		margin: 5px;
	}
	.listpanel-2column .box > div:not(.pb-handle) {
		display: flex;
	}
	.listpanel-2column .image {
		width: 30%;
	}
	.listpanel-2column .textbox {
		width: 70%;
		font-size: 90%;
	}
	.listpanel-2column .textbox > div {
		padding: 10px;
	}
	.listpanel-2column .text:not(:first-child) {
		margin-top: 3px;
	}
}

/*  listpanel-3column
------------------------------------------------*/

.listpanel-3column > div {
	margin: -5px;
}
.listpanel-3column .box {
	width: calc(33.33% - 10.5px);
	margin: 5px;
	font-size: 90%;
}
.listpanel-3column .textbox > div {
	padding: 15px;
}

@media screen and (max-width: 767px) {
	.listpanel-3column .box {
		width: 100%;
	}
	.listpanel-3column .box > div:not(.pb-handle) {
		display: flex;
	}
	.listpanel-3column .image {
		width: 30%;
	}
	.listpanel-3column .textbox {
		width: 70%;
	}
	.listpanel-3column .textbox > div {
		padding: 10px;
	}
}

/*  videopanel
========================================================================*/

.base-videopanel:not(:first-child) {
	margin-top: 30px;
}
.base-videopanel > div {
	display: flex;
	flex-wrap: wrap;
	margin: -20px -10px;
}
.base-videopanel .box {
	width: calc(50% - 20.5px);
	margin: 20px 10px;
	z-index: auto!important;
}
.base-videopanel .box > div:not(.pb-handle) {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.base-videopanel .box > div > div {
	z-index: auto!important;
}
.base-videopanel .youtube:not(:first-child) {
	margin-top: 15px;
}
.base-videopanel .youtube {
	position: relative;
	padding-top: 0%!important;
	padding-bottom: 56.25%!important;
}
.base-videopanel .youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.base-videopanel .image:not(:first-child) {
	margin-top: 20px;
}
.base-videopanel .image {
	min-height: 0%;
	text-align: center;
}
.base-videopanel .title:not(:first-child) {
	margin-top: 20px;
}
.base-videopanel .title {
	font-weight: bold;
	font-size: 120%;
}
.base-videopanel .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-videopanel .text:not(:first-child) {
	margin-top: 10px;
}
.base-videopanel .list:not(:first-child) {
	margin-top: 15px;
}
.base-videopanel .table:not(:first-child) {
	margin-top: 15px;
}
.base-videopanel .button {
	margin-top: auto;
	text-align: center;
}
.base-videopanel .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	margin-top: 20px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-decoration: none;
}
.base-videopanel .button a:hover {
	background: #000;
}
.base-videopanel .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-videopanel .box {
		width: 100%;
	}
	.base-videopanel .image:not(:first-child) {
		margin-top: 15px;
	}
}

/*  videopanel-3column
------------------------------------------------*/

.videopanel-3column .box {
	width: calc(33.33% - 20.5px);
}
.videopanel-3column .table th,
.videopanel-3column .table td {
	padding: 10px;
}

@media screen and (max-width: 767px) {
	.videopanel-3column .box {
		width: 100%;
	}
	.videopanel-3column .table th {
		padding: 8px 10px;
	}
}

/*  mappanel
========================================================================*/

.base-mappanel:not(:first-child) {
	margin-top: 30px;
}
.base-mappanel > div {
	display: flex;
	flex-wrap: wrap;
	margin: -20px -10px;
}
.base-mappanel .box {
	width: calc(50% - 20.5px);
	margin: 20px 10px;
	z-index: auto!important;
}
.base-mappanel .box > div:not(.pb-handle) {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.base-mappanel .box > div > div {
	z-index: auto!important;
}
.base-mappanel .map:not(:first-child) {
	margin-top: 15px;
}
.base-mappanel .map {
	position: relative;
	height: 250px;
}
.base-mappanel .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.base-mappanel .image:not(:first-child) {
	margin-top: 20px;
}
.base-mappanel .image {
	min-height: 0%;
	text-align: center;
}
.base-mappanel .title:not(:first-child) {
	margin-top: 20px;
}
.base-mappanel .title {
	font-weight: bold;
	font-size: 120%;
}
.base-mappanel .title p:before {
	content: '';
	display: inline-block;
	margin: 0 .3em 0 0;
	width: .8em;
	height: .8em;
	background: rgba(0,0,0,.5);
}
.base-mappanel .text:not(:first-child) {
	margin-top: 10px;
}
.base-mappanel .list:not(:first-child) {
	margin-top: 15px;
}
.base-mappanel .table:not(:first-child) {
	margin-top: 15px;
}
.base-mappanel .button {
	margin-top: auto;
	text-align: center;
}
.base-mappanel .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	margin-top: 20px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-decoration: none;
}
.base-mappanel .button a:hover {
	background: #000;
}
.base-mappanel .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-mappanel .box {
		width: 100%;
	}
	.base-mappanel .image:not(:first-child) {
		margin-top: 15px;
	}
}

/*  mappanel-3column
------------------------------------------------*/

.mappanel-3column .box {
	width: calc(33.33% - 20.5px);
}
.mappanel-3column .table th,
.mappanel-3column .table td {
	padding: 10px;
}

@media screen and (max-width: 767px) {
	.mappanel-3column .box {
		width: 100%;
	}
	.mappanel-3column .table th {
		padding: 8px 10px;
	}
}

/*  overlappanel
========================================================================*/

.base-overlappanel:not(:first-child) {
	margin-top: 30px;
}
.base-overlappanel > div {
	display: flex;
	flex-wrap: wrap;
	margin: -20px -10px;
}
.base-overlappanel .box {
	width: calc(50% - 20.5px);
	margin: 20px 10px;
	z-index: auto!important;
}
.base-overlappanel .box > div:not(.pb-handle) {
	position: relative;
	top: -180px;
	height: 100%;
}
.base-overlappanel .box > div > div {
	z-index: auto!important;
}
.base-overlappanel .image {
	position: absolute;
}
.base-overlappanel .image img {
	width: 100%;
}
.base-overlappanel .textarea {
	position: relative;
	top: 180px;
	width: calc(100% - 60px);
	height: calc(100% - 180px);
	margin: 180px auto 0;
}
.base-overlappanel .textarea > div:not(.pb-handle) {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 25px;
	background: #fff;
	box-shadow: 0 0 8px rgba(0,0,0,.2);
}
.base-overlappanel .textarea > div > div {
	z-index: auto!important;
}
.base-overlappanel .title > div {
	position: relative;
	padding-bottom: 15px;
	font-weight: bold;
	font-size: 130%;
	text-align: center;
}
.base-overlappanel .title > div:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	width: 50px;
	height: 2px;
	background: #000;
}
.base-overlappanel .text:not(:first-child),
.base-overlappanel .list:not(:first-child),
.base-overlappanel .table:not(:first-child) {
	margin-top: 20px;
}
.base-overlappanel .table th,
.base-overlappanel .table td {
	padding: 10px;
}
.base-overlappanel .button {
	margin-top: auto;
	text-align: center;
}
.base-overlappanel .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	margin-top: 20px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-decoration: none;
}
.base-overlappanel .button a:hover {
	background: #000;
}
.base-overlappanel .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-overlappanel .box {
		width: 100%;
		border: 1px solid #ccc;
	}
	.base-overlappanel .box > div:not(.pb-handle) {
		position: static;
	}
	.base-overlappanel .image {
		position: static;
	}
	.base-overlappanel .textarea {
		position: static;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	.base-overlappanel .textarea > div:not(.pb-handle) {
		padding: 20px 15px;
		box-shadow: none;
	}
	.base-overlappanel .table th {
		padding: 8px 10px;
	}
}

/*  overlappanel-3column
------------------------------------------------*/

.overlappanel-3column .box {
	width: calc(33.33% - 20.5px);
}
.overlappanel-3column .box > div:not(.pb-handle) {
	top: -130px;
}
.overlappanel-3column .textarea {
	top: 130px;
	width: calc(100% - 30px);
	height: calc(100% - 130px);
	margin: 130px auto 0;
}

@media screen and (max-width: 767px) {
	.overlappanel-3column .box {
		width: 100%;
	}
	.overlappanel-3column .textarea {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
}

/*  mixpanel
========================================================================*/

.base-mixpanel:not(:first-child) {
	margin-top: 30px;
}
.base-mixpanel > div {
	display: flex;
	flex-wrap: wrap;
	margin: -20px -15px;
}
.base-mixpanel .box {
	width: calc(50% - 30.5px);
	margin: 20px 15px;
	z-index: auto!important;
}
.base-mixpanel .title:not(:first-child) {
	margin-top: 15px;
}
.base-mixpanel .title > div {
	padding: 10px;
	background: #333;
	color: #fff;
	font-size: 120%;
	font-weight: bold;
	text-align: center;
}
.base-mixpanel .link:not(:first-child) {
	margin-top: 20px;
}
.base-mixpanel .link {
	font-size: 120%;
	font-weight: bold;
}
.base-mixpanel .link p:before {
	content: '';
	display: inline-block;
	width: .8em;
	height: .8em;
	margin: 0 .3em 0 0;
	background: rgba(0, 0, 0, 0.5);
}
.base-mixpanel .image:not(:first-child) {
	margin-top: 20px;
}
.base-mixpanel .image {
	text-align: center;
}
.base-mixpanel .text:not(:first-child) {
	margin-top: 20px;
}
.base-mixpanel .list:not(:first-child) {
	margin-top: 15px;
}
.base-mixpanel .table:not(:first-child) {
	margin-top: 15px;
}
.base-mixpanel .imagelist:not(:first-child) {
	margin-top: 20px;
}
.base-mixpanel .imagelist + .imagelist {
	margin-top: 0;
}
.base-mixpanel .imagelist > div {
	display: flex;
	padding: 10px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.base-mixpanel .imagelist + .imagelist > div {
	border-top: none;
}
.base-mixpanel .imagelist-image {
	width: 20%;
	z-index: auto!important;
}
.base-mixpanel .imagelist-image img {
	width: 100%;
}
.base-mixpanel .imagelist-text {
	display: flex;
	align-items: center;
	position: relative;
	width: calc(80% - 10px);
	margin-left: 10px;
	z-index: auto!important;
}
.base-mixpanel .imagelist-text > div.pb-handle {
	top: 10px;
}
.base-mixpanel .button:not(:first-child) {
	margin-top: 15px;
}
.base-mixpanel .button {
	text-align: center;
}
.base-mixpanel .button a {
	display: inline-block;
	width: 100%;
	max-width: 280px;
	padding: .6em 2em;
	background: #333;
	color: #fff;
	text-decoration: none;
}
.base-mixpanel .button a:hover {
	background: #000;
}
.base-mixpanel .button a:before {
	content: '';
	display: inline-block;
	margin: 0 10px 2px 0;
	width: .4em;
	height: .4em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.base-mixpanel .box {
		width: 100%;
	}
}

/*  mixpanel-3column
------------------------------------------------*/

.mixpanel-3column .box {
	width: calc(33.33% - 30.5px);
}
.mixpanel-3column .table th,
.mixpanel-3column .table td {
	padding: 10px;
}

@media screen and (max-width: 767px) {
	.mixpanel-3column .box {
		width: 100%;
	}
	.mixpanel-3column .table th {
		padding: 8px 10px;
	}
}

/*  table
========================================================================*/

.base-table:not(:first-child) {
	margin-top: 30px;
}
.base-table table th {
	text-align: left;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	.base-table table th {
		text-align: center;
	}
}

/*  base-smalltable
========================================================================*/

.base-smalltable:not(:first-child) {
	margin-top: 30px;
}
.base-smalltable table {
	width: auto;
}
.base-smalltable table td {
	text-align: center;
}

@media screen and (max-width: 767px) {
	.base-smalltable table {
		display: table;
	}
	.base-smalltable table tbody {
		display: table-row-group;
	}
	.base-smalltable table tr {
		display: table-row;
	}
	.base-smalltable table th,
	.base-smalltable table td {
		display: table-cell;
		width: auto!important;
	}
}

/*  base-swipetable
========================================================================*/

.base-swipetable:not(:first-child) {
	margin-top: 30px;
}
.base-swipetable table th {
	width: 20%;
	vertical-align: middle;
}
.base-swipetable table th + th {
	width: auto;
	background: rgba(0,0,0,.1);
	color: #000;
}
.base-swipetable table td {
	text-align: center;
}

@media screen and (max-width: 767px) {
	.base-swipetable > div {
		overflow: auto!important;
	}
	.base-swipetable > div::-webkit-scrollbar {
		height: 15px;
	}
	.base-swipetable > div::-webkit-scrollbar-thumb {
		background: #d9dcdf;
		border-radius: 10px;
	}
	.base-swipetable > div::-webkit-scrollbar-track {
		background: #f5f5f5;
		border-radius: 10px;
	}
	.base-swipetable table {
		display: table;
		width: 800px;
		max-width: none;
		margin-bottom: 3px;
	}
	.base-swipetable table tbody {
		display: table-row-group;
	}
	.base-swipetable table tr {
		display: table-row;
	}
	.base-swipetable table th,
	.base-swipetable table td {
		display: table-cell;
		width: auto!important;
	}
}

/*  category
========================================================================*/

.base-category:not(:first-child) {
	margin-top: 30px;
}
.base-category tr {
	display: block;
	position: relative;
	padding: 15px 20px;
	background: rgba(255,255,255,.5);
	border: 1px solid #eee;
	border-radius: 3px;
}
.base-category tr:not(:first-child) {
	margin-top: 5px;
}
.base-category .day {
	display: inline;
	width: auto!important;
	padding: 3px 10px;
	background: #333;
	color: #fff;
	font-size: 80%;
	border-radius: 3px;
}
.base-category .article {
	padding: 0;
	background: none;
}
.base-category .article a {
	display: block;
	margin-top: 6px;
	text-decoration: none;
}
.base-category .article a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	transition: all .3s;
}
.base-category .article a:hover:after {
	background: rgba(0,0,0,.05);
}
.base-category .article img {
	position: absolute;
	top: 10px;
	right: 0;
	pointer-events: none;
}

@media screen and (max-width: 767px) {
	.base-category table {
		font-size: 100%;
	}
	.base-category tr {
		padding: 13px 13px 10px;
	}
}

/*  slider
========================================================================*/

.base-slider:not(:first-child) {
	margin-top: 30px;
}
.base-slider .list {
	opacity: 0;
	transition: all .3s;
}
.base-slider .list.slick-initialized {
	opacity: 1;
}
.base-slider .slick-dotted.slick-slider {
	margin: 0;
}
.base-slider .slick-arrow {
	left: 0;
	z-index: 1;
	width: 60px;
	height: 60px;
	margin-top: -15px;
	background: rgba(0,0,0,.1);
	transition: all .3s;
}
.base-slider .slick-next {
	left: auto;
	right: 0;
}
.base-slider .slick-arrow:focus {
	background: rgba(0,0,0,.1);
}
.base-slider .slick-arrow:hover {
	background: rgba(0,0,0,.3);
}
.base-slider .slick-arrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 25px;
	width: 20px;
	height: 20px;
	border-left: 3px solid #ccc;
	border-bottom: 3px solid #ccc;
	opacity: 1;
	transform: rotate(45deg);
}
.base-slider .slick-next:before {
	left: auto;
	right: 25px;
	border: none;
	border-top: 3px solid #ccc;
	border-right: 3px solid #ccc;
}
.base-slider .slick-dots {
	bottom: 20px;
	height: 5px;
	padding: 0 20px;
	text-align: right;
}
.base-slider .slick-dots li {
	width: 20px;
	height: 100%;
	margin-top: 0!important;
	padding-left: 0;
}
.base-slider .slick-dots li:before {
	display: none;
}
.base-slider .slick-dots li button {
	width: 100%;
	height: 100%;
	padding: 0;
	background: rgba(0,0,0,.3);
}
.base-slider .slick-dots li.slick-active button {
	background: rgba(0,0,0,1);
}
.base-slider .slick-dots li button:before {
	display: none;
}
.base-slider .item {
	position: relative;
}
.base-slider .image-pc img {
	width: 100%;
}
.base-slider .image-sp {
	display: none;
}
.base-slider .textarea {
	pointer-events: none;
}
.base-slider .title {
	position: absolute;
	top: 30px;
	right: 30px;
	padding: 10px 30px;
	background: #fff;
	font-weight: bold;
	font-size: 200%;
}
.base-slider .text {
	position: absolute;
	bottom: 30px;
	left: 30px;
	padding: 10px 20px;
	background: #fff;
	font-size: 150%;
}

@media screen and (max-width: 767px) {
	.base-slider .slick-dotted.slick-slider {
		padding: 0 0 30px;
	}
	.base-slider .slick-prev,
	.base-slider .slick-next {
		display: none!important;
	}
	.base-slider .slick-dots {
		bottom: 13px;
		padding: 0;
	}
	.base-slider .slick-dots li {
		margin: 0 2px;
	}
	.base-slider .image-pc {
		display: none;
	}
	.base-slider .image-sp {
		display: block;
	}
	.base-slider .image-sp img {
		width: 100%;
	}
	.base-slider .title {
		top: 5px;
		right: 5px;
		padding: 5px 15px;
		font-size: 120%;
	}
	.base-slider .text {
		max-width: 80%;
		bottom: 5px;
		left: 5px;
		padding: 5px 10px;
		background: #fff;
		font-size: 100%;
	}
}

/*  carousel
========================================================================*/

.base-carousel:not(:first-child) {
	margin-top: 30px;
}
.base-carousel {
	margin-left: -5px;
	margin-right: -5px;
}
.base-carousel .list {
	opacity: 0;
	transition: all .3s;
}
.base-carousel .list.slick-initialized {
	opacity: 1;
}
.base-carousel .slick-dotted.slick-slider {
	margin-bottom: 0;
	padding-bottom: 30px;
}
.base-carousel .slick-arrow {
	left: -70px;
	z-index: 1;
	width: 50px;
	height: 50px;
	margin-top: -15px;
	background: rgba(0,0,0,.3);
	border-radius: 50%;
	transition: all .3s;
}
.base-carousel .slick-next {
	left: auto;
	right: -70px;
}
.base-carousel .slick-arrow:focus {
	background: rgba(0,0,0,.3);
}
.base-carousel .slick-arrow:hover {
	background: rgba(0,0,0,1);
}
.base-carousel .slick-arrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 22px;
	width: 10px;
	height: 10px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	opacity: 1;
	transform: rotate(45deg);
}
.base-carousel .slick-next:before {
	left: auto;
	right: 22px;
	border: none;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
.base-carousel .slick-dots {
	left: 0;
	bottom: 0;
	height: 5px;
}
.base-carousel .slick-dots li {
	width: 40px;
	height: 100%;
	margin-top: 0!important;
	padding-left: 0;
}
.base-carousel .slick-dots li:before {
	display: none;
}
.base-carousel .slick-dots li button {
	width: 100%;
	height: 100%;
	padding: 0;
	background: rgba(0,0,0,.3);
}
.base-carousel .slick-dots li.slick-active button {
	background: rgba(0,0,0,1);
}
.base-carousel .slick-dots li button:before {
	display: none;
}
.base-carousel .slick-slide {
	padding: 0 5px;
}
.base-carousel .item img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.base-carousel .slick-slider {
		padding: 0 40px;
	}
	.base-carousel .slick-dotted.slick-slider {
		padding: 0 40px 20px;
	}
	.base-carousel .slick-arrow {
		left: 5px;
		width: 30px;
		height: 30px;
	}
	.base-carousel .slick-next {
		left: auto;
		right: 5px;
	}
	.base-carousel .slick-arrow:before {
		left: 13px;
		width: 8px;
		height: 8px;
		border-left: 1px solid #fff;
		border-bottom: 1px solid #fff;
	}
	.base-carousel .slick-next:before {
		left: auto;
		right: 13px;
		border: none;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	.base-carousel .slick-dots {
		height: 3px;
	}
	.base-carousel .slick-dots li {
		width: 20px;
		margin: 0 2px;
	}
}

/*  carousel-panel
------------------------------------------------*/

.carousel-panel .slick-track {
	display: flex;
}
.carousel-panel .slick-slide {
	height: auto;
}
.carousel-panel .slick-slide > div {
	height: 100%;
}
.carousel-panel .item {
	height: 100%;
	background: rgba(0,0,0,.03);
}
.carousel-panel .item a {
	display: block;
	position: relative;
	height: 100%;
	text-decoration: none;
}
.carousel-panel .item a:hover {
	background: rgba(0,0,0,.02);
}
.carousel-panel .item a:after {
	content: '';
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 0;
	height: 0;
	border: 10px solid transparent;
	border-right: 10px solid #000;
	border-bottom: 10px solid #000;
	pointer-events: none;
}
.carousel-panel .item a:hover img {
	opacity: 1;
}
.carousel-panel .textarea {
	display: block;
	padding: 25px 20px 30px;
	text-align: center;
}
.carousel-panel .title {
	display: block;
	position: relative;
	padding-bottom: 30px;
	font-weight: bold;
	font-size: 130%;
}
.carousel-panel .title:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 15px;
	width: 40px;
	height: 2px;
	background: #000;
}
.carousel-panel .text {
	display: block;
}

@media screen and (max-width: 767px) {
	.carousel-panel .slick-slide {
		height: 100%;
	}
	.carousel-panel .textarea {
		padding: 15px 10px;
	}
	.carousel-panel .title {
		padding-bottom: 20px;
	}
	.carousel-panel .title:after {
		bottom: 11px;
	}
}

/*  popup
========================================================================*/

.base-popup:not(:first-child) {
	margin-top: 30px;
}
.base-popup {
	text-align: center;
}

/*  youtubepopup
========================================================================*/

.base-youtubepopup:not(:first-child) {
	margin-top: 30px;
}
.base-youtubepopup {
	position: relative;
	text-align: center;
	z-index: auto!important;
}
.base-youtubepopup:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
	width: 0;
	height: 0;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 10px solid #fff;
	pointer-events: none;
}
.base-youtubepopup a {
	position: relative;
	display: inline-block;
}
.base-youtubepopup a:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 1;
	width: 60px;
	height: 40px;
	background: #000;
	border-radius: 10px;
	pointer-events: none;
	transition: all .3s;
}
.base-youtubepopup a:hover:before {
	background: #f00;
}

/*  switching
========================================================================*/

.base-switching:not(:first-child) {
	margin-top: 30px;
}
.base-switching .tab ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.base-switching .tab ul li {
	margin: 5px;
	padding: 5px 30px;
	background: #ccc;
	color: #fff;
	border-radius: 30px;
	cursor: pointer;
	transition: all .3s;
}
.base-switching .tab ul li:before {
	display: none;
}
.base-switching .tab ul li:hover,
.base-switching .tab ul li.active {
	background: #000;
}
.base-switching .panel {
	margin-top: 15px;
}
.base-switching .panel > div {
	padding: 50px;
	background: rgba(255,255,255,.5);
	border: 1px solid #ccc;
}
.base-switching .panel > div > .box + .box {
	display: none;
}
.pbPage.pbPage--edit .base-switching .panel > div > .box + .box {
	display: block;
}
.base-switching .edit {
	display: none;
}
.pbPage.pbPage--edit .base-switching .edit {
	display: block;
}
.base-switching .edit > div {
	margin: 0 0 10px;
	padding: 10px;
	background: #f8f8f8;
}
.base-switching .edit > div:before {
	content: 'タブ切り替えボタンに表示させる内容を入力してください(編集画面用テキスト)';
	color: #ccc;
}
.base-switching .edit + div {
	margin-top: 0;
}
.pbPage.pbPage--edit .base-switching .edit + div {
	margin-top: 30px;
}

@media screen and (max-width: 767px) {
	.base-switching .tab ul li {
		margin: 2px;
		padding: 5px 15px;
	}
	.base-switching .panel > div {
		padding: 15px;
	}
}

/*  accordion
========================================================================*/

.base-accordion:not(:first-child) {
	margin-top: 30px;
}
.base-accordion + .base-accordion {
	margin-top: 5px;
}
.base-accordion > div {
	overflow: hidden;
}
.base-accordion .trigger {
	position: relative;
	z-index: auto!important;
}
.base-accordion .trigger:before,
.base-accordion .trigger:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 20px;
	width: 16px;
	height: 2px;
	background: #000;
	transition: all .3s;
}
.base-accordion .trigger:after {
	transform: rotate(90deg);
}
.base-accordion .trigger.active:after {
	transform: rotate(360deg);
}
.base-accordion .trigger > div {
	padding: 30px 40px 30px 30px;
	background: rgba(0,0,0,.02);
	font-weight: bold;
	border: 1px solid #ccc;
	cursor: pointer;
}
.base-accordion .content {
	display: none;
}
.base-accordion .content > div {
	position: relative;
	padding: 30px;
	background: rgba(255,255,255,.5);
	border: 1px solid #ccc;
	border-top: none;
}

@media screen and (max-width: 767px) {
	.base-accordion .trigger:before,
	.base-accordion .trigger:after {
		right: 10px;
	}
	.base-accordion .trigger > div {
		padding: 10px 30px 10px 10px;
	}
	.base-accordion .content > div {
		padding: 10px;
	}
}

/*  youtube
========================================================================*/

.base-youtube:not(:first-child) {
	margin-top: 30px;
}
.base-youtube {
	position: relative;
	padding-top: 0%!important;
	padding-bottom: 56.25%!important;
	z-index: auto!important;
}
.base-youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*  map
========================================================================*/

.base-map:not(:first-child) {
	margin-top: 30px;
}
.base-map {
	position: relative;
	height: 250px;
	padding: 0;
	z-index: auto!important;
}
.base-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}