@charset "UTF-8";

/* @media (min-width:769px) {
	body {
		min-width: 1160px !important;
	}
} */

.side-bar ol,
ul li {
	list-style: none
}
.side-bar ol.tag li strong {background-color: #ED7D31;}
.side-bar ol.tag li ol {padding: 15px;background-color: #f3f3f3;}
.side-bar ol.tag li ol li {display: inline;border-bottom: none;line-height: 1.6em;}
.main-content ul.tag {list-style-type: none;background-color: #ED7D31;margin-bottom: 30px;}
.main-content ul.tag > li {list-style-type: none;color: #fff;}
.main-content ul.tag li strong {background-color: #ED7D31;padding: 10px;display: block;}
.main-content ul.tag li ul {padding: 20px;background-color: #f3f3f3;}
.main-content ul.tag li ul li {display: inline;color:#333;border-bottom: none;line-height: 1.6em;list-style-type: none;margin-right: 0.5em;}

a,
del,
ins {
	text-decoration: none
}

html {
	font-size: 10px;
	font-family: "Noto Sans JP", sans-serif;
	overflow-y: scroll;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
}

blockquote,
body,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
	margin: 0;
	padding: 0
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

main {
	display: block
}

table {
	border-spacing: 0;
	border-collapse: collapse
}

fieldset,
img {
	border: 0
}

img {
	max-width: 100%;
	vertical-align: middle
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
	font-weight: 400;
	font-style: normal
}

strong {
	font-weight: 700
}

ol {
	counter-reset: number
}

ol li {
	display: list-item
}

ol li:before {
	content: counter(number) ". ";
	counter-increment: number
}

caption,
th {
	text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: 400
}

q:after,
q:before {
	content: ''
}

abbr,
acronym {
	font-variant: normal;
	border: 0
}

sup {
	vertical-align: text-top
}

sub {
	vertical-align: text-bottom
}

input,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit
}

a {
	color: #ea323b
}

legend {
	color: #000
}

body {
	font-family: "游ゴシック", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, Meiryo, "メイリオ", "MS Pゴシック", Arial, Helvetica, Verdana, sans-serif;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.8;
	color: #333;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400
}

@media screen and (max-width:768px) {
	body {
		font-size: 14px;
		font-size: 1.4rem
	}
}

.container {
	display: block;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px
}

.clearfix:after,
.clearfix:before {
	display: table;
	content: ''
}

.clearfix:after {
	clear: both
}

.pc {
	display: block !important
}

@media screen and (max-width:767px) {
	.pc {
		display: none !important
	}
}

.pc-in {
	display: inline-block !important
}

.sp {
	display: none !important
}

@media screen and (max-width:767px) {
	.pc-in {
		display: none !important
	}

	.sp {
		display: block !important
	}
}

.sp-in {
	display: none !important
}

@media screen and (max-width:767px) {
	.sp-in {
		display: inline-block !important
	}
}

.red {
	color: #ea323a
}

.mb20 {
	margin-bottom: 20px !important
}

.mb25 {
	margin-bottom: 25px !important
}

.mb30 {
	margin-bottom: 30px
}

.mb40 {
	margin-bottom: 40px
}

@media (max-width:768px) {
	.container.container-fix {
		padding: 0
	}

	.mb40 {
		margin-bottom: 20px
	}
}

.mb50 {
	margin-bottom: 50px
}

@media (max-width:768px) {
	.mb50 {
		margin-bottom: 25px
	}
}

.mb60 {
	margin-bottom: 60px
}

@media (max-width:768px) {
	.mb60 {
		margin-bottom: 30px
	}
}

.mb90 {
	margin-bottom: 90px
}

@media (max-width:768px) {
	.mb90 {
		margin-bottom: 45px
	}
}

.mb100 {
	margin-bottom: 100px
}

.bg-red {
	background-color: #ea323b
}

.bg-gray {
	/*background-color: #f6f6f6*/
}

section.section:nth-child(2n) {
    background-color: #f6f6f6;
}

.txt-center {
	text-align: center
}

.txt-right {
	text-align: right
}

.txt-left {
	text-align: left
}

.breadcrumb {
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	font-size: 14px
}

@media (max-width:480px) {
	.breadcrumb {
		overflow-x: auto;
		width: 100%;
		white-space: nowrap
	}
}

.breadcrumb a {
	color: #333
}

.breadcrumb a,
.breadcrumb span {
	line-height: 1.4
}

.breadcrumb span {
	font-weight: 700
}

.breadcrumb .fa {
	padding: 0 12px;
	color: #a5a5a5;
	font-size: 20px;
	font-size: 2rem
}

.section {
	padding: 60px 0
}

@media (max-width:768px) {
	.mb100 {
		margin-bottom: 50px
	}

	.section {
		padding: 35px 0 40px
	}
}

/*#header {
	position: relative
}*/

#header .logo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 35px;
	margin-bottom: -10px;
}

#header .top-header .container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

@media screen and (max-width:768px) {
	#header {
		position: sticky;
		z-index: 10;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		background-color: #fff;
		z-index: 9999
	}

	#header .logo {
		margin-top: 0
	}

	#header .top-header {
		z-index: 5;
		padding: 16px 0 24px;
		background: #fff
	}

	#header .top-header .logo {
		width: 120px
	}

	#header .top-header .logo img {
		width: 100%
	}

	#header .top-header .header-tools {
		display: none
	}
}

#header .top-header .header-tools {
	position: relative;
	top: -10px
}

#header .header-tools {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	min-width: 234px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

#header .header-tools .nav-top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}

#header .header-tools .nav-top li a {
	width: 100%;
	display: inline-block;
	margin-right: 20px;
	color: #333;
	font-size: 13px;
	font-size: 1.3rem
}

#header .message a {
	display: block;
	width: 166px;
	font-weight: 700;
	position: relative;
	padding: 14px 20px;
	color: #fff;
	background-color: #ea323b;
	font-size: 16px;
}

#header .message a:before {
	position: relative;
	top: -2px;
	display: inline-block;
	width: 20px;
	height: 14px;
	margin-right: 10px;
	content: '';
	vertical-align: middle;
	background: url(https://www.vibitcms.com/tmp/shared/img/ico_message.png);
	background-size: cover
}

@media screen and (min-width:769px) {
	#header .main-nav {
		display: block !important
	}
}

#header .main-nav>ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end
}

#header .main-nav>ul>li {
	display: inline-block;
	margin-right: 35px
}

#header .main-nav>ul>li:last-of-type,
#header .main-nav>ul>li:nth-last-of-type(-n+2) {
	margin-right: 0
}

@media screen and (min-width:768px) {
	#header .main-nav>ul>li:hover>a {
		border-bottom-color: #ea323b;
		-webkit-transition: all .3s ease;
		-o-transition: all .3s ease;
		transition: all .3s ease;
		-webkit-backface-visibility: hidden
	}
}

#header .main-nav>ul>li a {
	font-weight: 700;
	display: inline-block;
	padding: 8px 5px;
	color: #333;
	border-bottom: 4px solid transparent;
	font-size: 16px;
	font-size: 1.6rem
}

@media screen and (max-width:768px) and (max-width:768px) {
	#header .main-nav>ul>li.has-sub.active .sub:after {
		content: '';
		background: url(https://www.vibitcms.com/tmp/shared/img/ico_down.png);
		background-size: cover
	}
}

@media screen and (max-width:768px) {
	#header .main-nav>ul>li.has-sub.active>a {
		border-bottom: 1px solid #e6e6e6
	}

	#header .main-nav>ul>li.has-sub .sub {
		position: absolute;
		top: 0;
		right: 0;
		width: 45px;
		height: 50px
	}

	#header .main-nav>ul>li.has-sub .sub:after {
		content: "";
		position: absolute;
		display: inline-block;
		top: 50%;
		left: 50%;
		-webkit-transform: translateX(-50%) translateY(-50%);
		-ms-transform: translateX(-50%) translateY(-50%);
		transform: translateX(-50%) translateY(-50%);
		width: 15px;
		height: 15px;
		background: url(https://www.vibitcms.com/tmp/shared/img/ico_up.png) no-repeat;
		background-size: cover
	}
}

@media screen and (min-width:769px) {
	#header .main-nav>ul>li:hover .wrap {
		display: inline-block;
		width: 100%;
		visibility: visible;
		opacity: 1
	}
}

@media (min-width:769px) {
	#header .main-nav>ul>li .wrap {
		position: absolute;
		z-index: 9999 !important;
		top: 100%;
		right: 0;
		left: 0;
		display: block;
		visibility: hidden;
		overflow: inherit;
		clip: inherit;
		width: 100%;
		max-width: 100%;
		margin: auto;
		padding: 60px 0;
		opacity: .95;
/* 		background-color: rgba(246, 246, 246, .95) */
		background-color: rgba(246, 246, 246, 1)
	}

	#header .main-nav>ul>li .wrap .mega-menu {
		display: block;
		max-width: 1160px;
		margin: 0 auto;
		text-align: center
	}

	#header .main-nav>ul>li .wrap .mega-menu li {
		float: left;
		width: 31%;
		margin-right: 3.5%
	}

	#header .main-nav>ul>li .wrap .mega-menu li.member {
		float: left;
		width: 48.25%;
		margin-right: 3.5%;
		margin-bottom: 15px;
	}

	#header .main-nav>ul>li .wrap .mega-menu li:nth-child(3n) {
		margin-right: 0
	}

	#header .main-nav>ul>li .wrap .mega-menu li.member:nth-child(3n) {
		margin-right: 3.5%
	}

	#header .main-nav>ul>li .wrap .mega-menu li.member:nth-child(2n) {
		margin-right: 0
	}

	#header .main-nav>ul>li .wrap .mega-menu li span {
		position: relative;
		display: inline-block;
		width: 100%;
		padding: 21px 0 !important;
		text-align: center;
		color: #333;
		font-size: 15px;
		font-size: 1.5rem
	}

	#header .main-nav>ul>li .wrap .mega-menu li span a {
		line-height: 1;
		position: relative;
		padding: 0;
		z-index: 2;
		display: block
	}

	#header .main-nav>ul>li .wrap .mega-menu li span a:after {
		position: absolute;
		top: 0;
		right: 15px;
		width: 9px;
		height: 9px;
		content: '';
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
		border-top: 3px solid #ddd;
		border-right: 3px solid #ddd
	}

	#header .main-nav>ul>li .wrap .mega-menu li span::after,
	#header .main-nav>ul>li .wrap .mega-menu li span::before {
		position: absolute;
		z-index: 1;
		bottom: -1px;
		top: -1px;
		left: 0;
		right: 0;
		content: '';
		-webkit-transition: all .2s;
		-o-transition: all .2s;
		transition: all .2s
	}

	#header .main-nav>ul>li .wrap .mega-menu li span:before {
		-webkit-transform: scale(.1, .1);
		-ms-transform: scale(.1, .1);
		transform: scale(.1, .1);
		opacity: 0
	}

	#header .main-nav>ul>li .wrap .mega-menu li span:after {
		border-top: 1px solid #ddd;
		border-bottom: 1px solid #ddd
	}

	#header .main-nav>ul>li .wrap .mega-menu li span:hover {
		border-bottom-color: transparent
	}

	#header .main-nav>ul>li .wrap .mega-menu li span:hover::before {
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		transform: scale(1, 1);
		opacity: 1;
		background: #ea323b
	}

	#header .main-nav>ul>li .wrap .mega-menu li span:hover::after {
		-webkit-transform: scale(0, 0);
		-ms-transform: scale(0, 0);
		transform: scale(0, 0);
		opacity: 0
	}

	#header .main-nav>ul>li .wrap .mega-menu li span:hover a {
		color: #fff
	}

	#header .main-nav>ul>li .wrap .mega-menu li span:hover a:after {
		border-top: 3px solid #fff;
		border-right: 3px solid #fff
	}
}

@media (max-width:768px) {
	#header .main-nav>ul>li .wrap {
		display: none;
		padding-left: 40px
	}

	#header .main-nav>ul>li .wrap.show {
		display: block
	}

	#header .main-nav>ul>li .wrap .mega-menu li {
		border-bottom: 1px solid #e6e6e6
	}

	#header .main-nav>ul>li .wrap .mega-menu li:last-child {
		border-bottom: none
	}

	#header .main-nav>ul>li .wrap .mega-menu li a:after {
		border: none
	}

	#header .main-nav>ul>li .wrap .mega-menu li a:hover {
		color: #333 !important;
		background: #fff
	}
}

#header .main-nav>ul>li .message a {
	display: block;
	position: relative;
	margin-bottom: -1px;
	text-align: center;
	vertical-align: middle;
	color: #fff;
	background-color: #ea323b;
	width: 100%;
}

#footer .left-panel .col .sitemap li a,
#footer .left-panel .col .ttl a,
#footer .left-panel .list-link li a {
	color: #333
}

#header .main-nav>ul>li .message a:before {
	position: relative;
	top: -1px;
	display: inline-block;
	width: 22px;
	height: 15px;
	margin-right: 10px;
	content: '';
	vertical-align: middle;
	background: url(https://www.vibitcms.com/tmp/shared/img/ico_message.png);
	background-size: cover
}

#header .main-nav>ul>li .message a:after {
	display: none
}

#header .main-nav>ul .social-sp {
	display: block
}

@media screen and (max-width:768px) {

	#header .main-nav>ul>li,
	#header .main-nav>ul>li a.active {
		border-bottom: 1px solid #e6e6e6
	}

	#header .main-nav {
		display: none;
		padding: 15px 0 0;
		background-color: #f6f6f6
	}

	#header .main-nav>ul {
		display: block
	}

	#header .main-nav>ul>li {
		display: block;
		margin-right: 0;
		position: relative
	}

	#header .main-nav>ul>li a {
		position: relative;
		display: block;
		padding: 15px;
		font-size: 13px;
		font-size: 1.3rem
	}

	#header .main-nav>ul>li a:after {
		position: absolute;
		top: 50%;
		right: 15px;
		display: block;
		width: 10px;
		height: 15px;
		content: '';
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		background: url(https://www.vibitcms.com/tmp/shared/img/ico_arow_right.png);
		background-size: cover
	}

	#header .main-nav>ul>li.has-sub>a:after {
		display: none
	}

	#header .main-nav .header-tools {
		display: block
	}

	#header .main-nav .header-tools .lang-switcher {
		margin: 15px 0;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center
	}

	#header .main-nav .header-tools .contact {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-bottom: 15px;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center
	}
}

#header .main-nav .header-tools,
#menu-sp-btn {
	display: none
}

#menu-sp-btn {
	line-height: 50px;
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	padding: 15px 14px;
	background-color: #ea323b
}

@media screen and (max-width:768px) {
	#menu-sp-btn {
		display: block
	}
}

#menu-sp-btn span {
	display: block;
	width: 100%;
	height: 2px;
	margin-bottom: 6px;
	transition: transform .3s cubic-bezier(.175, .885, .32, 1.275) .1s, opacity .1s ease-in-out .1s, -webkit-transform .3s cubic-bezier(.175, .885, .32, 1.275) .1s;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	background-color: #fff
}

#menu-sp-btn.clicked span:first-child {
	-webkit-transform: translateY(9px) rotateZ(-135deg);
	-ms-transform: translateY(9px) rotate(-135deg);
	transform: translateY(9px) rotateZ(-135deg)
}

#menu-sp-btn.clicked span:nth-child(2) {
	opacity: 0
}

#menu-sp-btn.clicked span:last-child {
	-webkit-transform: translateY(-7px) rotateZ(135deg);
	-ms-transform: translateY(-7px) rotate(135deg);
	transform: translateY(-7px) rotateZ(135deg)
}

#footer {
	position: relative
}

#footer .top-footer {
	display: block;
	padding: 83px 0;
	background-color: #f6f6f6
}

@media (max-width:768px) {
	#footer .top-footer {
		padding: 40px 0
	}
}

#footer .bottom-footer {
	position: relative;
	display: inline-block;
	width: 100%;
	margin-bottom: -10px;
	padding: 30px 0
}

#footer .left-panel {
	display: inline-block;
	float: left;
	width: 72%
}

@media (max-width:768px) {
	#footer .bottom-footer {
		padding: 0
	}

	#footer .left-panel {
		width: 100%;
		padding-bottom: 30px;
		border-bottom: 2px solid #ddd
	}

	#footer .left-panel.left-panel-bottom {
		padding-bottom: 0;
		border-bottom: none
	}
}

#footer .left-panel .col {
	float: left;
	width: 31.33333%;
	margin-right: 2%
}

#footer .left-panel .col .ttl {
	font-weight: 700;
	line-height: 1.4;
	padding-bottom: 10px;
	font-size: 14.4px;
	font-size: 1.44rem
}

@media (max-width:768px) {
	#footer .left-panel .col {
		width: 100%;
		margin-right: 0;
		text-align: center
	}

	#footer .left-panel .col .ttl {
		font-size: 13px;
		font-size: 1.3rem
	}
}

#footer .left-panel .col .sitemap {
	padding-bottom: 10px
}

#footer .left-panel .col .sitemap li {
	padding-bottom: 10px;
	font-size: 16px;
	font-size: 1.6rem
}

#footer .left-panel .list-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

@media (max-width:768px) {
	#footer .left-panel .col .sitemap li {
		font-size: 13px;
		font-size: 1.3rem
	}

	#footer .left-panel .list-link {
		width: 100%;
		background-color: #eee
	}
}

#footer .left-panel .list-link li {
	padding-right: 30px;
	font-size: 13px;
	font-size: 1.3rem
}

@media (max-width:768px) {
	#footer .left-panel .list-link li {
		/*		width: 50%;*/
		width: calc(100% / 3);
		padding: 18px 0;
		text-align: center;
		border-right: 2px solid #ddd
	}

	/*	#footer .left-panel .list-link li:nth-child(2n) {
		border-right: none
	}*/
	#footer .left-panel .list-link li:last-child {
		border-right: none
	}
}

#footer .right-panel {
	float: left;
	width: 28%
}

#footer .right-panel .logo-footer {
	margin-bottom: 20px
}

#footer .right-panel .ttl {
	font-weight: 700;
	color: #333;
	font-size: 16px;
	font-size: 1.6rem
}

@media (max-width:768px) {
	#footer .right-panel {
		width: 100%;
		padding-top: 20px;
		text-align: center
	}

	#footer .right-panel .ttl {
		font-size: 13px;
		font-size: 1.3rem
	}

	#footer .right-panel .copyright {
		padding-bottom: 20px
	}
}

#footer .right-panel .txt {
	line-height: 1.8;
	font-size: 13px;
	font-size: 1.3rem
}

#footer .right-panel .copyright {
	font-size: 12px;
	font-size: 1.2rem
}

.section-consultation a {
	display: block;
	padding: 88px 10px 100px
}

.section-consultation a:hover {
	background-color: #d22d35 !important
}

.section-consultation .ttl {
	padding-bottom: 8px;
	text-align: center;
	color: #fff
}

.section-consultation .txt {
	line-height: 2;
	position: relative;
	padding-bottom: 60px;
	color: #fff
}

.section-consultation .txt:before {
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	width: 40px;
	height: 40px;
	content: '';
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background: url(https://www.vibitcms.com/tmp/shared/img/ico_arow.png);
	background-size: cover
}

@media (max-width:768px) {
	.section-consultation .txt {
		padding-bottom: 40px;
		font-size: 13px;
		font-size: 1.3rem
	}

	.section-consultation .txt:before {
		width: 30px;
		height: 30px
	}
}

@media screen and (max-width:768px) {
	.is-show:before {
		position: fixed;
		z-index: -1;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		content: '&npsp;';
		opacity: .8;
		/*background-color: #000*/
	}
}

.heading-top {
	padding: 46px 0 50px;
	background: url(https://www.vibitcms.com/tmp/shared/img/bg_parts.jpg)
}

.side-bar .heading,
.side-bar>ol>ol>li>a,
.side-bar>ol>ol>li>strong {
	font-weight: 700;
	text-align: center;
	color: #fff;
	background-color: #ea323b
}

.page-parts_001,
	.page-parts_002 {
		margin-top: 130px;
	}


@media (max-width: 1200px) {
	.page-parts_001,
	.page-parts_002 {
		margin-top: 50px;
	}
}


@media (max-width:768px) {
	.heading-top {
		padding: 23px 0 25px
	}

	.page-parts_001,
	.page-parts_002 {
		margin-top: 0;
	}
}

.main-content {
	float: left;
	width: 74%
}

@media screen and (max-width:768px) {
	.main-content {
		width: 100%;
		padding-bottom: 25px
	}
}

.main-content .txt {
	line-height: 1.8
}

.side-bar {
	float: left;
	width: 26%;
	padding-left: 40px
}

.side-bar .heading,
.side-bar .list-box {
	display: inline-block;
	width: 100%
}

@media screen and (max-width:768px) {
	.side-bar {
		width: 100%;
		padding-left: 0
	}
}

.side-bar .heading {
	padding: 46px 5px;
	font-size: 18px;
	font-size: 1.8rem
}

@media screen and (max-width:768px) {
	.side-bar .heading {
		width: 100%;
		padding: 23px 5px;
		font-size: 16px;
		font-size: 1.6rem
	}
}

.side-bar ol li::before {
	content: none
}

.side-bar>ol>ol>li>a,
.side-bar>ol>ol>li>strong {
	display: inline-block;
	width: 100%;
	padding: 46px 5px;
	font-size: 18px;
	font-size: 1.8rem
}

@media screen and (max-width:768px) {

	.side-bar ol ol li a,
	.side-bar ol ol li strong {
		width: 100%;
		padding: 23px 5px;
		font-size: 16px;
		font-size: 1.6rem
	}
}

.side-bar ol ol ol li {
	border-bottom: 1px solid #ddd;
	background-color: #f3f3f3
}

.side-bar ol ol ol li a,
.side-bar ol ol ol li strong {
	position: relative;
	display: block;
	padding: 18px 20px;
	color: #333;
	font-size: 15px;
	font-size: 1.5rem
}

@media (max-width:768px) {

	.side-bar ol ol ol li a,
	.side-bar ol ol ol li strong {
		padding: 13px 15px;
		font-size: 13px;
		font-size: 1.3rem
	}
}

.side-bar ol ol ol li a:after {
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	width: 11px;
	height: 16px;
	content: '';
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	background: url(https://www.vibitcms.com/tmp/shared/img/ico_arow_right.png);
	background-size: cover
}

.breadcrumb a {
	position: relative;
	padding-right: 30px
}

.breadcrumb a:after {
	position: absolute;
	top: -5px;
	right: 10px;
	font-size: 18px;
	color: #a7a5a7;
	display: block;
	content: "\f105";
	font-family: FontAwesome
}

@media (min-width:769px) {
	#visual {
		width: 100%;
		overflow: hidden;
	}

	#visual-image {
		position: relative;
		left: 50%;
		/* 画像の左端が画面中央にくる */
		margin-left: -1200px;
		/* 画像幅2400pxの半分だけ左に移動する */
	}

	#visual-image:hover {
		opacity: 0.8;
	}
}

@media (max-width:768px) {

	#cboxLoadedContent,
	#cboxContent,
	#cboxWrapper,
	#colorbox {
		width: 100% !important;
	}

	#cboxLoadedContent,
	#cboxContent,
	#cboxWrapper {
		height: auto !important;
	}
}

iframe {
	width: 100%;
}

a {
	outline: none;
}

#VcArea-TopPage {
	overflow-x: hidden
}

/* サイト検索デバッグ用 */
.l-nav-sub-search {
	margin: 20px;
	background: #f2f4f5;
}

.l-nav-sub-search__wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.l-nav-sub-search__txt[type="text"] {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 calc(100% - 40px);
	flex: 0 0 calc(100% - 40px);
	max-width: calc(100% - 40px);
	height: 40px;
	padding-left: 15px;
	font-size: 1.6rem;
	border: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	letter-spacing: 0.06em;
}

.l-nav-sub-search__btn {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 40px;
	flex: 0 0 40px;
	max-width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
}

.l-nav-sub-search__btn::before {
	width: 20px;
	height: 20px;
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: no-repeat 100% 50% / cover;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240px%22%20height%3D%2240px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23333%22%20d%3D%22M39.777%2C36.660%20L36.666%2C39.769%20L24.889%2C27.993%20C22.222%2C29.994%2019.111%2C31.105%2015.555%2C31.105%20C6.888%2C31.105%20-0.000%2C24.215%20-0.000%2C15.547%20C-0.000%2C6.882%206.888%2C-0.007%2015.555%2C-0.007%20C24.222%2C-0.007%2031.111%2C6.882%2031.111%2C15.547%20C31.111%2C19.103%2030.000%2C22.215%2027.999%2C24.883%20L39.777%2C36.660%20ZM15.555%2C4.439%20C9.333%2C4.439%204.444%2C9.328%204.444%2C15.547%20C4.444%2C21.772%209.333%2C26.659%2015.555%2C26.659%20C21.778%2C26.659%2026.666%2C21.772%2026.666%2C15.547%20C26.666%2C9.328%2021.778%2C4.439%2015.555%2C4.439%20Z%22%2F%3E%3C%2Fsvg%3E");
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}


@media all and (min-width: 768px) {
	.l-nav-sub-search {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 226px;
		flex: 0 0 226px;
		margin: 0 20px 0 0;
	}

	.l-nav-sub-search__txt[type="text"],
	.l-nav-sub-search__btn {
		height: 30px;
	}

	.l-nav-sub-search__txt[type="text"] {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 196px;
		flex: 0 0 196px;
		max-width: 196px;
		padding-left: 10px;
		font-size: 1.3rem;
		background: #f2f4f5;
		outline: none;
	}

	.l-nav-sub-search__btn {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 30px;
		flex: 0 0 30px;
	}

	.l-nav-sub-search__btn::before {
		width: 16px;
		height: 16px;
		-webkit-transition: background 0.3s ease;
		transition: background 0.3s ease;
	}

	.l-nav-sub-search__btn:hover::before {
		width: 16px;
		height: 16px;
		content: "";
		display: inline-block;
		vertical-align: middle;
		background: no-repeat 100% 50% / cover;
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240px%22%20height%3D%2240px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%237c2ac1%22%20d%3D%22M39.777%2C36.660%20L36.666%2C39.769%20L24.889%2C27.993%20C22.222%2C29.994%2019.111%2C31.105%2015.555%2C31.105%20C6.888%2C31.105%20-0.000%2C24.215%20-0.000%2C15.547%20C-0.000%2C6.882%206.888%2C-0.007%2015.555%2C-0.007%20C24.222%2C-0.007%2031.111%2C6.882%2031.111%2C15.547%20C31.111%2C19.103%2030.000%2C22.215%2027.999%2C24.883%20L39.777%2C36.660%20ZM15.555%2C4.439%20C9.333%2C4.439%204.444%2C9.328%204.444%2C15.547%20C4.444%2C21.772%209.333%2C26.659%2015.555%2C26.659%20C21.778%2C26.659%2026.666%2C21.772%2026.666%2C15.547%20C26.666%2C9.328%2021.778%2C4.439%2015.555%2C4.439%20Z%22%2F%3E%3C%2Fsvg%3E");
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}

	.l-nav-sub-search_pc {
		display: none;
	}
}
#insearch-result {
    display: flex;
    flex-direction: column;
}
#insearch-result ul li {
    padding: 1em 0;
    border-bottom: 1px solid #ccc;
}
#insearch-result ul.paging-index li{
    border-bottom: none
}
#insearch-result ul li a{
    color: #333
}
#insearch-result ul li a h3{
    margin: auto;
    margin-bottom: 10px;
    padding-bottom: 5px;
    font-size: 1.2em;
    font-weight: bold;
}
#insearch-result li.paging-index-current a {
    background-color: #ea323b!important;
}

#insearch-result ul.paging-index {
    order: 4;
}
#insearch-result > p {
    margin-bottom: 10px;
}