@charset "UTF-8";

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

  edit

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

.pbHeaderArea,
.pbFooterArea {
	overflow: visible;
}
:focus {
	outline: none;
}
:root ol, :root ul {
	margin: 0;
	padding: 0;
}
.pbNested {
	clear: none;
	overflow: visible;
	min-width: 10px;
}
.pb-layout {
	outline: 1px dotted #ccc !important;
	box-shadow: none!important;
}
.pb-handle {
	display: block!important;
	width: auto!important;
	height: auto!important;
	min-width: auto!important;
	min-height: auto!important;
	border: 1px solid #999!important;
	font-family: Meiryo, 'Hiragino Kaku Gothic ProN', 'MS PGothic', Sans-serif!important;
	font-weight: normal!important;
	letter-spacing: normal!important;
	text-indent: 0!important;
	line-height: 1.6;
}
.pb-handle:before,
.pb-handle:after {
	display: none!important;
}
.pbNotEditable {
	min-width: 200px!important;
	background: rgba(32, 32, 32, 0.5)!important;
}
.pbZero td {
	vertical-align: middle;
}

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

  base

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

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	vertical-align: top;
}
.pbPage {
	position: relative;
	overflow: hidden!important;
	-webkit-text-size-adjust: 100%;
	padding-top: 129px;
	background: #fff;
	font-family: 'Noto Sans JP','Noto Sans SC', sans-serif;
	word-break: break-word;
	color: #121212;
	font-size: 16px;
	line-height: 1.8;
}
.pbPage.edit {
	padding-top: 0;
}

@media screen and (max-width: 1199px) {
	.pbPage {
		min-width: 1340px;
	}
}

@media screen and (max-width: 1200px) {
	.pbPage {
		padding-top: 60px;
	}
	body.open {
		overflow: hidden;
	}
}

@media screen and (max-width: 767px) {
	.pbPage {
		min-width: auto;
		font-size: 14px;
	}
}

/*  print
------------------------------------------------*/

@media print {
	.pbPage {
		min-width: 1340px;
		zoom: .68;
        -webkit-print-color-adjust: exact;
	}
}

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

h1,
h2,
h3,
h4 {
	font-weight: inherit;
	font-size: inherit;
}

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

a {
	color: inherit;
	transition: all .3s;
	text-decoration: underline;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
a img {
	transition: all .8s;
}

@media (min-width: 768px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
	a:hover {
		text-decoration: none;
	}
}

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

ol,
ul {
	list-style: none;
}

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

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

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

small {
	font-size: inherit;
}

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

table {
	max-width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: none;
}

/*  form
------------------------------------------------*/

:focus {
	outline: none;
}
button {
	background: transparent;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	cursor: pointer;
	transition: all .3s;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}

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

  utility

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

.u_left {
	text-align: left!important;
}
.u_center {
	text-align: center!important;
}
.u_right {
	text-align: right!important;
}
.u_strong {
	font-weight: 500;
}
.u_mt0 {
	margin-top: 0!important;
}
.u_mt10 {
	margin-top: 10px!important;
}
.u_mt20 {
	margin-top: 20px!important;
}
.u_mt30 {
	margin-top: 30px!important;
}
.u_mt40 {
	margin-top: 40px!important;
}
.u_mt50 {
	margin-top: 50px!important;
}
.u_full img {
	width: 100%;!important;
}

@media print, screen and (min-width: 768px) {
	.u_sp {
		display: none!important;
	}
	.u_sp-block > div:not(.pb-handle) {
		display: none!important;
	}
}

@media screen and (max-width: 767px) {
	.u_pc {
		display: none!important;
	}
	.u_pc-block > div:not(.pb-handle) {
		display: none!important;
	}
}

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

  header

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

.header {
	position: fixed;
	top: 0;
	z-index: 2;
	width: 100%;
	background: #fff;
	transition: all .3s;
}
.pbPage.edit .header {
	position: relative;
}
.header.hide {
  transform: translateY(-140px);
}
.header .inner {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 50px;
}
.header a {
	text-decoration: none;
}

@media screen and (max-width: 1200px) {
	.header .inner {
		height: 60px;
		padding: 0 0 0 20px;
		background: #fff;
		z-index: 4;
	}
	.header .inner:after {
		content: '';
		position: absolute;
		z-index: 2;
		left: 50%;
		transform: translateX(-50%);
		top: 100%;
		width: 100%;
		height: 5px;
		background: linear-gradient(to bottom,  rgba(0,0,0,.08) 0%,rgba(0,0,0,0) 100%);
		transition: all .3s;
	}
}

/*  logo
------------------------------------------------*/

.h_logo {
	width: 181px;
}
.h_logo img {
	display: block;
}

@media screen and (max-width: 1200px) {
	.h_logo {
		width: 116px;
	}
}

/*  megamenu
------------------------------------------------*/

.header .megamenu {
	position: absolute;
	left: 0;
	z-index: 1;
	width: 100%;
	overflow: hidden;
	height: 0;
	background: #f8f8f8;
	border-top: 1px solid #c7c7c7;
	transition: height .5s cubic-bezier(0.165, 0.84, 0.44, 1), visibility .5s;
}
.header .megamenu-inner {
	width: calc(100% - 100px);
	max-width: 1320px;
	margin: 0 auto;
	padding: 40px 0;
}
.header .megamenu-content {
	display: flex;
	justify-content: space-between;
}
.header .megamenu-content.col-4 .box {
	width: 22.728%;
}
.header .megamenu-content.col-5 .box {
	width: 17.425%;
}
.header .megamenu-content .box:only-child {
	display: flex;
}
.header .megamenu-content .title {
	margin-bottom: 20px;
	padding-bottom: 15px;
	color: #005EB8;
	border-bottom: 1px solid #c3c3c3;
}
.header .megamenu-content .title a:after {
	border-color: #005EB8;
}
.header .megamenu-content ul + ul:not(:first-child) {
	margin-left: 100px;
}
.header .megamenu-content ul {
	font-size: 14px;
	line-height: 1.6;
}
.header .megamenu-content li:not(:first-child) {
	margin-top: 14px;
}
.header .megamenu-content a {
	position: relative;
	display: block;
	padding-right: 20px;
}
.header .megamenu-content a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 5px;
	width: 7px;
	height: 7px;
	border-bottom: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(-45deg);
	transition: all .3s;
}
@media (min-width: 768px) {
	.header .megamenu-content a:hover:after {
		right: 0;
	}
}

	
/*  nav
------------------------------------------------*/

.h_nav {
	display: flex;
	align-items: center;
}
.h_nav .list {
	display: flex;
}
.h_nav .item:not(:first-child) {
	margin-left: 40px;
}
.h_nav .item-title a {
	position: relative;
	display: block;
	padding: 23px 0;
	font-size: 15px;
}
.h_nav .item-title a:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	width: 100%;
	height: 2px;
	background: transparent;
	transition: all .3s;
}
.h_nav .item.active .item-title a:before,
.h_nav .item .item-title a.active:before {
	background: #005EB8;
}
@media (min-width: 768px) {
	.h_nav .item-title a:hover:before {
		background: #005EB8;
	}
}
.h_nav .item.menu .item-title a {
	position: relative;
	padding-right: 17px;
}
.h_nav .item.menu .item-title a:after {
	content: '';
	position: absolute;
	top: -5px;
	bottom: 0;
	margin: auto;
	right: 0;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #141414;
	border-right: 1px solid #141414;
	transform: rotate(45deg);
	transition: all .3s;
}
.h_nav .item .megamenu {
	visibility: hidden;
}
.h_nav .item.active .megamenu {
	visibility: visible;
}
.h_nav .item:not(.active) .megamenu {
	pointer-events: none;
}
.h_nav .lang {
	position: relative;
	display: flex;
	margin-left: 35px;
	font-size: 16px;
	font-family: 'Manrope', sans-serif;
}
.h_nav .lang button {
	position: relative;
	padding: 6px 31px 6px 41px;
	background: #E5E5E5;
	font-weight: 500;
	border: none;
	border-radius: 25px;
}	
.h_nav .lang svg {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 15px;
}
.h_nav .lang svg * {
	transition: all .3s;
}
.h_nav .lang button:after {
	content: '';
	position: absolute;
	top: -1px;
	bottom: 0;
	margin: auto;
	right: 15px;
	width: 4px;
	height: 4px;
	border-bottom: 1px solid #141414;
	border-right: 1px solid #141414;
	transform: rotate(45deg);
	transition: all .3s;
}
.h_nav .lang.active button {
	background: #005EB8;
	color: #fff;
}
.h_nav .lang.active button:after {
	border-color: #fff;
}
.h_nav .lang.active button:after {
	top: 5px;
	transform: rotate(-135deg)
}
.h_nav .lang.active button svg * {
	stroke: #fff;
}
@media (min-width: 768px) {
	.h_nav .lang button:hover {
		background: #005EB8;
		color: #fff;
	}
	.h_nav .lang button:hover:after {
		border-color: #fff;
	}
	.h_nav .lang button:hover svg * {
		stroke: #fff;
	}
}
.h_nav .lang ul {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	z-index: 1;
	top: calc(100% + 15px);
	left: 50%;
	min-width: 100%;
	background: #fff;
	text-align: center;
	white-space: nowrap;
	box-shadow: 0 0 3px rgba(0,0,0,.2);
	transform: translate(-50%,20px);
	transition: all .3s;
}
.h_nav .lang.active ul {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%,0);
}
.h_nav .lang ul li:not(:first-child) {
	border-top: 1px solid #eee;
}
.h_nav .lang ul a {
	display: block;
	padding: 3px 20px;
}
@media (min-width: 768px) {
	.h_nav .lang ul a:hover {
	background: #E4EAEF;
	}
	.h_nav .button i:only-child:hover {
		background: #ef6132;
	}
}

@media screen and (max-width: 1200px) {
	.h_nav {
		display: block;
	}
}

	.h_nav .lang select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
	}

/*  h_global
------------------------------------------------*/

.h_global {
	position: relative;
	width: 100%;
	background: #fff;
	border-top: 1px solid #D3D3D3;
}
.h_global .back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.h_global:after {
	content: '';
	position: absolute;
	z-index: 2;
	left: 50%;
	transform: translateX(-50%);
	top: 100%;
	width: 100%;
	height: 10px;
	background: linear-gradient(to bottom,  rgba(0,0,0,.08) 0%,rgba(0,0,0,0) 100%);
	transition: all .3s;
}
.h_global .global-inner {
	position: relative;
	display: flex;
	width: calc(100% - 100px);
	margin: 0 auto;
	font-size: 15px;
	font-weight: 500;
}
.h_global .global-inner > div:not(:first-child) {
	margin-left: 40px;
}
.h_global .global-inner a {
	display: block;
	padding: 14px 0;
}
.h_global .megamenu-button a,
.h_global .megamenu-link a {
	position: relative;
}
.h_global .megamenu-button a:before,
.h_global .megamenu-link a:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	width: 100%;
	height: 2px;
	background: transparent;
	transition: all .3s;
}
@media (min-width: 768px) {
	.h_global .megamenu-link a:hover:before {
		background: #005EB8;
	}
}
.h_global .megamenu-button.active a:before,
.h_global .megamenu-button a.active:before,
.h_global .megamenu-link a.active:before {
	background: #005EB8;
}
.h_global .megamenu-button a {
	padding-right: 17px;
}
.h_global .megamenu-button a:after {
	content: '';
	position: absolute;
	top: -5px;
	bottom: 0;
	margin: auto;
	right: 0;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #141414;
	border-right: 1px solid #141414;
	transform: rotate(45deg);
	transition: all .3s;
}
.h_global .megamenu {
	border-top: none;
}
.h_global .megamenu-content:not(.active) {
	display: none;
}

@media screen and (max-width: 1200px) {
	.h_global {
		display: none;
	}
}

/*  h_global-sp
------------------------------------------------*/

@media print, screen and (min-width: 1201px) {
	.h_global-sp {
		display: none;
	}
}

@media screen and (max-width: 1200px) {
	.header {
		z-index: 10000;
	}
	body.open .header .inner:after {
		opacity: 0;
	}
	.h_global-sp {
		opacity: 0;
		visibility: hidden;
		position: absolute;
		top: 0;
		left: 100%;
		left: 0;
		z-index: 3;
		width: 100%;
		height: 100vh;
		padding: 75px 20px 100px;
		background: #fff;
		transition: all .3s;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
	body.open .h_global-sp {
		opacity: 1;
		visibility: visible;
	}
	.h_global-sp .title {
		font-size: 20px;
		font-weight: 500;
	}
	.h_global-sp .title.accordion {
		position: relative;
	}
	.h_global-sp .title.accordion:before,
	.h_global-sp .title.accordion:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 2px;
		width: 16px;
		height: 2px;
		background: #121212;
		transition: all .3s;
		pointer-events: none;
	}
	.h_global-sp .title.accordion:after {
		transform: rotate(90deg);
	}
	.h_global-sp .title.accordion.active:after {
		transform: rotate(360deg);
	}
	.h_global-sp .title a,
	.h_global-sp .title button {
		display: block;
		width: 100%;
		padding: 11px 0;
		text-align: left;
		border: none;
		font-weight: inherit;
	}
	.h_global-sp .box-link {
		padding: 5px 0;
		font-weight: 500;
	}
	.h_global-sp .box-title {
		margin: 20px 0;
		padding-bottom: 10px;
		font-size: 18px;
		color: #005EB8;
		border-bottom: 1px solid #ddd;
	}
	.h_global-sp .box-title a {
		position: relative;
		display: block;
		padding-right: 20px;
	}
	.h_global-sp .box-title a:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 5px;
		width: 7px;
		height: 7px;
		border-bottom: 1px solid #333;
		border-right: 1px solid #333;
		transform: rotate(-45deg);
		transition: all .3s;
	}
	.h_global-sp .box-link a {
		position: relative;
		display: inline-block;
		padding-right: 20px;
	}
	.h_global-sp .box-link a:after {
		content: '';
		position: absolute;
		display: inline-block;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 0;
		width: 7px;
		height: 7px;
		border-bottom: 1px solid #121212;
		border-right: 1px solid #121212;
		transform: rotate(-45deg);
		transition: all .3s;
	}
	.h_global-sp .box-list {
		padding-bottom: 20px;
		font-size: 15px;
	}
	.h_global-sp .box-list ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.h_global-sp .box-list li {
		min-width: calc(50% - 5px);
	}
	.h_global-sp .box-list a {
		display: block;
		padding: 6px 0;
	}
	.h_global-sp .menu {
		position: relative;
		margin-top: 25px;
		padding-top: 25px;
	}
	.h_global-sp .menu:before {
		content: '';
		position: absolute;
		z-index: 1;
		top: 0;
		left: -20px;
		width: calc(100% + 40px);
		height: 1px;
		background: #DEDEDE;
	}
	.h_global-sp .menu .title {
		font-size: 18px;
		font-weight: normal;
	}
	.h_global-sp .lang {
		position: relative;
		display: inline-block;
		margin-top: 15px;
	}
	.h_global-sp .lang button {
		position: relative;
		padding: 8px 36px 8px 46px;
		background: #E5E5E5;
		font-family: 'Overpass', sans-serif;
		font-weight: 600;
		font-size: 17px;
		border: none;
		border-radius: 25px;
		pointer-events: none;
	}
	.h_global-sp .lang button svg {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 20px;
	}
	.h_global-sp .lang button:after {
		content: '';
		position: absolute;
		top: -5px;
		bottom: 0;
		margin: auto;
		right: 15px;
		width: 6px;
		height: 6px;
		border-bottom: 1px solid #141414;
		border-right: 1px solid #141414;
		transform: rotate(45deg);
		transition: all .3s;
	}
	.h_global-sp .lang select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
	}
}

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

.header .sp-menu {
	display: none;
	position: relative;
	top: 0;
	right: 0;
	z-index: 4;
	width: 60px;
	height: 60px;
}
.header .sp-menu span {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	width: 22px;
	height: 2px;
	background: #000;
}
.header .sp-menu span:nth-of-type(1) {
	top: 21px;
}
.header .sp-menu span:nth-of-type(2) {
	top: 29px;
}
.header .sp-menu span:nth-of-type(3) {
	bottom: 21px;
}
body.open .header .sp-menu span:nth-of-type(1) {
	animation: open01 .75s forwards;
}
body.close .header .sp-menu span:nth-of-type(1) {
	animation: close01 .75s;
}
@keyframes open01 {
	0% {transform: translateY(0) rotate(0);}
	50% {transform: translateY(8px) rotate(0);}
	100% {transform: translateY(8px) rotate(45deg);}
}
@keyframes close01 {
	0% {transform: translateY(8px) rotate(45deg);}
	50% {transform: translateY(8px) rotate(0);}
	100% {transform: translateY(0) rotate(0);}
}
body.open .header .sp-menu span:nth-of-type(2) {
	opacity: 0;
}
body.open .header .sp-menu span:nth-of-type(3) {
	animation: open03 .75s forwards;
}
body.close .header .sp-menu span:nth-of-type(3) {
	animation: close03 .75s;
}
@keyframes open03 {
	0% {transform: translateY(0) rotate(0);}
	50% {transform: translateY(-8px) rotate(0);}
	100% {transform: translateY(-8px) rotate(-45deg);}
}
@keyframes close03 {
	0% {transform: translateY(-8px) rotate(-45deg);}
	50% {transform: translateY(-8px) rotate(0);}
	100% {transform: translateY(0) rotate(0);}
}

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

/*  navigation
------------------------------------------------*/

.h_navigation {
	position: relative;
	width: calc(100% - 100px);
	margin: auto;
	padding: 15px 0;
	font-size: 12px;
}
.h_navigation a {
	position: relative;
	padding-right: 20px;
}
.h_navigation a:after {
	content: '';
	position: absolute;
	top: 7px;
	right: 8px;
	width: 4px;
	height: 4px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(45deg);
}

@media screen and (max-width: 1200px) {
	.h_navigation {
		width: calc(100% - 40px);
	}
}
@media screen and (max-width: 767px) {
	.h_navigation {
		padding: 10px 0;
	}
}

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

  footer

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

.pbFooterArea {
	position: relative;
}
.footer {
	background: #02007C;
	color: #fff;
}

/* 202505 グラデーション変更 */
.footer {
	background: linear-gradient(90deg,rgba(0, 78, 162, 1) 0%, rgba(60, 160, 166, 1) 55%);
}

.footer .inner {
	width: calc(100% - 100px);
	max-width: 1240px;
	margin: 0 auto;
	padding: 60px 0;
}

.footer a {
	position: relative;
	display: inline-block;
	text-decoration: none;
}
.footer a:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: #fff;
	transition: .3s all;
}
@media (min-width: 768px) {
	.footer a:hover:before {
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	/* 202505 グラデーション変更 */
	.footer {
		background: linear-gradient(135deg,rgba(0, 78, 162, 1) 0%, rgba(60, 160, 166, 1) 55%);
	}
	.footer .inner {
		width: calc(100% - 40px);
		max-width: 1240px;
		margin: 0 auto;
		padding: 75px 0 20px;
	}
}


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

.f_menu {
	display: flex;
	justify-content: space-between;
}
.f_menu .com {
	width: 258px;
}
.f_menu .com a:before {
	display: none;
}
.f_menu nav {
	display: flex;
	justify-content: space-between;
	width: 760px;
	line-height: 1.6;
}
.f_menu .box:first-child {
	width: 347px;
}
.f_menu .box:last-child {
    width: 330px;
}
.f_menu .title {
	display: flex;
	justify-content: space-between;
	font-size: 18px;
	font-weight: 500;
}
.f_menu .title ul {
	max-width: calc(50% - 10px);
}
.f_menu .title li:not(:first-child) {
	margin-top: 20px;
}
.f_menu .title a {
	padding-bottom: 5px;
}
.f_menu .list:not(:first-child) {
	margin-top: 13px;
}
.f_menu .list {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
}
.f_menu .list ul {
	max-width: calc(50% - 10px);
}
.f_menu .list li:not(:first-child) {
	margin-top: 12px;
}
.f_menu .list a {
	padding-right: 15px;
}
.f_menu .list a:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 0;
	height: 1px;
	background: #fff;
	transition: .3s all;
}
@media (min-width: 768px) {
	.f_menu .list a:hover:before {
		width: 100%;
	}
}
.f_menu .list a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 0;
	width: 7px;
	height: 7px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(-45deg);
	transition: all .3s;
}

@media screen and (max-width: 767px) {
	.f_menu {
		flex-direction: column;
		width: 100%;
		max-width: 330px;
		margin: auto;
	}
	.f_menu .com {
		width: 210px;
		margin: auto;
	}
	.f_menu nav {
		flex-direction: column;
		width: 100%;
		margin-top: 70px;
	}
	.f_menu .box:first-child,
	.f_menu .box:last-child {
		width: 100%;
	}
	.f_menu .box:not(:first-child) {
		margin-top: 45px;
	}
	.f_menu .title {
		font-size: 18px;
	}
	.f_menu .title ul {
		max-width: calc(50% - 5px);
	}
	.f_menu .list:not(:first-child) {
		margin-top: 25px;
	}
	.f_menu .list ul {
		max-width: calc(50% - 5px);
	}
	.f_menu .list li:not(:first-child) {
		margin-top: 20px;
	}
}

/*  copy
------------------------------------------------*/

.f_copy {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
	padding-top: 10px;
	font-size: 12px;
	border-top: 1px solid rgba(255,255,255,.3);
}
.f_copy .link ul {
	display: flex;
	flex-wrap: wrap;
}
.f_copy .link li:not(:last-child):after {
	content: '/';
	display: inline-block;
	margin: 0 12px;
}
.f_copy .copy {
	font-size: 12px;
	font-family: 'Manrope', sans-serif;
}

@media screen and (max-width: 767px) {
	.f_copy {
		align-items: center;
		flex-direction: column;
		padding-top: 35px;
	}
	.f_copy .copy {
		margin-top: 55px;
		font-size: 10px;
	}
}

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

  component

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

.c_component {
	color: #999999;
	font-family: 'Manrope', sans-serif;
}
.c_component > div {
	width: calc(100% - 100px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px 0;
}
.c_component.w1240 > div {
	max-width: 1240px;
	padding: 0;
}
.c_section .c_component > div {
	width: 100%;
	padding: 0;
}
.c_section .c_component:not(:first-child) {
	margin-top: 190px;
}
.c_section .c_component + div:not(:first-child) {
	margin-top: 15px;
}

@media screen and (max-width: 767px) {
	.c_section .c_component:not(:first-child) {
		margin-top: 60px;
	}
	.c_component > div {
		width: calc(100% - 40px);
	}
}

/*  heading
========================================================================*/

.c_heading > div {
	width: calc(100% - 100px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 80px 0;
}
.pbPage:not(.edit) .c_heading .c_h1 > div > div,
.pbPage:not(.edit) .c_heading .c_subtitle,
.pbPage:not(.edit) .c_heading .c_style,
.pbPage:not(.edit) .c_keyvisual .c_h1 > div > div,
.pbPage:not(.edit) .c_keyvisual .c_subtitle,
.pbPage:not(.edit) .c_keyvisual .c_style,
.pbPage:not(.edit) .c_background .c_h1 > div > div,
.pbPage:not(.edit) .c_background .c_subtitle,
.pbPage:not(.edit) .c_background .c_style {
	opacity: 0;
}
.pbPage:not(.edit) .c_heading.animation .c_h1 > div > div,
.pbPage:not(.edit) .c_keyvisual.animation .c_h1 > div > div,
.pbPage:not(.edit) .c_background.animation .c_h1 > div > div {
	animation: title .8s ease-in-out 0s forwards;
}
.pbPage:not(.edit) .c_heading.animation .c_subtitle,
.pbPage:not(.edit) .c_heading.animation .c_style,
.pbPage:not(.edit) .c_keyvisual.animation .c_subtitle,
.pbPage:not(.edit) .c_keyvisual.animation .c_style,
.pbPage:not(.edit) .c_background.animation .c_subtitle,
.pbPage:not(.edit) .c_background.animation .c_style {
	animation: fade-in .8s ease-in-out 0s forwards;
}
@keyframes title {
	0% {opacity: 0; transform: translateX(100px);}
	100% {opacity: 1; transform: translateX(0);}
}
@keyframes fade-in {
	0% {opacity: 0; transform: translateY(100px);}
	100% {opacity: 1; transform: translateY(0);}
}
.c_h1 > div {
	position: relative;
	padding-bottom: 45px;
	font-size: 36px;
	line-height: 1.5;
	font-weight: 500;
}
.c_h1 > div:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40px;
	height: 2px;
	background: #005EB8;
}
.c_subtitle:not(:first-child) {
	margin-top: 36px;
}
.c_subtitle {
	font-size: 18px;
}

@media screen and (max-width: 767px) {
	.c_heading > div {
		width: calc(100% - 40px);
		padding: 20px 0 40px;
	}
	.c_h1 > div {
		padding-bottom: 20px;
		font-size: 22px;
	}
	.c_subtitle:not(:first-child) {
		margin-top: 20px;
	}
	.c_subtitle {
		font-size: 16px;
	}
}

/*  large  */

.c_heading.large .c_h1 > div {
	font-size: 70px;
	font-family: 'Manrope', 'Noto Sans JP', sans-serif;
}
.c_heading.large .c_subtitle{
	font-size: 26px;
}

@media screen and (max-width: 767px) {
	.c_heading.large .c_h1 > div {
		font-size: 36px;
	}
	.c_heading.large .c_subtitle{
		font-size: 20px;
	}
}

/*  detail
------------------------------------------------*/

.c_h1.detail > div {
	padding-bottom: 25px;
	font-size: 32px;
}
.c_h1.detail + div {
	margin-top: 30px;
}

@media screen and (max-width: 767px) {
	.c_h1.detail > div {
		font-size: 22px;
	}
}

/*  keyvisual
========================================================================*/

.c_keyvisual .image img {
	width: 100%;
	height: 480px;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.c_keyvisual .inner > div {
	width: calc(100% - 100px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 55px 0 200px;
}

@media screen and (max-width: 767px) {
	.c_keyvisual .image img {
		height: 200px;
	}
	.c_keyvisual .inner > div {
		width: calc(100% - 40px);
		padding: 20px 0 40px;
	}
}

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

.c_keyvisual.overlap .inner {
	position: relative;
	width: calc(100% - 40px);
	max-width: 1240px;
	margin: -60px auto 0;
	background: #fff;
}

@media screen and (max-width: 767px) {
	.c_keyvisual.overlap .inner {
		margin-top: -15px;
		width: calc(100% - 20px);
	}
	.c_keyvisual.overlap .inner > div {
		width: calc(100% - 20px);
	}
}
 
/*  background
========================================================================*/

.c_background > div {
	position: relative;
	padding: 120px 0 140px;
}
.c_background .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: auto!important;
}
.c_background .image * {
	height: 100%;
}
.c_background .image > div {
	background: #000;
}
.c_background .image img {
	opacity: .4;
	width: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.c_background .inner {
	position: relative;
	width: calc(100% - 100px);
	max-width: 1000px;
	margin: 0 auto;
	z-index: auto!important;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.c_background > div {
		padding: 80px 0;
	}
	.c_background .inner {
		width: calc(100% - 40px);
	}
}

/*  half
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
	.c_background.half > div {
		position: relative;
		width: 100%;
		max-width: none;
		padding: 0;
	}
	.c_background.half .image img {
		opacity: 1;
	}
	.c_background.half .inner {
		width: 50%;
		margin: 0;
		background: rgba(0,0,0,.6);
	}
	.c_background.half .inner > div {
		max-width: 700px;
		margin-left: auto;
		padding: 115px 30px;
	}
	.c_background.half .inner > div > div {
		max-width: 540px;
		margin-left: auto;
		margin-right: auto;
	}
}

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

.c_section > div {
	width: calc(100% - 100px);
	max-width: 1000px;
	margin: 0 auto;
	padding: 100px 0;
}
.pbPage:not(.edit) .c_section > div {
	opacity: 0;
}
.pbPage:not(.edit) .c_section.animation > div {
	animation: fade-in .8s ease-in-out 0s forwards;
}

@media screen and (max-width: 767px) {
	.c_section > div {
		width: calc(100% - 40px);
		padding: 40px 0;
	}
}

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

.c_section.light {
	background: #F8F8F8;
}

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

.c_section.dark {
	background: #E4EAEF;
}

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

.c_section.stripe {
	background-color: #E4EAEF;
	background-image: linear-gradient(-45deg, transparent 40%, #FFFFFF 40%, #FFFFFF 50%, transparent 50%, transparent 90%, #FFFFFF 90%, #FFFFFF);
	background-size: 7px 7px;
}

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

.c_section.small > div {
	max-width: 720px;
}

/*  section-lead
========================================================================*/

.c_section-lead > div {
	position: relative;
	padding: 100px 0;
}
.c_section-lead .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: auto!important;
}
.c_section-lead .image * {
	height: 100%;
}
.c_section-lead .image > div {
	background: #000;
}
.c_section-lead .image img {
	opacity: .4;
	width: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.c_section-lead .lead {
	position: relative;
	width: calc(100% - 30px);
	max-width: 1000px;
	margin: 0 auto;
	z-index: auto!important;
	color: #fff;
	font-size: 225%;
	line-height: 1.5;
}

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

/*  detail
========================================================================*/

.c_detail > div {
	display: flex;
	justify-content: space-between;
	width: calc(100% - 100px);
	max-width: 1240px;
	margin: 0 auto;
	padding: 60px 0 150px;
}
.pbPage:not(.edit) .c_detail > div {
	opacity: 0;
	animation: fade-in .8s ease-in-out 0s forwards;
}
.c_detail > div:after {
	display: none;
}
.c_detail .mainarea {
	width: calc(100% - 340px);
}
.c_detail .sidearea {
	width: 270px;
}
.c_detail .s_title:not(:first-child) {
	margin-top: 40px;
}
.c_detail .s_title {
	font-size: 24px;
}
.c_detail .s_menu .pbBlockMenu:not(:first-child) {
	border-top: 1px solid #C7C7C7;
}
.c_detail .s_menu {
	overflow: hidden;
	line-height: 1.5;
}
.c_detail .s_menu:not(:first-child) {
	margin-top: 15px;
}
.c_detail .s_menu a {
	position: relative;
	display: block;
	padding: 19px 45px 19px 20px;
	background: #F8F8F8;
	text-decoration: none;
}
.c_detail .s_menu a.active {
	color: #005EB8;
	pointer-events: none;
}
.c_detail .s_menu a.active:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
	width: 4px;
	height: calc(100% + 2px);
	background: #005EB8;
}
.c_detail .s_menu a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 20px;
	width: 7px;
	height: 7px;
	border-bottom: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(-45deg);
	transition: all .3s;
}
@media (min-width: 768px) {
	.c_detail .s_menu a:hover:after {
		right: 15px;
	}
}
.c_catalog {
	margin-top: 60px;
}
.c_catalog .title {
	text-align: center;
	font-size: 20px;
}
.c_catalog .image {
	max-width: 200px;
	margin: 20px auto 0;
}
.c_catalog .button {
	margin-top: 20px;
	text-align: center;
}
.c_catalog .button a {
	position: relative;
	display: inline-block;
	width: 200px;
	max-width: 100%;
	padding: 7px 30px;
	background: #005EB8;
	color: #fff;
	text-align: center;
	text-decoration: none;
	border-radius: 25px;
	font-size: 14px;
}
@media (min-width: 768px) {
	.c_catalog .button a:hover {
		opacity: .6;		
	}
}
.c_catalog .list {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #D3D3D3;
	font-size: 14px;
}
.c_catalog .list a {
	display: inline-block;
	position: relative;
	padding-left: 23px;
	text-decoration: none;
}
.c_catalog .list a:after {
	content: '';
	position: absolute;
	top: 9px;
	left: 5px;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #333;
	border-right: 1px solid #333;
	transition: all .3s;
	transform: rotate(-45deg);
}
@media (min-width: 768px) {
	.c_catalog .list a:hover {
		color: #005EB8;
	}
	.c_catalog .list a:hover:after {
		border-color: #005EB8;
	}
}

@media screen and (max-width: 767px) {
	.c_detail > div {
		width: calc(100% - 40px);
		padding: 20px 0 50px;
		flex-flow: column;
	}
	.c_detail .mainarea {
		width: 100%;
	}
	.c_detail .sidearea {
		margin-top: 60px;
		width: 100%;
	}
	.c_detail .s_title {
		font-size: 114.286%;
	}
	.c_detail .s_menu a {
		padding: 10px 45px 10px 20px;
	}
	.c_catalog {
		margin-top: 40px;
		padding: 20px 30px;
		border: 1px solid #C7C7C7;
	}
	.c_catalog .title {
		font-size: 18px;
	}
	.c_catalog .image {
		max-width: 150px;
		margin: 15px auto 0;
	}
	.c_catalog .button {
		margin-top: 25px;
		text-align: center;
	}
	.c_catalog .button a {
		position: relative;
		display: inline-block;
		width: 200px;
		max-width: 100%;
		padding: 7px 30px;
		background: #005EB8;
		color: #fff;
		text-align: center;
		text-decoration: none;
		border-radius: 25px;
		font-size: 14px;
	}
}

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

.c_h2:not(:first-child) {
	margin-top: 75px;
}
.c_h2 + div:not(:first-child) {
	margin-top: 20px;
}
.c_h2 {
	font-size: 28px;
	line-height: 1.5;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.c_h2:not(:first-child) {
		margin-top: 60px;
	}
	.c_h2 + div:not(:first-child) {
		margin-top: 15px;
	}
	.c_h2 {
		font-size: 20px;
	}
}

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

div[class*="c_h"].line > div {
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(10,46,95,.2);
}

@media screen and (max-width: 767px) {
	div[class*="c_h"].line > div {
		padding-bottom: 15px;
		border-bottom: 1px solid rgba(10,46,95,.2);
	}
}

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

.c_h2.banner > div {
	display: flex;
	justify-content: space-between;
}
.c_h2.banner > div:after {
	display: none;
}
.c_h2.banner .h2 {
	width: calc(100% - 200px);
}
.c_h2.banner .image {
	width: 150px;
}

@media screen and (max-width: 767px) {
	.c_h2.banner > div {
		flex-flow: column;
	}
	.c_h2.banner .h2 {
		width: 100%;
	}
	.c_h2.banner .image {
		margin: 10px 0 0 auto;
	}
}

/*  icon
------------------------------------------------*/

.c_h2.icon > div {
	display: flex;
	justify-content: space-between;
}
.c_h2.icon > div:after {
	display: none;
}
.c_h2.icon .image {
	width: 50px;
	margin-top: 3px;
}
.c_h2.icon .h2 {
	width: calc(100% - 70px);	
}

@media screen and (max-width: 767px) {
	.c_h2.icon .image {
		width: 30px;
		margin-top: 0;
	}
	.c_h2.icon .h2 {
		width: calc(100% - 40px);
	}
}

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

.c_h3:not(:first-child) {
	margin-top: 75px;
}
.c_h3 + div:not(:first-child) {
	margin-top: 15px;
}
.c_h3 {
	font-size: 24px;
	line-height: 1.5;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.c_h3:not(:first-child) {
		margin-top: 60px;
	}
	.c_h3 + div:not(:first-child) {
		margin-top: 15px;
	}
	.c_h3 {
		font-size: 18px;
	}
}

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

.c_h4:not(:first-child) {
	margin-top: 75px;
}
.c_h4 + div:not(:first-child) {
	margin-top: 15px;
}
.c_h4 {
	font-size: 20px;
	line-height: 1.5;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.c_h4:not(:first-child) {
		margin-top: 40px;
	}
	.c_h4 {
		font-size: 16px;
	}
}

/*  style
========================================================================*/

.c_style:not(:first-child) {
	margin-top: 45px;
}
.c_style a[target=_blank]:after,
.c_style a.pbOpenNewWindow:after,
.c_style a[href$='.pdf']:after,
.c_style a[href$='.doc']:after,
.c_style a[href$='.docx']:after,
.c_style a[href$='.xls']:after,
.c_style a[href$='.xlsx']:after,
.c_style a[href$='.ppt']:after,
.c_style a[href$='.pptx']:after {
	content: '';
	position: relative;
	top: 2px;
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 5px;
	background: url(../img/icon_window.png) no-repeat center top / contain;
}
.c_style a[href$='.pdf']:after {
	background-image: url(../img/icon_pdf.png);
}
.c_style a[href$='.doc']:after,
.c_style a[href$='.docx']:after {
	background-image: url(../img/icon_word.png);
}
.c_style a[href$='.xls']:after,
.c_style a[href$='.xlsx']:after {
	background-image: url(../img/icon_excel.png);
}
.c_style a[href$='.ppt']:after,
.c_style a[href$='.pptx']:after {
	background-image: url(../img/icon_powerpoint.png);
}

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

/*  strong
------------------------------------------------*/

.c_style.strong {
	font-weight: 500;
}

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

.c_style.large {
	font-size: 18px;
}

@media screen and (max-width: 767px) {
	.c_style.large {
		font-size: 114.286%;
	}
}

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

.c_style.small {
	font-size: 14px;
}

@media screen and (max-width: 767px) {
	.c_style.small {
		font-size: 85.714%;
	}
}

/*  mini
------------------------------------------------*/

.c_style.mini {
	font-size: 12px;
}

/*  alert
------------------------------------------------*/

.c_style.alert {
	color: #A50000;
}

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

.c_line,
.c_line + div:not(:first-child) {
	margin-top: 40px;
}
.c_line hr {
	border: none;
	border-top: 1px solid #C7C7C7;
}

/*  dot
------------------------------------------------*/

.c_line.dot hr {
	border-top: 1px dashed #C7C7C7;
}

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

.c_textbox:not(:first-child) {
	margin-top: 30px;
}
.c_textbox .c_panel:not(:first-child) {
	margin-top: 40px;
}
.c_textbox > div {
	padding: 45px 50px;
}

@media screen and (max-width: 767px) {
	.c_textbox:not(:first-child) {
		margin-top: 20px;
	}
	.c_textbox > div {
		padding: 30px 20px;
	}
}

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

.c_textbox.gray > div {
	background: #F8F8F8;
}
.c_section:not(.white) .c_textbox.gray > div {
	background: #fff;
}

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

.c_textbox.line > div {
	background: #fff;
	border: 1px solid #C7C7C7;
}

/*  alert
------------------------------------------------*/

.c_textbox.alert > div {
	background: #FCF5F5;
	border: 1px solid #A50000;
	color: #A50000;
}

/*  stepbox
========================================================================*/

.c_stepbox:not(:first-child) {
	margin-top: 45px;
}
.c_stepbox + .c_stepbox {
	margin-top: 20px;
}
.c_stepbox > div {
	position: relative;
}
.c_stepbox .step {
	position: absolute;
	top: 30px;
	z-index: 1;
	display: flex;
	align-items: center;
	width: 200px;
	height: 200px;
	background: #005EB8;
	color: #fff;
	font-size: 175%;
	font-family: 'Manrope', sans-serif;
}
.c_stepbox .step > div {
	width: 100%;
	text-align: center;
}
.c_stepbox .step > .pb-handle {
	top: 10px;
}
.c_stepbox .content {
	display: flex;
	align-items: center;
	width: calc(100% - 110px);
	margin-left: auto;
	min-height: 260px;
	background: #F8F8F8;
	z-index: auto!important;
}
.c_section:not(.white) .c_stepbox .content {
	background: #fff;
}
.c_stepbox .content > div {
	width: 100%;
	padding: 30px 60px 30px 120px;
}
.c_stepbox .content > .pb-handle {
	top: 10px;
}

@media screen and (max-width: 767px) {
	.c_stepbox:not(:first-child) {
		/* margin-top: 20px; */
	}
	.c_stepbox .step {
		position: static;
		width: 100%;
		height: auto;
		font-size: 142.857%;
	}
	.c_stepbox .step > div {
		padding: 7px 10px;
	}
	.c_stepbox .content {
		width: 100%;
		min-height: auto;
	}
	.c_stepbox .content > div {
		width: 100%;
		padding: 20px 15px;
	}
}

/*  arrow
========================================================================*/

.c_arrow:not(:first-child),
.c_arrow + div:not(:first-child) {
	margin-top: 40px;
}
.c_arrow > div {
	position: relative;
	height: 20px;
}
.c_arrow > div:not(.pb-handle):before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	border-style: solid;
	border-width: 20px 20px 0;
	border-color: #98CCFF transparent transparent;
}

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

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

.c_arrow.light > div:not(.pb-handle):before {
	border-top-color: #7CB4EA;
}

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

.c_arrow.dark > div:not(.pb-handle):before {
	border-top-color: #005EB8;
}

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

.c_accordion:not(:first-child) {
	margin-top: 30px;
}
.c_accordion .trigger {
	position: relative;
}
.c_accordion .trigger:before,
.c_accordion .trigger:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 30px;
	width: 16px;
	height: 2px;
	background: #005EB8;
	transition: all .3s;
	pointer-events: none;
}
.c_accordion .trigger:after {
	transform: rotate(90deg);
}
.c_accordion.active .trigger:after {
	transform: rotate(360deg);
}
.c_accordion .trigger > div {
	padding: 20px 65px 20px 30px;
	background: #fff;
	font-size: 20px;
	border: 1px solid #C7C7C7;
	cursor: pointer;
	font-weight: 500;
}
.c_accordion .content > div {
	padding: 45px 30px 0;
}

@media screen and (max-width: 767px) {
	.c_accordion:not(:first-child) {
		margin-top: 20px;
	}
	.c_accordion .trigger > div {
		padding: 10px 35px 10px 15px;
		font-size: 14px;
	}
	.c_accordion .trigger:before,
	.c_accordion .trigger:after {
		right: 20px;
		width: 10px;
	}
	.c_accordion .content > div {
		padding: 20px 15px 0;
	}
}

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

.c_button:not(:first-child) {
	margin-top: 30px;
}
.c_button a {
	position: relative;
	display: inline-block;
	width: 200px;
	max-width: 100%;
	padding: 12px 30px;
	background: #005EB8;
	color: #fff;
	text-align: center;
	text-decoration: none;
	border-radius: 25px;
	font-size: 14px;
}
.c_button a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	width: 5px;
	height: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}
@media (min-width: 768px) {
	.c_button a:hover {
		opacity: .6;		
	}
}

@media screen and (max-width: 767px) {
	.c_button:not(:first-child) {
		margin-top: 20px;
	}
	.c_button a {
		padding: 8px 30px;
	}
}

/*  disabled 
------------------------------------------------*/

.c_button.disabled a {
	background: #BEBEBE;
}
.pbPage:not(.edit) .c_button.disabled a {
	pointer-events: none;
}

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

.c_button.red a {
	background: #A50000;
}

/*  prev
------------------------------------------------*/

.c_button.prev a:after {
	right: auto;
	left: 20px;
	transform: rotate(225deg);
}

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

.c_button.large:not(:first-child) {
	margin-top: 50px;
}
.c_button.large a {
	width: 330px;
	padding: 10px 35px;
	border-radius: 35px;
	font-size: 20px;
}
.c_button.large a:after {
	width: 8px;
	height: 8px;
}

@media screen and (max-width: 767px) {
	.c_button.large:not(:first-child) {
		margin-top: 30px;
	}
	.c_button.large a {
		font-size: 100%;
	}
}

/*  buttonset
========================================================================*/

.c_buttonset:not(:first-child) {
	margin-top: 30px;
}
.c_buttonset > div {
	display: flex;
	justify-content: center;
}
.c_buttonset .box {
	margin: 0 25px;
}

@media screen and (max-width: 767px) {
	.c_buttonset:not(:first-child) {
		margin-top: 20px;
	}
	.c_buttonset > div {
		flex-flow: column;
	}
	.c_buttonset .box {
		width: 100%;
		text-align: center;
		margin: 0;
	}
	.c_buttonset .box:not(:first-child) {
		margin-top: 10px;
	}
}

/*  アンカーボタンカスタマイズ
========================================================================*/
/*  アンカーボタン背景グラデーション
========================================================================*/
.c_anchor.back-gradi ul {
  background: linear-gradient(90deg, rgba(0, 78, 162,1) 0%, rgba(40, 183, 188, 1) 80%) !important;
  overflow: hidden;

  /* 下だけ1pxカットするマスク */
  mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 1px), transparent 100%);
}

.c_anchor.button.back-gradi li{
   	background: none;
   	box-sizing: border-box;
    position: relative;
    z-index: 1;
    transform: translateZ(0);
}

/*  アンカーボタン背景グラデーション用白フォント
========================================================================*/
.c_anchor.button.back-gradi li{
   	color: #FFFFFF !important;
}
.c_anchor.button.back-gradi a:after{
  	border-color:#FFFFFF !important
}

/*  アンカーボタン5個並べPCのみ
========================================================================*/
@media screen and (min-width: 767px){
  .c_anchor.button.fivecol-anchor li{
  	width: 20% !important;
	padding: 10px 25px 10px 15px !important;
  }
  .c_anchor.button.fivecol-anchor a:after {
	right: 15px;
  }
}

/*  ダミーの塗りつぶし
========================================================================*/
.dummy-sp-item {
  position: relative;
  background: none; /* li本体は背景なし */
  overflow: hidden;
  border-bottom: 1px solid #FFFFFF !important;
  border-right: none !important;
}

.dummy-sp-item::before {
  content: "";
  position: absolute;
  inset: 0; /* top/left/right/bottom全部0と同義 */
  background: #ffffff; /* 白背景 */
  z-index: 0;
}

.dummy-sp-item > * {
  position: relative;
  z-index: 1;
}

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

.c_anchor:not(:first-child) {
	margin-top: 30px;
}
.c_anchor ul {
	display: flex;
	flex-wrap: wrap;
	margin: -9px -45px;
	font-size: 14px;
	font-weight: 500;
}

.c_anchor li {
	display: flex;
	align-items: center;
	position: relative;
	margin: 9px 45px;
}
.c_anchor a {
	position: relative;
	display: inline-block;
	padding-right: 17px;
	text-decoration: none;
}
@media (min-width: 768px) {
	.c_anchor a:hover {
		opacity: .6;
	}
}
.c_anchor a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 0;
	width: 7px;
	height: 7px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(45deg);
}
.c_anchor a[href^="#"]:after {
	top: -4px;
	transform: rotate(135deg);
}


@media screen and (max-width: 767px) {
	.c_anchor:not(:first-child) {
		margin-top: 20px;
	}
	.c_anchor ul {
		margin: -5px -15px;
		font-size: 12px;
	}
	.c_anchor li {
		margin: 5px 15px;
	}
}

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

.c_anchor.button ul {
	margin: 0;
	border-top: 1px solid #C7C7C7;
	border-left: 1px solid #C7C7C7;
}


.c_anchor.button li {
	justify-content: center;
	width: 25%;
	margin: 0;
	padding: 10px 40px;
	background: #fff;
	border-right: 1px solid #C7C7C7;
	border-bottom: 1px solid #C7C7C7;
	text-align: center;
}

.c_anchor.button a {
	position: static;
	display: inline-block;
	padding: 0;
}
.pbPage:not(.edit) .c_anchor.button a:before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition: all .3s;
}
.c_anchor.button a:after {
	right: 20px;
}
@media (min-width: 768px) {
	.c_anchor.button a:hover {
		opacity: 1;
	}
	.c_anchor.button a:hover:before {
		background: rgba(0,0,0,.03);
	}
}

@media screen and (max-width: 767px) {
	.c_anchor.button li {
		width: 50%;
		padding: 10px 25px 10px 10px;
	}
	.c_anchor.button a:after {
		right: 15px;
	}
}


/*  totop
========================================================================*/

.c_totop,
.c_totop + div:not(:first-child) {
	margin-top: 40px;
}
.c_totop > div {
	text-align: right;
}
.c_totop a {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 40px;
	background: linear-gradient(135deg,rgba(0, 78, 162, 1) 0%, rgba(40, 183, 188, 1) 80%);
	border-radius: 50%;
}
.c_totop a:after {
	content: '';
	position: absolute;
	top: 2px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(45deg);
}
@media (min-width: 768px) {
	.c_totop a:hover {
		opacity: .6;
	}
}

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

/*  ul
------------------------------------------------*/

.c_style ul > li {
	position: relative;
	padding-left: 20px;
}
.c_style ul > li:not(:first-child) {
	margin-top: 7px;
}
.c_style ul > li:before {
	content: '';
	position: absolute;
	top: .7em;
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 1px solid #005EB8;
	border-right: 1px solid #005EB8;
	transform: rotate(45deg);
}

/*  nested  */

.c_style li ul,
.c_style li ol {
	margin: 20px 0 40px;
}
.c_style li li {
	position: relative;
	font-size: 14px;
}
.c_style li li:not(:first-child) {
	margin-top: 8px;
}
.c_style li ul li {
	padding-left: 15px;
}
.c_style li ul li:before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
	height: auto;
	border: none;
}

@media screen and (max-width: 767px) {
	.c_style li li {
		font-size: 12px;
	}
}

/*  ol
------------------------------------------------*/

.c_style ol {
	counter-reset: cnt;
}
.c_style ol > li {
	position: relative;
	padding-left: 20px;
	counter-increment: cnt;
}
.c_style ol > li:not(:first-child) {
	margin-top: 10px;
}
.c_style ol > li:before {
	content: counter(cnt)".";
	position: absolute;
	left: 0;
	color: #005EB8;
}
.c_style ol > li[data-cnt]:before {
	content: attr(data-cnt)".";
}

/*  nested  */

.c_style li ol {
	counter-reset: cnt;
}
.c_style li ol li {
	padding-left: 20px;
	counter-increment: cnt;
}
.c_style li ol li:before {
	content: counter(cnt)" )";
	position: absolute;
	left: 0;
	color: #000;
}
.c_style li ol li[data-cnt]:before {
	content: attr(data-cnt)" )";
}

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

.c_style.list-row ul {
	display: flex;
	flex-wrap: wrap;
	margin: -15px -20px;
}
.c_style.list-row li,
.c_style.list-row li:not(:first-child) {
	margin: 15px 20px;
}

@media screen and (max-width: 767px) {
	.c_style.list-row ul {
		display: flex;
		flex-wrap: wrap;
		margin: -5px -10px;
	}
	.c_style.list-row li,
	.c_style.list-row li:not(:first-child) {
		margin: 5px 10px;
	}

}

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

.c_style.list-notes {
	color: #ACACAC;
}
.c_style.list-notes ul li:before {
	content: '※';
	top: 0;
	width: auto;
	height: auto;
	border: none;
	transform: none;
}
.c_style.list-notes ol li {
	padding-left: 30px;
}
.c_style.list-notes ol li:before {
	content: "※"counter(cnt);
	color: #ACACAC;
}
.c_style.list-notes ol li[data-cnt]:before {
	content: "※"attr(data-cnt);
}

/*  label
========================================================================*/

.c_label:not(:first-child) {
	margin-top: 30px;
}
.c_label ul {
	display: flex;
	flex-wrap: wrap;
	margin: -13px -20px;
	font-size: 87.5%;
}
.c_label li {
	position: relative;
	margin: 13px 20px;
	padding: 5px 19px;
	background: #005EB8;
	color: #fff;
	border-radius: 20px;
}
.c_label a {
	color: #fff;
	text-decoration: none;
}
.pbPage:not(.edit) .c_label a:before {
	opacity: 0;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #fff;
	transition: all .3s;
	border-radius: 20px;
}
@media (min-width: 768px) {
	.pbPage:not(.edit) .c_label a:hover:before {
		opacity: .4;
	}
}

@media screen and (max-width: 767px) {
	.c_label:not(:first-child) {
		margin-top: 20px;
	}
	.c_label ul {
		margin: -3px;
	}
	.c_label li {
		margin: 3px;
		padding: 5px 10px;
	}
}

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

.c_image:not(:first-child) {
	margin-top: 40px;
}
.c_image a {
	overflow: hidden;
	display: inline-block;
}
@media (min-width: 768px) {
	.c_image a:hover img {
		transform: scale(1.1);
	}
}

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

/*  full
------------------------------------------------*/

.c_image.full a {
	display: block;
}
.c_image.full img {
	width: 100%;
}

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

.c_imagebox:not(:first-child) {
	margin-top: 40px;
}
.c_imagebox > div {
	display: table;
	margin: 0 auto;
}
.c_imagebox .image > div {
	min-width: 100px;
}
.c_imagebox .image a {
	overflow: hidden;
	display: block;
}
@media (min-width: 768px) {
	.c_imagebox .image a:hover img {
		transform: scale(1.1);
	}
}
.c_imagebox .image img {
	display: block;
	margin: auto;
}
.c_imagebox .textbox {
	display: table-caption;
	caption-side: bottom;
	margin-top: 30px;
}
.c_imagebox .title + div:not(.c_button) {
	margin-top: 15px;
}
.c_imagebox .title {
	font-weight: 500;
	font-size: 22px;
	line-height: 1.5;
}
.c_imagebox .caption:not(:first-child) {
	margin-top: 6px;
}
.c_imagebox .caption {
	font-size: 14px;
	color: #ACACAC;
}

@media screen and (max-width: 767px) {
	.c_imagebox:not(:first-child) {
		margin-top: 20px;
	}
	.c_imagebox .image + div {
		margin-top: 15px;
	}
	.c_imagebox .title + div:not(.c_button) {
		margin-top: 5px;
	}
	.c_imagebox .title {
		font-size: 16px;
	}
	.c_imagebox .caption {
		font-size: 12px;
	}
}

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

.c_banner:not(:first-child) {
	margin-top: 40px;
}
.c_banner > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.c_banner > div:after {
	display: none;
}
.c_banner .box {
	width: 47.5%;
}
.c_banner .box:nth-child(n+3) {
	margin-top: 50px;
}
.c_banner .box > div {
	position: relative;
	height: 100%;
	min-height: 238px;
}
.c_banner .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: auto!important;
}
.c_banner .image * {
	height: 100%;
}
.c_banner .image a {
	overflow: hidden;
	display: block;
}
.c_banner .image a:before,
.c_banner .image a:after {
	content: '';
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	margin: auto;
}
.c_banner .image a:before {
	right: 30px;
	width: 30px;
	height: 30px;
	background: #fff;
	border-radius: 50%;
}
.c_banner .image a:after {
	right: 43px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #005EB8;
	border-right: 1px solid #005EB8;
	transform: rotate(45deg);
}
.c_banner .image img {
	width: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
@media (min-width: 768px) {
	.c_banner .image a:hover img {
		transform: scale(1.1);
	}
}
.c_banner .textarea {
	position: relative;
	height: 100%;
}
.pbPage:not(.edit) .c_banner .textarea {
	pointer-events: none;
}
.c_banner .textarea > div {
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 30px 70px 30px 30px;
	background: rgba(0,0,0,.6);
	color: #fff;
	text-shadow: 1px 1px 1px #000;
}
.c_banner .title {
	font-weight: 500;
	font-size: 30px;
}
.c_banner .text:not(:first-child) {
	margin-top: 5px;
}

@media screen and (max-width: 767px) {
	.c_banner:not(:first-child) {
		margin-top: 20px;
	}
	.c_banner .box {
		width: 100%;
	}
	.c_banner .box:not(:first-child) {
		margin-top: 15px;
	}
	.c_banner .box > div {
		min-height: 180px;
	}
	.c_banner .image a:before {
		right: 15px;
		width: 25px;
		height: 25px;
	}
	.c_banner .image a:after {
		right: 25px;
		width: 5px;
		height: 5px;
	}
	.c_banner .textarea > div {
		padding: 20px 50px 20px 20px;
	}
	.c_banner .title {
		font-size: 20px;
	}
}

/*  half
------------------------------------------------*/

.c_banner.half .image a:before,
.c_banner.half .image a:after {
	display: none;
}
.c_banner.half .textarea {
	width: 52%;
}
.c_banner.half .textarea > div {
	padding: 30px;
}
.c_banner.half .title {
    font-size: 22px;
}
.c_banner.half .text {
	font-size: 14px;
}

@media screen and (max-width: 767px) {
	.c_banner.half .textarea {
		width: 60%;
	}
	.c_banner.half .textarea > div {
		padding: 20px;
	}
	.c_banner.half .title {
	    font-size: 16px;
	}
	.c_banner.half .text {
		font-size: 12px;
	}
}

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

.c_image-text:not(:first-child) {
	margin-top: 45px;
}
.c_image-text > div {
	display: flex;
	justify-content: space-between;
}
.c_image-text > div:after {
	display: none;
}
.c_image-text .imagebox {
	width: 50%;
}
.c_image-text .textbox {
	width: 46%;
}
.c_image-text .image > div {
	background: #505050;
	text-align: center;
}
.c_image-text .image a {
	overflow: hidden;
	display: block;
}
@media (min-width: 768px) {
	.c_image-text .image a:hover img {
		transform: scale(1.1);
	}
}
.c_image-text .caption {
	margin-top: 10px;
	font-size: 14px;
	color: #ACACAC;
}

@media screen and (max-width: 767px) {
	.c_image-text:not(:first-child) {
		margin-top: 30px;
	}
	.c_image-text > div {
		flex-direction: column;
	}
	.c_image-text .imagebox,
	.c_image-text .textbox {
		width: 100%;
	}
	.c_image-text .imagebox > div {
		display: table;
		margin: 0 auto;
	}
	.c_image-text .caption {
		display: table-caption;
		caption-side: bottom;
		font-size: 12px;
	}
	.c_image-text .textbox {
		margin-top: 15px;
	}
	.c_image-text .textbox .c_button {
		text-align: center;
	}
}

/*  sp-reverse
------------------------------------------------*/

@media screen and (max-width: 767px) {
	.c_image-text.sp-reverse > div {
		flex-direction: column-reverse;
	}
	.c_image-text.sp-reverse .imagebox {
		margin-top: 20px;
	}
	.c_image-text.sp-reverse .textbox {
		margin-top: 0;
	}
}

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

.c_image-text.gray > div {
	padding: 50px;
	background: #F8F8F8;
}
.c_section:not(.white) .c_image-text.gray > div {
	background: #fff;
}

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

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

.c_image-text.line > div {
	padding: 50px;
	background: #fff;
	border: 1px solid #C7C7C7;
}

@media screen and (max-width: 767px) {
	.c_image-text.line > div {
		padding: 20px 20px 30px;
	}
}

/*  simple
------------------------------------------------*/

.c_image-text.simple > div {
	/* align-items: center; */
	background: #f5f5f5;
}
.c_section:not(.white) .c_image-text.simple > div {
	background: #fff;
}
.c_image-text.simple .textbox {
	position: relative;
	width: 50%;
	display: flex;
	align-items: center;
}
.c_image-text.simple .textbox > div {
	padding: 30px 40px;
}
.c_image-text.simple .textbox > div.pb-handle {
	top: 10px;
}

@media screen and (max-width: 767px) {
	.c_image-text.simple .imagebox,
	.c_image-text.simple .textbox {
		width: 100%;
		margin-top: 0;
	}
	.c_image-text.simple .imagebox > div {
		width: 100%;
	}
	.c_image-text.simple .textbox > div {
		padding: 20px 20px 30px;
	}
}

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

@media print, screen and (min-width: 768px) {
	.c_image-text .imagebox.small {
		width: 40%;
	}
	.c_image-text .imagebox.small + .textbox {
		width: 56%;
	}
	.c_image-text.simple .imagebox.small + .textbox {
		width: 60%;
	}
}

/*  mini
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
	.c_image-text .imagebox.mini {
		width: 30%;
	}
	.c_image-text .imagebox.mini + .textbox {
		width: 66%;
	}
	.c_image-text.simple .imagebox.mini + .textbox {
		width: 70%;
	}
}

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

@media print, screen and (min-width: 768px) {
	.c_image-text.flow > div {
		display: block;
	}
	.c_image-text.flow .imagebox {
		float: left;
		margin-right: 4%;
		margin-bottom: 10px;
		position: relative;
		z-index: 1;
	}
	.c_image-text.flow .textbox {
		width: 100%!important;
	}
	.c_image-text.flow .pbBlock {
		clear: none;
	}
	.c_image-text.flow .pbNested:after {
		display: none;
	}
}

/*  auto
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
	.c_image-text.auto > div {
		display: block;
	}
	.c_image-text.auto .imagebox,
	.c_image-text.auto .textbox {
		width: auto;
	}
	.c_image-text.auto .imagebox {
		float: left;
		min-width: 100px;
		max-width: 80%;
		margin-right: 4%;
	}
	.c_image-text.auto .imagebox > div {
		display: table;
	}
	.c_image-text.auto .caption {
		display: table-caption;
		caption-side: bottom;
	}
	.c_image-text.auto .textbox {
		overflow: hidden!important;
	}
	.c_image-text.auto.flow .textbox {
		overflow: visible!important;
	}
}

/*  pc-reverse
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
	.c_image-text.pc-reverse > div {
		flex-direction: row-reverse;
	}
	.c_image-text.pc-reverse.flow .imagebox,
	.c_image-text.pc-reverse.auto .imagebox {
		float: right;
		margin-right: 0;
		margin-left: 4%;
	}
}

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

.c_style table {
	border: none;
	background: #fff;
	text-align: left;
}
.c_style.u_center table {
	text-align: center;
}
.c_section.white .c_style table,
.c_detail .c_style table {
	border-top: 1px solid #C7C7C7;
}
.c_style table th,
.c_style table td {
	padding: 20px 30px;
	border: none;
	vertical-align: middle;
}
.c_style table th {
	color: #21609B;
	font-weight: 500;
}

.c_section:not(.white) .c_style table tr:nth-child(even) > *,
.c_section:not(.white) .c_style table thead + tbody tr:nth-child(odd) > * {
	background: #F2F2F2;
}
.c_section:not(.white) .c_style table thead + tbody tr:nth-child(even) > * {
	background: #FFF;
}
.c_section.white .c_style table tr:nth-child(even) > *,
.c_section.white .c_style table thead + tbody tr:nth-child(odd) > *,
.c_detail .c_style table tr:nth-child(even) > *,
.c_detail .c_style table thead + tbody tr:nth-child(odd) > * {
	background: #F5F5F5;
}
.c_section.white .c_style table thead + tbody tr:nth-child(even) > *,
.c_detail .c_style table thead + tbody tr:nth-child(even) > * {
	background: #FFF;
}
.c_section.white .c_style table tbody tr:nth-child(odd):last-child > *,
.c_section.white .c_style table thead + tbody tr:nth-child(even):last-child > *,
.c_detail .c_style table tbody tr:nth-child(odd):last-child > *,
.c_detail .c_style table thead + tbody tr:nth-child(even):last-child > * {
	border-bottom: 1px solid #C7C7C7;
}
.c_section.white .c_style table thead + tbody tr:nth-child(odd):last-child > *,
.c_detail .c_style table thead + tbody tr:nth-child(odd):last-child > * {
	border-bottom: none;
	
}


@media screen and (max-width: 767px) {
	.c_style table th,
	.c_style table td {
		padding: 15px;
	}
}

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

.c_style.table-col table {
	width: 100%;
	table-layout: fixed;
}

@media screen and (max-width: 767px) {
	.c_style.table-col table,
	.c_style.table-col thead,
	.c_style.table-col tbody,
	.c_style.table-col tr,
	.c_style.table-col th,
	.c_style.table-col td {
		display: block;
		width: 100%!important;
		height: auto!important;
	}
	.c_style.table-col table th {
		padding: 15px 15px 0;
	}
	.c_style.table-col table td {
		padding: 5px 15px 15px;
	}
	.c_section.white .c_style.table-col tr:nth-child(odd):last-child th,
	.c_section.white .c_style.table-col table tbody tr:nth-child(odd):last-child td:not(last-child),
	.c_section.white .c_style.table-col table thead + tbody tr:nth-child(even):last-child td:not(last-child),
	.c_detail .c_style.table-col tr:nth-child(odd):last-child th,
	.c_detail .c_style.table-col table tbody tr:nth-child(odd):last-child td:not(last-child),
	.c_detail .c_style.table-col table thead + tbody tr:nth-child(even):last-child td:not(last-child) {
		border-bottom: none;
	}
}

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

.c_style.table-swipe table {
	width: 100%;
	table-layout: fixed;
}
.c_style.table-swipe table th,
.c_style.table-swipe table td {
	padding: 20px;
	border: none;
	vertical-align: middle;
}
@keyframes swipe {
  40%, 60%, 80% {transform: scale(1);}
  50%, 70% {transform: scale(.9);}
}

@media screen and (max-width: 767px) {
	.c_style.table-swipe {
		overflow: auto;
		position: relative;
	}
	.c_style.table-swipe:before,
	.c_style.table-swipe:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		transition: all .3s;
		pointer-events: none;
	}
	.c_style.table-swipe:before {
		width: 80px;
		height: 70px;
		background: rgba(0,0,0,.7);
		border-radius: 5px;
	}
	.c_style.table-swipe:after {
		width: 60px;
		height: 60px;
		background: url(../img/icon_swipe.png) no-repeat center top / contain;
		animation: swipe 2s ease-out infinite;
	}
	.c_style.table-swipe.active:before,
	.c_style.table-swipe.active:after {
		opacity: 0;
	}
	.c_style.table-swipe::-webkit-scrollbar {
		height: 15px;
	}
	.c_style.table-swipe::-webkit-scrollbar-thumb {
		background: #d9dcdf;
		border-radius: 10px;
	}
	.c_style.table-swipe::-webkit-scrollbar-track {
		background: #f5f5f5;
		border-radius: 10px;
	}
	.c_style.table-swipe table {
		width: 800px;
		max-width: none;
		margin-bottom: 3px;
	}
	.c_style.table-swipe table th,
	.c_style.table-swipe table td {
		padding: 15px;
	}
}

/*  table-swipe-fix
------------------------------------------------*/

.c_style.table-swipe-fix table {
	width: 100%;
	table-layout: fixed;
}

@media screen and (max-width: 767px) {
	.c_style.table-swipe-fix {
		overflow: auto;
		position: relative;
	}
	.c_style.table-swipe-fix:before,
	.c_style.table-swipe-fix:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		transition: all .3s;
		pointer-events: none;
	}
	.c_style.table-swipe-fix:before {
		width: 80px;
		height: 70px;
		background: rgba(0,0,0,.7);
		border-radius: 5px;
	}
	.c_style.table-swipe-fix:after {
		width: 60px;
		height: 60px;
		background: url(../img/icon_swipe.png) no-repeat center top / contain;
		animation: swipe 2s ease-out infinite;
	}
	.c_style.table-swipe-fix.active:before,
	.c_style.table-swipe-fix.active:after {
		opacity: 0;
	}
	.c_style.table-swipe-fix::-webkit-scrollbar {
		height: 15px;
	}
	.c_style.table-swipe-fix::-webkit-scrollbar-thumb {
		background: #d9dcdf;
		border-radius: 10px;
	}
	.c_style.table-swipe-fix::-webkit-scrollbar-track {
		background: #f5f5f5;
		border-radius: 10px;
	}
	.c_style.table-swipe-fix table {
		width: 800px;
		max-width: none;
		margin-bottom: 3px;
	}
	.c_style.table-swipe-fix table th:first-child {
		position: sticky;
		left: 0;
	}
}

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

.c_style.table-classic table th,
.c_style.table-classic table td {
	padding: 20px 30px;
	border: 1px solid #e7e7e7;
	border-color: #e7e7e7!important;
}
.c_style.table-classic table th:first-child,
.c_style.table-classic table td:first-child {
	border-left: none;
}
.c_style.table-classic table th:last-child,
.c_style.table-classic table td:last-child {
	border-right: none;
}
.c_style.table-classic table tr:first-child th {
	padding: 15px 30px;
	background: #21609B;
	color: #fff;
	text-align: center;
}
.c_style.table-classic table tr:not(:first-child) th {
	background: #F5F5F5;
}
.c_style.table-classic table tr:not(:first-child) td {
	background: #fff;
}

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

.c_category:not(:first-child) {
	margin-top: 40px;
}
.c_category tr {
	display: block;
	position: relative;
	padding: 22px 40px 25px 0;
	transition: all .3s;
}
.c_category tr:not(:first-child) {
	margin-top: 20px;
}
.c_category tr:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: -20px;
	margin: auto;
	right: 20px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #02007c;
	border-right: 2px solid #02007c;
	pointer-events: none;
	z-index: 1;
	transform: rotate(45deg);
	transition: all .3s;
}
@media (min-width: 768px) {
	.c_category tr:hover:after {
		right: 10px;
	}
}
.c_category .date {
	font-size: 12px;
	font-family: 'Overpass', sans-serif;
	font-weight: 500;
	white-space: nowrap;
}
.c_category .date:before,
.c_category .date:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	height: 1px;
}
.c_category .date:before {
	width: 100%;
	background: #dedede;
}
.c_category .date:after {
	width: 0;
	background: #02007c;
	transition: .3s all;
}
@media (min-width: 768px) {
	.c_category tr:hover .date:after {
		width: 100%;
	}
}
.c_category .article {
	display: -webkit-box;
	overflow: hidden!important;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	margin-top: 10px;
	line-height: 1.5;
}
.c_category .article img:first-child {
	position: absolute;
	top: 17px;
	left: 80px;
	height: 26px;
}
.c_category .article img:last-child {
	position: relative;
	top: -3px;
	left: 5px;
	width: 46px;
}
.c_category .article a {
	text-decoration: none;
	font-weight: 500;
}
.c_category .article a:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}
.c_category .article a[href$='.pdf']:after {
	content: '';
	position: relative;
	top: 2px;
	display: inline-block;
	width: 19px;
	height: 18px;
	margin-left: 10px;
	background: url(../img/cate_pdf.png) no-repeat center top / contain;
}

@media screen and (max-width: 767px) {
	.c_category {
		font-size: 16px;
	}
	.c_category tr {
		margin-left: 0;
		padding: 10px 25px 20px 0;
	}
	.c_category tr:after {
		right: 10px;
	}
	.c_category .article {
		-webkit-line-clamp: 2;
		margin-top: 5px;
		line-height: 1.8;
	}
	.c_category .article img:first-child {
		top: 4px;
		height: 26px;
		left: 82px;
	}
	.c_category .article img:last-child {
		top: -2px;
		width: 36px;
	}
	.c_category .article a[href$='.pdf']:after {
		top: 3px;
	}
}

/*  category-panel
========================================================================*/

.c_category-panel:not(:first-child) {
	margin-top: 30px;
}
.c_category-panel table {
	display: block;
}
.c_category-panel tbody {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.c_category-panel tbody:after {
	content: '';
	display: block;
	width: calc(33% - 30px);
}
.c_category-panel tr {
	position: relative;
	display: flex;
	flex-direction: column;
	width: calc(33% - 30px);
}
.c_category-panel tr:nth-child(n+4) {
	margin-top: 55px;
}
.c_category-panel .date {
	display: none;
}
.c_category-panel a {
	display: block;
	margin-top: 30px;
	font-weight: 500;
	font-size: 22px;
	line-height: 1.5;
	text-decoration: none;
}
.c_category-panel a:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}
.c_category-panel a[target=_blank]:after,
.c_category-panel a.pbOpenNewWindow:after,
.c_category-panel a[href$='.pdf']:after {
	content: '';
	position: relative;
	top: 0px;
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-left: 5px;
	background: url(../img/icon_window.png) no-repeat center top / contain;
}
.c_category-panel a[href$='.pdf']:after {
	background-image: url(../img/icon_pdf.png);
}
.c_category-panel .article img:first-child {
	width: 100%;
	transition: all .3s;
}
@media (min-width: 768px) {
	.c_category-panel .article:hover img:first-child {
		opacity: .6;
	}
}
.c_category-panel .field {
	width: 100%!important;
	margin-top: 15px;
}

@media screen and (max-width: 767px) {
	.c_category-panel:not(:first-child) {
		margin-top: 20px;
	}
	.c_category-panel > div {
		max-width: 300px;
		margin: auto;
	}
	.c_category-panel tbody {
		flex-direction: column;
	}
	.c_category-panel tr {
		width: 100%;
	}
	.c_category-panel tr:not(:first-child) {
		margin-top: 40px;
	}
	.c_category-panel a {
		margin-top: 20px;
		font-size: 16px;
	}
	.c_category-panel a[target=_blank]:after,
	.c_category-panel a.pbOpenNewWindow:after,
	.c_category-panel a[href$='.pdf']:after {
		width: 14px;
		height: 14px;
	}
	.c_category-panel .field {
		margin-top: 5px;
	}
}

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

.c_panel:not(:first-child) {
	margin-top: 80px;
}
.c_panel .image + div,
.c_panel .c_video + div,
.c_panel .c_modal-image + div,
.c_panel .c_modal-video + div {
	margin-top: 30px;
}
.c_panel .image > div {
	background: #505050;
	text-align: center;
}
.c_panel .image a {
	overflow: hidden;
	display: block;
}
@media (min-width: 768px) {
	.c_panel .image a:hover img {
		transform: scale(1.1);
	}
}
.c_panel .title + div:not(.c_button) {
	margin-top: 15px;
}
.c_panel .title {
	font-weight: 500;
	font-size: 22px;
	line-height: 1.5;
}
.c_panel .title a {
	display: inline-block;
	position: relative;
	padding-left: 31px;
	text-decoration: none;
}
.c_panel .title a:before,
.c_panel .title a:after {
	content: '';
	position: absolute;
}
.c_panel .title a:before {
	top: 6px;
	left: 0;
	width: 24px;
	height: 24px;
	background: #005EB8;
	border-radius: 50%;
}
.c_panel .title a:after {
	top: 14px;
	left: 7px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
@media (min-width: 768px) {
	.c_panel .title a:hover {
		color: #005EB8;
	}
}
.c_panel .text + div:not(.c_style):not(.c_button) {
	margin-top: 6px;
}
.c_panel .c_style:not(:first-child) {
	margin-top: 15px;
}
.c_panel .caption {
	font-size: 14px;
	color: #ACACAC;
}
/*  chart  */

.c_panel.chart .box > div {
	position: relative;
	
}
.c_panel.chart .title {
	position: relative;
	z-index: 1;
}
.c_panel.chart .chart {
	margin-top: 0!important;
}
.pbPage:not(.edit) .c_panel.chart .chart {
	transform: translateY(-10px);
}

@media screen and (max-width: 767px) {
	.c_panel:not(:first-child) {
		margin-top: 40px;
	}
	.c_panel .box:not(:first-child) {
		margin-top: 40px;
	}
	.c_panel .image + div,
	.c_panel .c_video + div,
	.c_panel .c_modal-image + div,
	.c_panel .c_modal-video + div {
		margin-top: 20px;
	}
	.c_panel .title + div:not(.c_button) {
		margin-top: 5px;
	}
	.c_panel .title {
		font-size: 16px;
	}
	.c_panel .title a {
		padding-left: 25px;
	}
	.c_panel .title a:before {
		top: 3px;
		width: 20px;
		height: 20px;
	}
	.c_panel .title a:after {
		top: 10px;
		left: 6px;
		width: 5px;
		height: 5px;
		border-width: 1px;
	}
	.c_panel .caption {
		font-size: 12px;
	}
}

/*  col-2
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
	.c_panel.col-2 > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.c_panel.col-2 > div:after {
		display: none;
	}
	.c_panel.col-2 .box {
		width: calc(50% - 25px);
	}
	.c_panel.col-2 .box:nth-child(n+3) {
		margin-top: 70px;
	}
	.c_panel.col-2 .box.bottom {
		display: flex;
		align-items: flex-end;
	}
}

@media screen and (max-width: 767px) {
	.c_panel.col-2 > div {
		max-width: 475px;
		margin: auto;
	}
}

/*  col-3
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
	.c_panel.col-3 > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.c_panel.col-3 > div:after {
		content: '';
		display: block;
		width: 30%;
	}
	.c_panel.col-3 .box {
		width: calc(33% - 30px);
	}
	.c_panel.col-3 .box:nth-child(n+4) {
		margin-top: 55px;
	}
	.c_panel.col-3 .c_modal-video a:before {
		width: 50px;
		height: 50px;
	}
}

@media screen and (max-width: 767px) {
	.c_panel.col-3 > div {
		max-width: 300px;
		margin: auto;
	}
}

/*  col-4
------------------------------------------------*/

.c_panel.col-4 .title a:before {
	top: 3px;
}
.c_panel.col-4 .title a:after {
	top: 11px;
}
.c_panel.col-4 .text {
	font-size: 14px;
}
.c_panel.col-4 .c_button:not(:first-child) {
	margin-top: 25px;
}
.c_panel.col-4 .c_button a {
	width: 150px;
	font-size: 12px;
	padding: 9px 25px;
}

@media print, screen and (min-width: 768px) {
	.c_panel.col-4 > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.c_panel.col-4 > div:after,
	.c_panel.col-4 > div:before {
		content: '';
		display: block;
		width: 21.3%;
	}
	.c_panel.col-4 > div:before {
		order: 1;
	}
	.c_panel.col-4 .box {
		width: calc(25% - 37px);
	}
	.c_panel.col-4 .box:nth-child(n+5) {
		margin-top: 95px;
	}
	.c_panel.col-4 .c_modal-video a:before {
		width: 50px;
		height: 50px;
	}
	.c_panel.col-4 .title {
		font-size: 18px;
	}
}

@media screen and (max-width: 767px) {
	.c_panel.col-4 > div {
		max-width: 213px;
		margin: auto;
	}
}

/*  card
========================================================================*/

.c_card:not(:first-child) {
	margin-top: 40px;
}
.c_card .box > div {
	position: relative;
	height: 100%;
	background: #F8F8F8;
}
.c_section:not(.white) .c_card .box > div {
	background: #fff;
}
.c_card .image {
	background: #ddd;
	text-align: center;
}
.c_card .image > div > div {
	position: static!important;
}
.c_card .image a {
	overflow: hidden;
	display: block;
}
@media (min-width: 768px) {
	.c_card .image a:hover img {
		transform: scale(1.1);
	}
}
.pbPage:not(.edit) .c_card .image a:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.c_card .image a:after {
	content: '';
	position: absolute;
	right: 5px;
	bottom: 5px;
	border-style: solid;
	border-width: 0 0 18px 18px;
	border-color: transparent transparent #005EB8 transparent;
}
.c_card .title {
	font-weight: 500;
	font-size: 22px;
	line-height: 1.5;
}

@media screen and (max-width: 767px) {
	.c_card:not(:first-child) {
		margin-top: 20px;
	}
	.c_card .box:not(:first-child) {
		margin-top: 20px;
	}
	.c_card .title {
		font-size: 16px;
	}
}

/*  col-2
------------------------------------------------*/

.c_card.col-2 .image a:after {
	border-width: 0 0 14px 14px;
}

@media print, screen and (min-width: 768px) {
	.c_card.col-2 > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.c_card.col-2 > div:after {
		display: none;
	}
	.c_card.col-2 .box {
		width: calc(50% - 25px);
	}
	.c_card.col-2 .box:nth-child(n+3) {
		margin-top: 50px;
	}
}

@media screen and (max-width: 767px) {
	.c_card.col-2 > div {
		max-width: 475px;
		margin: auto;
	}
}

/*  col-3
------------------------------------------------*/

.c_card.col-3 .image a:after {
	border-width: 0 0 10px 10px;
}

@media print, screen and (min-width: 768px) {
    .c_card.col-3 > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.c_card.col-3 > div:after {
		content: '';
		display: block;
		width: 30%;
	}
	.c_card.col-3 .box {
		width: calc(33% - 30px);
	}
	.c_card.col-3 .box:nth-child(n+4) {
		margin-top: 50px;
	}
}

@media screen and (max-width: 767px) {
	.c_card.col-3 > div {
		max-width: 300px;
		margin: auto;
	}
}

/*  col-4
------------------------------------------------*/

.c_card.col-4 .image a:after {
	border-width: 0 0 10px 10px;
}

@media print, screen and (min-width: 768px) {
	.c_card.col-4 > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.c_card.col-4 > div:after,
	.c_card.col-4 > div:before {
		content: '';
		display: block;
		width: 21.3%;
	}
	.c_card.col-4 > div:before {
		order: 1;
	}
	.c_card.col-4 .box {
		width: calc(25% - 37px);
	}
	.c_card.col-4 .box:nth-child(n+5) {
		margin-top: 50px;
	}
}

@media screen and (max-width: 767px) {
	.c_card.col-4 > div {
		max-width: 213px;
		margin: auto;
	}
	.c_card.col-4 .title {
		font-size: 16px;
	}
}

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

.c_card.banner .box > div {
	display: flex;
}
.c_card.banner .textbox {
	display: flex;
	align-items: center;
}
.c_card.banner .textbox > div {
	width: 100%;
}
.c_card.banner .textbox > .pb-handle {
	top: 10px;
}

/*  col-1  */

.c_card.banner.col-1 .image,
.c_card.banner.col-1 .textbox {
	width: 50%;
}
.c_card.banner.col-1 .textbox > div {
	padding: 30px 50px;
}
.c_card.banner.col-1 .text:not(:first-child) {
	margin-top: 25px;
}

@media screen and (max-width: 767px) {
	.c_card.banner.col-1 .box > div {
		flex-flow: column;
	}
	.c_card.banner.col-1 .image,
	.c_card.banner.col-1 .textbox {
		width: 100%;
	}
	.c_card.banner.col-1 .textbox > div {
		padding: 25px 20px 30px;
	}
	.c_card.banner.col-1 .text:not(:first-child) {
		margin-top: 10px;
	}
}

/*  col-2  */

.c_card.banner.col-2 .textbox > div {
	padding: 20px;
}
.c_card.banner.col-2 .image {
	width: 31.58%;
}
.c_card.banner.col-2 .textbox {
	width: 68.42%;
}
.c_card.banner.col-2 .title {
	font-size: 18px;
}
.c_card.banner.col-2 .text:not(:first-child) {
	margin-top: 15px;
}
.c_card.banner.col-2 .text {
	font-size: 14px;
}

@media screen and (max-width: 767px) {
	.c_card.banner.col-2 .title {
		font-size: 16px;
	}
	.c_card.banner.col-2 .text:not(:first-child) {
		margin-top: 5px;
	}
}

/*  col-3  */

.c_card.banner.col-3 .image {
	width: 33.334%;
}
.c_card.banner.col-3 .textbox {
	width: 66.666%;
}
.c_card.banner.col-3 .textbox > div {
	padding: 10px 16px;
}
.c_card.banner.col-3 .title {
	font-size: 16px;
}
.c_card.banner.col-3 .text:not(:first-child) {
	margin-top: 5px;
}
.c_card.banner.col-3 .text {
	font-size: 12px;
}

/*  col-4  */

.c_card.banner.col-4 .text:not(:first-child) {
	margin-top: 5px;
}
.c_card.banner.col-4 .image {
	width: 37.56%;
}
.c_card.banner.col-4 .textbox {
	width: 62.44%;
}
.c_card.banner.col-4 .textbox > div {
	padding: 10px 11px;
}
.c_card.banner.col-4 .title {
	font-size: 14px;
}
.c_card.banner.col-4 .text {
	font-size: 11px;
}

/*  step
------------------------------------------------*/

.c_card.step .box:not(:first-child) > div:before,
.c_card.step .box:not(:first-child) > div:after {
	content: '';
	position: absolute;
	top: 50%;
	left: -40px;
}
.c_card.step .box:not(:first-child) > div:before {
	width: 30px;
	height: 30px;
	background: #F8F8F8;
	transform: translateY(-50%);
	border-radius: 50%;
}
.c_section:not(.white) .c_card.step .box:not(:first-child) > div:before {
	background: #fff;
}
.c_card.step .box:not(:first-child) > div:after {
	width: 9px;
	height: 9px;
	border-bottom: 2px solid #005EB8;
	border-right: 2px solid #005EB8;
	transform: translate(7px, -50%) rotate(-45deg);
}
.c_card.step .text:not(:first-child) {
	margin-top: 15px;
}

@media screen and (max-width: 767px) {
	.c_card.step .box:not(:first-child) {
		margin-top: 60px;
	}
	.c_card.step .box:not(:first-child) > div:before,
	.c_card.step .box:not(:first-child) > div:after {
		top: -32px;
		left: calc(50% - 15px);
	}
	.c_card.step .box:not(:first-child) > div:after {
		transform: translate(10px, -8px) rotate(45deg);
	}
	.c_card.step .textbox > div {
		padding: 20px 20px 30px;
	}
	.c_card.step .text:not(:first-child) {
		margin-top: 10px;
	}
}

/*  col-1  */

@media print, screen and (min-width: 768px) {
	.c_card.step.col-1 .box:not(:first-child) {
		margin-top: 115px;
	}
	.c_card.step.col-1 .box:not(:first-child) > div:before,
	.c_card.step.col-1 .box:not(:first-child) > div:after {
		top: -55px;
		left: calc(50% - 15px);
	}
	.c_card.step.col-1 .box:not(:first-child) > div:after {
		transform: translate(10px, -8px) rotate(45deg);
	}
	.c_card.step.col-1 .textbox > div {
		padding: 30px 50px;
	}
}

/*  col-2  */

@media print, screen and (min-width: 768px) {
	.c_card.step.col-2 .textbox > div {
		padding: 30px 40px;
	}
}

/*  col-3  */

@media print, screen and (min-width: 768px) {
	.c_card.step.col-3 .textbox > div {
		padding: 30px 20px;
	}
}

/*  col-4  */

.c_card.step.col-4 .text {
	font-size: 14px;
}

@media print, screen and (min-width: 768px) {
	.c_card.step.col-4 .textbox > div {
		padding: 25px 20px;
	}
	.c_card.step.col-4 .title {
		font-size: 18px;
	}
	.c_card.step.col-4 .text:not(:first-child) {
		margin-top: 10px;
	}
}

/*  video
========================================================================*/

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

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

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

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

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

/*  modal-image
========================================================================*/

.c_modal-image:not(:first-child) {
	margin-top: 30px;
}
.c_modal-image a {
	overflow: hidden;
	display: block;
	background: #505050;
	text-align: center;
}
@media (min-width: 768px) {
	.c_modal-image a:hover img {
		transform: scale(1.1);
	}
}

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

/*  modal-video
========================================================================*/

.c_modal-video:not(:first-child) {
	margin-top: 40px;
}
.c_modal-video a {
	position: relative;
	display: block;
	background: #505050;
	text-align: center;
}
.c_modal-video a:before,
.c_modal-video a:after {
	content: '';
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.c_modal-video a:before {
	width: 74px;
	height: 74px;
	background: rgba(255,255,255,.5);
	border-radius: 50%;
}
.c_modal-video a:after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 0 10px 12px;
	border-color: transparent transparent transparent #0A2E5F;
	transform: translateX(2px);
}
.c_modal-video img {
	filter: brightness(.6);
	transition: all .3s;
}
@media (min-width: 768px) {
	.c_modal-video a:hover img {
		filter: brightness(1);
	}
}

@media screen and (max-width: 767px) {
	.c_modal-video:not(:first-child) {
		margin-top: 20px;
	}
	.c_modal-video a:before {
		width: 50px;
		height: 50px;
	}
}

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

.c_switching:not(:first-child) {
	margin-top: 40px;
}
.c_switching .tab ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -10px -20px;
	color: #005EB8;
	font-size: 14px;
	font-weight: 500;
}
.c_switching .tab li {
	margin: 10px 20px;
	padding: 5px 30px;
	background: #F4F4F4;
	cursor: pointer;
	border-radius: 18px;
	transition: all .3s;
}
.c_switching .tab li:not(:first-child) {
	border-left: 1px solid #fff;
}
.c_switching .tab li.active {
	background: linear-gradient(90deg, rgba(0, 78, 162, 1) 0%, rgba(40, 183, 188, 1) 80%)!important;
	color: #fff;
	pointer-events: none;
}
.c_switching .gradient .tab li.active {
	background: linear-gradient(90deg, rgba(0, 78, 162, 1) 0%, rgba(40, 183, 188, 1) 80%)!important;
	color: #fff;
	pointer-events: none;
}
@media (min-width: 768px) {
	.c_switching .tab li:hover {
		background: #005EB8;
		color: #F4F4F4;
	}
}
.pbPage:not(.edit) .c_switching .switching-panel > div {
	display: none;
}
.pbPage:not(.edit) .c_switching .switching-panel.active > div {
	display: block;
	animation: switching-fade .4s ease-in-out 0s;
}
@keyframes switching-fade {
	0% {opacity: 0; transform: translateY(20px);}
	100% {opacity: 1; transform: translateY(0);}
}
.c_switching .switching {
	margin-top: 40px;
}
.pbPage:not(.edit) .c_switching .edit {
	display: none;
}
.c_switching .edit > div {
	padding: 0 0 15px;
	border: 3px solid #000;
	background: #f8f8f8;
	text-align: center;
	font-size: 120%;
}
.c_switching .edit > div:before {
	content: 'ボタンに表示させるテキストを、入力してください';
	display: block;
	margin-bottom: 10px;
	padding: 10px;
	background: #000;
	color: #fff;
}
.c_switching .edit + div {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.c_switching:not(:first-child) {
		margin-top: 20px;
	}
	.c_switching .tab ul {
		margin: -5px;
	}
	.c_switching .tab li {
		margin: 5px;
		padding: 3px 20px;
	}
}

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

.c_slider:not(:first-child) {
	margin-top: 100px;
}
.c_slider > ul {
	opacity: 0;
	width: calc(100% - 120px);
	margin: auto;
}
.c_slider ul.slick-initialized {
	opacity: 1;
}
.c_slider ul.slick-dotted {
	margin-bottom: 0;
}
.c_slider .slick-arrow {
	left: -60px;
	z-index: 1;
	width: 40px;
	height: 40px;
	background: #E4EAEF;
	border-radius: 50%;
	transition: all .3s;
}
.c_slider .slick-next {
	left: auto;
	right: -60px;
}
.c_slider .slick-arrow:focus {
	background: #E4EAEF;
}
.c_slider .slick-arrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 17px;
	width: 10px;
	height: 10px;
	border-left: 1px solid #333;
	border-bottom: 1px solid #333;
	opacity: 1;
	transform: rotate(45deg);
	transition: all .3s;
}
.c_slider .slick-next:before {
	left: auto;
	right: 17px;
	transform: rotate(-135deg);
}
.c_slider .slick-arrow:hover {
	background: #E4EAEF;
}
@media (min-width: 768px) {
	.c_slider .slick-arrow:hover {
		background: #005EB8;
	}
	.c_slider .slick-arrow:hover:before {
		border-color: #fff;
	}
}
.c_slider .slick-dots {
	bottom: 15px;
	height: 2px;
}
.c_slider .slick-dots li {
	width: 60px;
	height: 100%;
}
.c_slider .slick-dots li:only-child {
	display: none;
}
.c_slider .slick-dots li button {
	width: 100%;
	height: 100%;
	padding: 0;
	background: rgba(255,255,255,.3);
}
.c_slider .slick-dots li.slick-active button {
	background: #fff;
}
.c_slider .slick-dots li button:before {
	display: none;
}
.c_slider .slick-slide {
	position: relative;
}
.c_slider .slick-slide a {
	overflow: hidden;
	display: block;
	text-decoration: none;
}
@media (min-width: 768px) {
	.c_slider .slick-slide a:hover img {
		transform: scale(1.1);
	}
}
.c_slider .slick-slide img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.c_slider:not(:first-child) {
		margin-top: 50px;
	}
	.c_slider > ul {
		width: calc(100% - 30px);
	}
	.c_slider .slick-arrow {
		left: -15px;
		width: 30px;
		height: 30px;
	}
	.c_slider .slick-arrow:before {
		left: 13px;
		width: 7px;
		height: 7px;
	}
	.c_slider .slick-next {
		left: auto;
		right: -15px;
	}
	.c_slider .slick-next:before {
		left: auto;
		right: 13px;
	}
	.c_slider .slick-dots li {
		width: 30px;
		height: 100%;
	}
	.c_slider .slick-dots {
		bottom: 10px;
	}
}

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

.c_carousel:not(:first-child) {
	margin-top: 80px;
}
.c_carousel > ul {
	opacity: 0;
	width: calc(100% - 70px);
	margin: auto;
}
.c_carousel ul.slick-initialized {
	opacity: 1;
}
.c_carousel .slick-dotted.slick-slider {
	margin-bottom: 0;
}
.c_carousel .slick-arrow {
	left: -35px;
	z-index: 1;
	width: 40px;
	height: 40px;
	background: #E4EAEF;
	border-radius: 50%;
	transition: all .3s;
}
.c_carousel .slick-next {
	left: auto;
	right: -35px;
}
.c_carousel .slick-arrow:focus {
	background: #E4EAEF;
}
.c_carousel .slick-arrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 17px;
	width: 10px;
	height: 10px;
	border-left: 1px solid #333;
	border-bottom: 1px solid #333;
	opacity: 1;
	transform: rotate(45deg);
	transition: all .3s;
}
.c_carousel .slick-next:before {
	left: auto;
	right: 17px;
	transform: rotate(-135deg);
}
.c_carousel .slick-arrow:hover {
	background: #E4EAEF;
}
@media (min-width: 768px) {
	.c_carousel .slick-arrow:hover {
		background: #005EB8;
	}
	.c_carousel .slick-arrow:hover:before {
		border-color: #fff;
	}
}
.c_carousel .slick-dots {
	position: static;
	margin-top: 50px;
	height: 2px;
}
.c_carousel .slick-list + .slick-dots {
	display: none;
}
.c_carousel .slick-dots li {
	width: 30px;
	height: 100%;
}
.c_carousel .slick-dots li button {
	width: 100%;
	height: 100%;
	padding: 0;
	background: #707070;
}
.c_carousel .slick-dots li.slick-active button {
	background: #000;
}
.c_carousel .slick-dots li button:before {
	display: none;
}
.c_carousel .slick-track {
	display: flex;
}
.c_carousel .slick-slide {
	height: auto!important;
	margin: 0 25px;
	background: #F8F8F8;
}
.c_carousel .slick-slide li,
.c_carousel .slick-slide div {
	height: 100%;
}
.c_carousel .slick-slide a {
	display: block;
	text-decoration: none;
}
.c_carousel .image {
	overflow: hidden;
	display: block;
}
.c_carousel .image img {
	width: 100%;
}
@media (min-width: 768px) {
	.c_carousel a:hover .image img {
		transform: scale(1.1);
	}
}
.c_carousel .textbox {
	display: block;
	padding: 20px;
}
.c_carousel .title {
	display: block;
	font-weight: 500;
	font-size: 20px;
	text-align: center;
}
.c_carousel .text:not(:first-child) {
	margin-top: 5px;
}
.c_carousel .text {
	display: block;
}

@media screen and (max-width: 767px) {
	.c_carousel:not(:first-child) {
		margin-top: 50px;
	}
	.c_carousel > ul {
		width: calc(100% - 40px);
	}
	.c_carousel .slick-arrow {
		left: -20px;
	}
	.c_carousel .slick-next {
		left: auto;
		right: -20px;
	}
	.c_carousel .slick-dots {
		margin-top: 20px;
	}
	.c_carousel .slick-dots li {
		width: 20px;
	}
	.c_carousel .slick-slide {
		margin: 0;
	}
}

/*  pager
========================================================================*/

.c_pager:not(:first-child) {
	margin-top: 60px;
}
.c_pager ul {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.c_pager li.prev a,
.c_pager li.next a {
	position: relative;
	display: inline-block;
	width: 200px;
	max-width: 100%;
	padding: 12px 30px;
	background: #005EB8;
	color: #fff;
	text-align: center;
	text-decoration: none;
	border-radius: 25px;
	font-size: 14px;
}
@media (min-width: 768px) {
	.c_pager li.prev a:hover,
	.c_pager li.next a:hover {
		opacity: .6;		
	}
}
.c_pager li.prev a:after,
.c_pager li.next a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 5px;
	height: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transition: all .3s;
}
.c_pager li.prev a:after {
	left: 20px;
	transform: rotate(225deg);
}
.c_pager li.next a:after {
	right: 20px;
	transform: rotate(45deg);
}
.c_pager li.disabled a {
	display: none;
}
.c_pager li.back {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	line-height: 1;
}
.c_pager li.back a {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(../img/icon_list.png) no-repeat center / contain;
}

@media screen and (max-width: 767px) {
	.c_pager:not(:first-child) {
		margin-top: 30px;
	}
	.c_pager li.prev,
	.c_pager li.next {
		max-width: calc(50% - 25px);
	}
	.c_pager li.prev a,
	.c_pager li.next a {
		padding: 8px 30px;
	}
	.c_pager li.back a {
		width: 20px;
		height: 20px;
	}
}

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

  page

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

.c_link-arrow {
	position: relative;
	display: table;
	margin-top: 80px;
}
.pbPage.edit .c_link-arrow div {
	white-space: nowrap;
}
.c_link-arrow:before,
.c_link-arrow:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50%;
	pointer-events: none;
	z-index: 1;
}
.c_link-arrow:before {
	right: 0;
	width: 50px;
	height: 50px;
	background: #02007c;
}
.c_link-arrow:after {
	right: 21px;
	width: 4px;
	height: 4px;
	background: #fff;
	border: 2px solid #02007c;
	transition: .3s all;
}
.c_link-arrow a {
	display: inline-block;
	padding: 15px 70px 15px 0;
	font-size: 18px;
	font-weight: 500;
	text-decoration: none;
}
.c_link-arrow a:before,
.c_link-arrow a:after {
	opacity: 0;
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 18px;
	pointer-events: none;
	z-index: 2;
}
.c_link-arrow a:before {
	width: 13px;
	height: 2px;
	background: #02007c;
}
.c_link-arrow a:after {
	width: 6px;
	height: 6px;
	border-top: 2px solid #02007c;
	border-right: 2px solid #02007c;
	transform: rotate(45deg);
}
@media (min-width: 768px) {
	.c_link-arrow:hover:after {
		right: -10px;
		width: 66px;
		height: 66px;
		border-color: #02007c;
	}
	.c_link-arrow:hover a:before,
	.c_link-arrow:hover a:after {
		opacity: 1;
	}
}
.c_link-arrow a span {
	position: relative;
}
.c_link-arrow a span:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: -6px;
	width: 0;
	height: 2px;
	background: #02007c;
	transition: .3s all;
}
@media (min-width: 768px) {
	.c_link-arrow:hover a span:before {
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.c_link-arrow:before {
		display: none;
	}
	.c_link-arrow:after {
		right: 0;
		width: 44px;
		height: 44px;
		border-color: #02007c;
	}
	.c_link-arrow a {
		padding: 10px 60px 10px 0;
		font-size: 16px;
	}
	.c_link-arrow a:before,
	.c_link-arrow a:after {
		opacity: 1;
	}
}

/*  top
========================================================================*/

[class^="p_top-"] {
	position: relative;
}
[class^="p_top-"] .inner {
	position: relative;
	width: calc(100% - 100px);
	max-width: 1240px;
	margin: auto;
}
@media screen and (max-width: 1200px) {
	[class^="p_top-"] .inner {
		width: calc(100% - 40px);
	}
}

/*  slider
------------------------------------------------*/

.p_top-slider .slider > ul {
	opacity: 0;
	width: 100%;
	margin-bottom: 0;
}
.p_top-slider .slider ul.slick-initialized {
	opacity: 1;
}
.p_top-slider .slick-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	bottom: 50px;
	height: 7px;
}
.p_top-slider .slick-dots li {
	width: 7px;
	height: 100%;
	margin: 0 8px;
}
.p_top-slider .slick-dots li button {
	width: 100%;
	height: 100%;
	padding: 0;
	background: #fff;
	border-radius: 50%;
}
.p_top-slider .slick-dots li.slick-active button {
	background: #02007C;
	box-shadow: 0 0 0 2px #fff;
}
.p_top-slider .slick-dots li button:before {
	display: none;
}
.p_top-slider .slick-slide {
	position: relative;
	overflow: hidden;
	display: block;
}
.p_top-slider .slick-slide.add-animation img {
	animation: zoom 8s ease-in-out 0s forwards;
}
@keyframes zoom {
	0% {transform: scale(1.1);}
	100% {transform: scale(1);}
}
.p_top-slider .slick-slide img {
	width: 100%;
}
.p_top-slider {
	position: relative;
	z-index: 1;
}
.p_top-slider .textarea {
	opacity: 0;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	text-align: center;
	animation: slider-text 2s ease-in-out 0s forwards;
}
@keyframes slider-text {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
@media screen and (max-width: 1200px) {
	.p_top-slider .textarea {
		width: calc(100% - 20px);
	}
}

@media screen and (max-width: 767px) {
	.p_top-slider .slick-dots {
		bottom: 14px;
	}
	.p_top-slider .slick-dots li {
		margin: 0 5px;
	}
	.p_top-slider .slick-dots li.slick-active button {
		box-shadow: 0 0 0 1px #fff;
	}
	.p_top-slider .textarea {
		top: 50%;
	}
}

/*  brand
------------------------------------------------*/

.p_top-brand:before {
	opacity: 0;
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: url(../top/img/brand_bk.jpg) no-repeat center top / cover;
	pointer-events: none;
	animation: top-brand .8s ease-in-out 2s forwards;
}
@keyframes top-brand {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
.p_top-brand:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,.7) 100%);
	pointer-events: none;
}
.p_top-brand .inner {
	padding: 135px 0 300px;
	text-align: center;
	z-index: 1;
}
.pbPage:not(.edit) .p_top-brand.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .p_top-brand.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.p_top-brand .subtitle {
	font-size: 24px;
	font-family: 'Overpass', sans-serif;
	font-weight: 600;
}
.p_top-brand .logo:not(:first-child) {
	margin-top: 40px;
}
.p_top-brand .image:not(:first-child) {
	margin-top: 80px;
}
.p_top-brand .text:not(:first-child) {
	margin-top: 70px;
}
.p_top-brand .text {
	font-size: 18px;
	font-weight: 500;
	line-height: 2.8;
}
.p_top-brand .c_link-arrow {
	margin: 60px auto 0;
}

@media screen and (max-width: 767px) {
	.p_top-brand:before {
		opacity: 1;
		background-image: url(../top/img/brand_bk-sp.jpg);
		animation: none;
	}
	.p_top-brand:after {
		display: none;
	}
	.p_top-brand .inner {
		padding: 50px 0 240px;
	}
	.p_top-brand .subtitle {
		font-size: 14px;
	}
	.p_top-brand .logo:not(:first-child) {
		margin-top: 15px;
	}
	.p_top-brand .logo {
		max-width: 250px;
		margin: auto;
	}
	.p_top-brand .image:not(:first-child) {
		margin-top: 30px;
	}
	.p_top-brand .text:not(:first-child) {
		margin-top: 35px;
	}
	.p_top-brand .text {
		font-size: 16px;
		line-height: 2.3;
		word-break: keep-all;
	}
	.p_top-brand .c_link-arrow {
		margin-top: 45px;
	}
}

/*  special
------------------------------------------------*/

.p_top-special:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom,  rgba(237,237,237,.6) 0%,rgba(237,237,237,1) 100%);
}
.p_top-special .heading {
	position: absolute;
	z-index: 1;
	top: -55px;
	left: 50%;
	transform: translate(-50%,-100%);
	width: calc(100% - 100px);
	max-width: 1240px;
	text-align: center;
}
.p_top-special .heading .line {
	overflow: hidden;
	position: absolute;
	left: 50%;
	top: calc(100% + 26px);
	width: 2px;
	height: 60px;
}
.p_top-special .heading .line:after {
	content: '';
	position: absolute;
	top: -60px;
	width: 2px;
	height: 60px;
	background: #02007C;
	animation: pathmove 2s ease-out infinite;
}
@keyframes pathmove{
	0% { top: -60px;}
	100% { top: 100%;}
}
.p_top-special .heading .subtitle {
	color: #888888;
	font-size: 20px;
	font-family: 'Overpass', sans-serif;
	font-weight: 600;
}
.p_top-special .heading .title {
	font-size: 36px;
	font-weight: 700;
}
.p_top-special .inner {
	max-width: 1200px;
	padding: 100px 0;
}
.pbPage:not(.edit) .p_top-special.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .p_top-special.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.p_top-special .column {
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: center;
}
.p_top-special .column .box {
	max-width: calc(50% - 20px);
}
.p_top-special .column .box a {
	display: block;
	text-decoration: none;
}
.p_top-special .column .subtitle {
	font-size: 14px;
	font-family: 'Overpass', sans-serif;
	font-weight: 600;
}
.p_top-special .column .logo:not(:first-child) {
	margin-top: 20px;
}
.p_top-special .column .image:not(:first-child) {
	margin-top: 35px;
}
.p_top-special .column .image {
	overflow: hidden;
}
@media (min-width: 768px) {
	.p_top-special a:hover .image img {
		transform: scale(1.1);
	}
}

@media screen and (max-width: 767px) {
	.p_top-special:before {
		background: rgba(0,0,0,.1);
	}
	.p_top-special .heading {
		top: -40px;
		width: calc(100% - 40px);
	}
	.p_top-special .heading .line {
		top: calc(100% + 21px);
		height: 40px;
	}
	.p_top-special .heading .subtitle {
		font-size: 16px;
	}
	.p_top-special .heading .title {
		font-size: 28px;
		line-height: 1.6;
	}
	.p_top-special .inner {
		padding: 55px 0 60px;
	}
	.p_top-special .column {
		flex-flow: column;
	}
	.p_top-special .column .box {
		max-width: 100%;
	}
	.p_top-special .column .box:not(:first-child) {
		margin-top: 40px;
	}
	.p_top-special .column .subtitle {
		font-size: 12px;
	}
	.p_top-special .column .logo:not(:first-child) {
		margin-top: 10px;
	}
	.p_top-special .column .logo {
		max-width: 265px;
		margin: auto;
	}
	.p_top-special .column .image:not(:first-child) {
		margin-top: 35px;
	}
	.p_top-special .column .image {
		overflow: hidden;
	}
}

/*  product
------------------------------------------------*/

.p_top-product {
	background: #fff;
}
.p_top-product .inner {
	padding: 140px 0;
}
.pbPage:not(.edit) .p_top-product.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .p_top-product.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.p_top-product .heading {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	line-height: 1.1;
}
.p_top-product .heading .title {
	width: 100%;
	font-size: 80px;
	font-family: 'Overpass', sans-serif;
	font-weight: 600;
	vertical-align: middle;
}
.p_top-product .heading .title span {
	position: relative;
	padding-right: 60px;
}
.p_top-product .heading .title span:after {
	content: '/';
	position: absolute;
	top: 0;
	right: 15px;
	font-size: 60px;
	font-weight: normal;
	font-family: 'Noto Sans JP', sans-serif;
}
.p_top-product .heading .subtitle {
	margin-top: 5px;
	font-size: 26px;
	font-weight: 500;
}
.p_top-product .heading .c_link-arrow {
	margin-top: 0;
}
.p_top-product .column.col2:not(:first-child) {
	margin-top: 80px;
}
.p_top-product .column:not(.col2):not(:first-child) {
	margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
	.p_top-product .column.col2 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.p_top-product .column.col2 .box {
		width: calc(50% - 20px);
	}
	.p_top-product .column.col2 .box:nth-child(n+3) {
		margin-top: 40px;
	}
}
.p_top-product .column a {
	position: relative;
	display: block;
	text-decoration: none;
}
.p_top-product .column .image {
	overflow: hidden;
}
@media (min-width: 768px) {
	.p_top-product a:hover .image img {
		transform: scale(1.1);
	}
}
.p_top-product .column a .arrow {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 34px;
	height: 34px;
	background: #fff;
	border: 2px solid #02007c;
	border-radius: 50%;
	transition: all .3s;
} 
.p_top-product .column a .arrow:before,
.p_top-product .column a .arrow:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 9px;
	transition: all .3s;
}
.p_top-product .column a .arrow:before {
	width: 13px;
	height: 2px;
	background: #02007c;
}
.p_top-product .column a .arrow:after {
	width: 6px;
	height: 6px;
	border-top: 2px solid #02007c;
	border-right: 2px solid #02007c;
	transform: rotate(45deg);
}
@media (min-width: 768px) {
	.p_top-product .column a:hover .arrow {
		background: #02007c;
	}
	.p_top-product .column a:hover .arrow:before {
		background: #fff;
	}
	.p_top-product .column a:hover .arrow:after {
		border-color: #fff;
	}
}
.p_top-product .column .text:not(:first-child) {
	margin-top: 5px;
}
.p_top-product .column .text {
	font-size: 24px;
	font-weight: 500;
}
.p_top-product .column a .text {
	padding-right: 40px;
}
.p_top-product .column .text span {
	margin-left: 20px;
	color: #7C7C7C;
	font-size: 14px;
	font-family: 'Overpass', sans-serif;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	.p_top-product .inner {
		padding: 55px 0 70px;
	}
	.p_top-product .heading .title {
		font-size: 47px;
	}
	.p_top-product .heading .title span {
		padding-right: 40px;
	}
	.p_top-product .heading .title span:after {
		right: 12px;
		font-size: 40px;
	}
	.p_top-product .heading .subtitle {
		font-size: 20px;
	}
	.p_top-product .column.col2:not(:first-child) {
		margin-top: 40px;
	}
	.p_top-product .column:not(.col2):not(:first-child) {
		margin-top: 30px;
	}
	.p_top-product .column .box:not(:first-child) {
		margin-top: 30px;
	}
	.p_top-product .column .image img {
		width: 100%;
	}
	.p_top-product .column a .arrow {
		bottom: 5px;
	} 
	.p_top-product .column .text {
		font-size: 18px;
	}
	.p_top-product .column .text span {
		display: block;
		margin-left: 0;
		font-size: 12px;
	}
}

/*  sustainability
------------------------------------------------*/

.p_top-sustainability {
	background: #fff;
}
.p_top-sustainability .inner {
    display: flex;
    align-items: center;
    min-height: 580px;
}
.pbPage:not(.edit) .p_top-sustainability.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .p_top-sustainability.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.p_top-sustainability .column {
    position: relative;
    width: 508px;
    margin-left: auto;
    padding: 30px 0px 30px 95px;
}
.p_top-sustainability .column .imagebox {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 100%;
    width: 812px;
}
.p_top-sustainability .column .title {
    font-size: 65px;
    font-family: Overpass, sans-serif;
    font-weight: 600;
    vertical-align: middle;
    line-height: 1.1;
}
.p_top-sustainability .column .subtitle {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.1;
}
.p_top-sustainability .column .text:not(:first-child) {
    margin-top: 30px;
}
.p_top-sustainability .column .text {
    line-height: 2;
}
.p_top-sustainability .column .c_link-arrow:not(:first-child) {
    margin-top: 60px;
}

@media screen and (max-width: 767px) {
	.p_top-sustainability .inner {
	    flex-flow: column;
	    width: 100%;
	    min-height: auto;
	    padding-bottom: 45px;
	}
	.p_top-sustainability .column {
	    width: 100%;
	    padding: 0;
	}
	.p_top-sustainability .column .imagebox {
	    position: static;
		width: 100%;
		transform: none;
	}
	.p_top-sustainability .column .textbox:not(:first-child) {
	    margin-top: 40px;
	}
	.p_top-sustainability .column .textbox {
		width: calc(100% - 40px);
		margin: auto;
	}
	.p_top-sustainability .column .title {
	    font-size: 48px;
	}
	.p_top-sustainability .column .subtitle:not(:first-child) {
	    margin-top: 5px;
	}
	.p_top-sustainability .column .text:not(:first-child) {
	    margin-top: 45px;
	}
	.p_top-sustainability .column .text {
		font-size: 15px;
		font-weight: 500;
		line-height: 2.3;
	}
	.p_top-sustainability .column .c_link-arrow:not(:first-child) {
	    margin-top: 35px;
	}
}

/*  news
------------------------------------------------*/

.p_news {
	position: relative;
	background: #fff;
}
.p_news > div {
	width: calc(100% - 100px);
	max-width: 1032px;
	margin: auto;
	padding: 140px 0;
}
@media screen and (max-width: 1200px) {
	.p_news > div {
		width: calc(100% - 40px);
	}
}
.pbPage:not(.edit) .p_news.u_animation > div {
	opacity: 0;
}
.pbPage:not(.edit) .p_news.u_animation.animation > div {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.p_news-tab {
	display: flex;
	justify-content: center;
}
.p_news-tab ul {
	overflow: hidden;
	display: flex;
	font-size: 24px;
	font-family: 'Overpass', sans-serif;
	font-weight: 600;
	color: #02007C;
	border: 1px solid #02007C;
	border-radius: 25px;
	text-align: center;
	line-height: 1.1;
}
.p_news-tab li {
	min-width: 160px;
	padding: 13px 30px 10px;
	cursor: pointer;
	transition: all .3s;
}
.p_news-tab li:not(:first-child) {
	border-left: 1px solid #02007C;
}
.p_news-tab li.active {
	background: #02007C;
	color: #fff;
	pointer-events: none;
}
@media (min-width: 768px) {
	.p_news-tab li:hover{
		background: rgba(2,0,124,.1);
	}
}
.pbPage:not(.edit) .p_news-panel .box {
	display: none;
}
.pbPage:not(.edit) .p_news-panel .box.active {
	display: block;
	animation: switching-fade .4s ease-in-out 0s;
}
.p_news-panel:not(:first-child) {
	margin-top: 70px;
}
.p_news-panel .box > div > div {
	float: left;
}
.p_news-panel .c_category {
	float: right!important;
	width: 720px;
	margin-top: 0;
}
.p_news-title {
	font-size: 75px;
	font-weight: bold;
	font-family: 'Overpass', sans-serif;
	line-height: 1.1;
}
.p_news-title.small {
	font-size: 54px;
}
.p_news-subtitle {
	font-size: 26px;
	font-weight: 500;
}
.p_news-list:not(:first-child) {
	margin-top: 50px;
}
.p_news-list {
	color: #5f5f5f;
	font-size: 14px;
	font-weight: 500;
}
.p_news-list li:not(:first-child) {
	margin-top: 15px;
}
.p_news-list li.active {
	pointer-events: none;
	color: #02007c;
	font-weight: bold;
}
.p_news-list li a {
	display: block;
	text-decoration: none;
}
@media (min-width: 768px) {
	.p_news-list li a:hover {
		color: #02007c;
	}
}

@media screen and (max-width: 767px) {
	.p_news > div {
		padding: 45px 0 90px;
	}
	.p_news-tab ul {
		width: 100%;
		max-width: 400px;
		font-size: 20px;
	}
	.p_news-tab li {
		min-width: auto;
		width: 50%;
		padding: 10px 15px 7px;
		cursor: pointer;
		transition: all .3s;
	}
	.p_news-panel:not(:first-child) {
		margin-top: 40px;
	}
	.p_news-panel .box > div > div {
		float: none;
	}
	.p_news-panel .c_category {
		float: none!important;
		width: 100%;
	}
	.p_news-panel div:not(.p_news-title.small) + .c_category {
		margin-top: 40px;
	}
	.p_news-title,
	.p_news-title.small {
		font-size: 48px;
	}
	.p_news-subtitle {
		font-size: 20px;
	}
	.p_news-list:not(:first-child) {
		margin-top: 35px;
	}
	.p_news-list ul {
		display: flex;
		flex-wrap: wrap;
		margin: -5px -18px;
	}
	.p_news-list li,
	.p_news-list li:not(:first-child) {
		margin: 5px 18px;
	}
	.p_news-panel .c_link-arrow {
		margin-top: 40px;
	}
}


/*  recruit
------------------------------------------------*/

.p_top-recruit {
	background: #fff;
	border-top: 1px solid #DEDEDE;
	border-bottom: 1px solid #DEDEDE;
}
.p_top-recruit .inner {
    display: flex;
    align-items: center;
    min-height: 363px;
}
.pbPage:not(.edit) .p_top-recruit.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .p_top-recruit.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.p_top-recruit .column {
    position: relative;
    width: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.p_top-recruit .column .title {
    font-size: 65px;
    font-family: Overpass, sans-serif;
    font-weight: 600;
    vertical-align: middle;
    line-height: 1.1;
}
.p_top-recruit .column .subtitle {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.1;
}
.p_top-recruit .column .c_link-arrow:not(:first-child) {
    margin-top: 60px;
}
.p_top-recruit .column .imagebox {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 100%;
    width: 900px;
}
@media print, screen and (min-width: 1200px) {
	.p_top-recruit .column .imagebox {
	    width: calc(50vw + 200px);
	    height: 363px;
	}
	.p_top-recruit .column .imagebox * {
		width: 100%;
		height: 100%;
	}
	.p_top-recruit .column .image img {
		object-fit: cover;
	}
}

@media screen and (max-width: 767px) {
	.p_top-recruit .inner {
	    width: 100%;
	    min-height: auto;
	}
	.p_top-recruit .column {
	    width: 100%;
	    flex-flow: column;
	}
	.p_top-recruit .column .textbox {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: calc(100% - 40px);
		margin: auto;
		padding: 40px 0 22px;
		line-height: 1.1;
	}
	.p_top-recruit .column .title {
	    width: 100%;
	    font-size: 48px;
	}
	.p_top-recruit .column .subtitle {
	    margin-top: 5px;
	}
	.p_top-recruit .column .c_link-arrow:not(:first-child) {
	    margin-top: -2px;
	}
	.p_top-recruit .column .imagebox {
	    position: static;
		width: 100%;
	    transform: none;
	}
	.p_top-recruit .column .image img {
		width: 100%;
	}
}

/*  catalog
------------------------------------------------*/

.p_top-catalog {
	background: #fff;
}
.p_top-catalog .inner {
	width: 100%;
	max-width: 1400px;
	max-width: none;
}
.pbPage:not(.edit) .p_top-catalog.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .p_top-catalog.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.p_top-catalog .column {
    display: flex;
}
.p_top-catalog .column .box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
}
.p_top-catalog .column .box:not(:first-child) {
	border-left: 1px solid #DEDEDE;
}
.p_top-catalog .c_link-arrow {
	width: 100%;
	margin-top: 0;
}
.p_top-catalog .c_link-arrow a {
	display: block;
	padding: 0;
}
.p_top-catalog .c_link-arrow:before,
.p_top-catalog .c_link-arrow:after,
.p_top-catalog .c_link-arrow a:before,
.p_top-catalog .c_link-arrow a:after {
	left: 0;
	right: 0;
}
.p_top-catalog .c_link-arrow img {
	width: 100%;
}
.p_top-catalog .textbox {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column;
	pointer-events: none;
	background: #fff;
	transition: all .3s;
}
@media (min-width: 768px) {
	.p_top-catalog .box:hover .textbox {
		opacity: 0;
	}
}
.p_top-catalog .title {
    font-size: 46px;
    font-family: Overpass, sans-serif;
    font-weight: 600;
    vertical-align: middle;
    line-height: 1.1;
}
.p_top-catalog .subtitle {
    margin: 85px 0 20px;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.1;
}

@media screen and (max-width: 767px) {
	.p_top-catalog .column {
	    flex-flow: column;
	}
	.p_top-catalog .column .box {
	    flex-flow: column;
	    flex-direction: column-reverse;
	    width: 100%;
	}
	.p_top-catalog .column .box:not(:first-child) {
		border-left:none;
	}
	.p_top-catalog .c_link-arrow:after,
	.p_top-catalog .c_link-arrow a:before,
	.p_top-catalog .c_link-arrow a:after {
		bottom: auto;
		left: auto;
		pointer-events: auto;
	}
	.p_top-catalog .c_link-arrow:after {
		top: -73px;
		right: 20px;
	}
	.p_top-catalog .c_link-arrow a:before {
		top: -50px;
		right: 37px;
	}
	.p_top-catalog .c_link-arrow a:after {
		top: -53px;
		right: 37px;
	}
	.p_top-catalog .textbox {
		position: static;
		padding: 55px 75px 20px 20px;
		align-items: normal;
	}
	.p_top-catalog .title {
	    font-size: 34px;
	    letter-spacing: -1.5px;
	}
	.p_top-catalog .subtitle {
	    margin: 5px 0 0;
	    font-size: 16px;
	}
}

/*  lp
========================================================================*/

[class^="lp_"] .inner {
	width: calc(100% - 100px);
	max-width: 1240px;
	margin: auto;
}
[class^="lp_"] .box-title {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 165px;
	padding: 30px 10px;
	background: #004EA2;
	color: #fff;
	text-align: center;
	font-size: 26px;
}
[class^="lp_"] .arrow:not(:first-child) {
	margin-top: 70px;
}
[class^="lp_"] .arrow {
	position: relative;
	height: 60px;
}
[class^="lp_"] .arrow:before,
[class^="lp_"] .arrow:after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
[class^="lp_"] .arrow:before {
	top: 0;
	width: 90px;
	height: 26px;
	background: #004EA2;
}
[class^="lp_"] .arrow:after {
	bottom: 0;
	border-style: solid;
	border-width: 35px 95px 0;
	border-color: #004EA2 transparent transparent;
}
.lp_list:not(:first-child) {
	margin-top: 25px;
}
.lp_list {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
}
.lp_list li {
	position: relative;
	padding-left: 1.3em;
}
.lp_list li:not(:first-child) {
	margin-top: 10px;
}
.lp_list li:before {
	content: '';
	position: absolute;
	top: .3em;
	left: 0;
	width: .8em;
	height: .8em;
	background: #004EA2;
	border-radius: 50%;
}
.lp_list.col2 ul {
	display: flex;
	flex-wrap: wrap;
}
.lp_list.col2 li {
	width: 50%;
	margin-top: 0;
}
.lp_list.col2 li:nth-child(n+3) {
	margin-top: 10px;
}
.lp_button:not(:first-child) {
	margin-top: 60px;
}
.lp_button {
	text-align: right;
}
.box .lp_button:not(:first-child) {
	margin-top: 20px;
}
.box .lp_button {
	text-align: center;
}
.lp_button a {
	position: relative;
	display: inline-block;
	width: 235px;
	padding: 12px 30px;
	background: #004EA2;
	color: #fff;
	font-size: 20px;
	text-align: center;
	text-decoration: none;
}
.lp_button a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}
@media (min-width: 768px) {
	.lp_button a:hover {
		background: #02007C;	
	}
}

@media screen and (max-width: 1200px) {
	[class^="lp_"] .inner {
		width: calc(100% - 40px);
	}
}

@media screen and (max-width: 767px) {
	[class^="lp_"] .box-title {
		min-height: auto;
		padding: 15px;
		font-size: 16px;
		line-height: 1.4;
	}
	[class^="lp_"] .arrow:not(:first-child) {
		margin-top: 40px;
	}
	.lp_list {
		padding: 0 20px;
		font-size: 14px;
	}
	.lp_list.col2:not(:first-child) {
		margin-top: 15px;
	}
	.lp_list.col2 li {
		width: auto;
		min-width: 50%;
		margin-top: 10px;
	}
	.lp_button:not(:first-child) {
		margin-top: 40px;
	}
	.lp_button a {
		width: 180px;
		padding: 8px 30px;
		font-size: 14px;
	}
}

/*  keyVisual
------------------------------------------------*/

.lp_keyVisual {
	position: relative;
	overflow: hidden;
}
.lp_keyVisual .image {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
.lp_keyVisual .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	animation: zoom 8s ease-in-out 0s forwards;
}
.lp_keyVisual .inner {
	position: relative;
	min-height: 1500px;
	padding: 60px 0;
	text-align: center;
}
.lp_keyVisual .subtitle {
	font-size: 14px;
	font-weight: 500;
}
.lp_keyVisual .logo {
	margin-top: 45px;
}
.lp_keyVisual .text {
	margin-top: 50px;
	font-weight: 500;
	font-size: 20px;
	line-height: 2.5;
}
.lp_keyVisual .text span {
	display: inline-block;
	margin: 20px;
	vertical-align: middle;
}
.lp_keyVisual .text span img {
	display: block;
}
.pbPage:not(.edit) .lp_keyVisual .subtitle,
.pbPage:not(.edit) .lp_keyVisual .logo {
	opacity: 0;
	animation: fade-in .75s ease-out .5s forwards;
}
.pbPage:not(.edit) .lp_keyVisual .text {
	opacity: 0;
	animation: fade-in .75s ease-out .75s forwards;
}

@media screen and (max-width: 1200px) {
	.lp_keyVisual .inner {
		width: calc(100% - 35px);
	}
}

@media screen and (max-width: 767px) {
	.lp_keyVisual .image {
		height: auto;
	}
	.lp_keyVisual .inner {
		min-height: auto;
		padding: 40px 0 240px;
	}
	.lp_keyVisual .logo {
		width: 250px;
		margin: 20px auto 0;
	}
	.lp_keyVisual .text {
		margin-top: 30px;
		font-size: 14px;
		line-height: 2;
		word-break: keep-all;
	}
	.lp_keyVisual .text span {
		margin: 10px;
	}
}

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

.lp_line {
	display: flex;
	align-items: center;
	min-height: 250px;
	background: #004EA2;
	color: #fff;
}
.lp_line .inner {
	padding: 40px 0;
	text-align: center;
}
.pbPage:not(.edit) .lp_line.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .lp_line.u_animation.animation .inner {
	animation: lp-title 1s ease-in-out 0s forwards;
}
@keyframes lp-title {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
.lp_line .subtitle {
	font-size: 14px;
}
.lp_line .en {
	font-size: 80px;
	font-family: 'EB Garamond', serif;
	line-height: 1.2;
}
.lp_line .title {
	font-size: 30px;
}

@media screen and (max-width: 767px) {
	.lp_line {
		min-height: auto;
	}
	.lp_line .inner {
		padding: 20px 0;
		line-height: 1.6;
	}
	.lp_line .en {
		font-size: 28px;
	}
	.lp_line .title {
		font-size: 15px;
	}
}

/*  philosophy
------------------------------------------------*/

.lp_philosophy .inner {
	padding: 80px 0 160px;
	text-align: center;
}
.pbPage:not(.edit) .lp_philosophy.u_animation .image01,
.pbPage:not(.edit) .lp_philosophy.u_animation .image02,
.pbPage:not(.edit) .lp_philosophy.u_animation .image03,
.pbPage:not(.edit) .lp_philosophy.u_animation .image04 {
	opacity: 0;
}
.pbPage:not(.edit) .lp_philosophy.u_animation.animation .image01 {
	animation: lp-philosophy-l 1s ease-in-out 0s forwards;
}
.pbPage:not(.edit) .lp_philosophy.u_animation.animation .image02 {
	animation: lp-philosophy-r 1s ease-in-out .25s forwards;
}
.pbPage:not(.edit) .lp_philosophy.u_animation.animation .image03 {
	animation: lp-philosophy-l 1s ease-in-out .5s forwards;
}
.pbPage:not(.edit) .lp_philosophy.u_animation.animation .image04 {
	animation: fade-in 1s ease-in-out 1s forwards;
}
@keyframes lp-philosophy-l {
	0% {opacity: 0; transform: translateX(-100px);}
	100% {opacity: 1; transform: translateX(0);}
}
@keyframes lp-philosophy-r {
	0% {opacity: 0; transform: translateX(100px);}
	100% {opacity: 1; transform: translateX(0);}
}

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

/*  history
------------------------------------------------*/

.lp_history .inner {
	position: relative;
	padding-bottom: 180px;
}
.lp_history .list {
    position: relative;
    padding: 50px 0 0;
    font-size: 20px;
}
.lp_history .list:before,
.lp_history .list:after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.lp_history .list:before {
	top: 0;
	width: 90px;
	height: calc(100% - 220px);
	background: #004EA2;
}
.lp_history .list:after {
	top: calc(100% - 220px);
	border-style: solid;
	border-width: 60px 75px 0;
	border-color: #004EA2 transparent transparent;
}
.pbPage:not(.edit) .lp_history.u_animation .list:before {
	height: 0;
}
.pbPage:not(.edit) .lp_history.u_animation .list:after {
	top: 0;
}
.pbPage:not(.edit) .lp_history.u_animation.animation .list:before {
	animation: lp-history-line 3s ease-in-out 0s forwards;
}
.pbPage:not(.edit) .lp_history.u_animation.animation .list:after {
	animation: lp-history-arw 3s ease-in-out 0s forwards;
}
@keyframes lp-history-line {
	0% { height: 0;}
	100% { height: calc(100% - 220px);}
}
@keyframes lp-history-arw {
	0% {top: 0;}
	100% {top: calc(100% - 220px);}
}
@keyframes lp-history-line-sp {
	0% { height: 0;}
	100% { height: calc(100% - 0px);}
}
@keyframes lp-history-arw-sp {
	0% {top: 0;}
	100% {top: calc(100% - 0px);}
}
.lp_history .list .box {
	width: calc(50% - 80px);
}
.lp_history .list .box:not(:first-child) {
	margin-top: -150px;
}
.lp_history .list .box03:not(:first-child) {
	margin-top: -70px;
}
.lp_history .list .box04:not(:first-child) {
	margin-top: -70px;
}
.lp_history .list .box07:not(:first-child) {
	margin-top: 0;
}
.pbPage:not(.edit) .lp_history .list .box.u_animation {
	opacity: 0;
}
.pbPage:not(.edit) .lp_history .list .box.u_animation.animation {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.lp_history .list .box:nth-child(odd) {
	margin-left: auto;
}
.lp_history .list .data {
	display: flex;
	align-items: center;
	width: 100%;
	font-family: 'Noto Serif JP', serif;
	color: #004EA2;
	font-weight: 500;
	font-size: 60px;
	line-height: 1.2;
}
.lp_history .list .box:nth-child(even) .data {
	justify-content: flex-end;
}
.lp_history .list .data span {
	display: block;
	margin-left: 20px;
	font-size: 30px;
}
.lp_history .list .text:not(:first-child) {
	margin-top: 10px;
}
.lp_history .list .box:nth-child(even) .text {
	text-align: right;
}
.lp_history .list .image:not(:first-child) {
	margin-top: 15px;
}
.lp_history .list .image {
	text-align: right;
}
.lp_history .list .box05 .image,
.lp_history .list .box08 .image {
	text-align: left;
}
.lp_history .list .box04 .image {
	text-align: left;
	transform: translate(-35px,-140px);
	pointer-events: none;
}
.lp_history .message {
	position: absolute;
	bottom: 135px;
	width: 100%;
	font-family: 'Noto Serif JP', serif;
	color: #004EA2;
	font-weight: bold;
	font-size: 60px;
	line-height: 1.4;
	text-align: center;
}
.lp_history .lp_button {
	position: absolute;
	right: 0;
	bottom: 160px;
}

@media screen and (max-width: 767px) {
	.lp_history .inner {
		padding-bottom: 40px;
	}
	.lp_history .list {
	    padding: 50px 0 0 40px;
	    font-size: 14px;
	}
	.lp_history .list:before,
	.lp_history .list:after {
		transform: translateX(0);
	}
	.lp_history .list:before {
		left: -26px;
		width: 45px;
	}
	.lp_history .list:after {
		left: -62px;
		border-width: 65px 55px 0;
	}
	.pbPage:not(.edit) .lp_history.u_animation.animation .list:before {
		animation: lp-history-line-sp 3s ease-in-out 0s forwards;
	}
	.pbPage:not(.edit) .lp_history.u_animation.animation .list:after {
		animation: lp-history-arw-sp 3s ease-in-out 0s forwards;
	}
	.lp_history .list .box {
		width: 100%;
		max-width: 280px;
		text-align: center;
		margin: auto;
	}
	.lp_history .list .box:not(:first-child) {
		margin-top: 40px;
	}
	.lp_history .list .box07:not(:first-child),
	.lp_history .list .box08:not(:first-child) {
		position: absolute;
		left: 50%;
		width: 100px;
		animation: none!important;
		opacity: 1!important;
	}
	.lp_history .list .box07:not(:first-child) {
		transform: translate(-50%,-30px);
		margin-left: 150px;
	}
	.lp_history .list .box08:not(:first-child) {
		transform: translate(-50%,80px);
		margin-left: -150px;
	}
	.lp_history .list .box07 .image,
	.lp_history .list .box08 .image {
		width: 100%;
	}
	.lp_history .list .data,
	.lp_history .list .box:nth-child(even) .data {
		justify-content: center;
		font-size: 32px;
	}
	.lp_history .list .data span {
		margin-left: 15px;
		font-size: 18px;
	}
	.lp_history .list .box .text,
	.lp_history .list .box:nth-child(even) .text {
		text-align: center;
	}
	.lp_history .list .image {
		width: 70%;
		margin: auto;
	}
	.lp_history .list .box04 .image {
		transform: translate(0);
	}
	.lp_history .message {
		position: static;
		margin-top: 75px;
		font-size: 26px;
	}
	.lp_history .lp_button {
		position: static;
	}
}

/*  task
------------------------------------------------*/

.lp_task .inner {
	padding: 70px 0;
	text-align: center;
}
.pbPage:not(.edit) .lp_task.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .lp_task.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.lp_task .lp_button {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.lp_task .inner {
		padding: 40px 0;
	}
	.lp_task .lp_button {
		margin-top: 30px;
	}
}

/*  mission
------------------------------------------------*/

.lp_mission .inner {
	padding: 70px 0 80px;
	text-align: center;
}
.pbPage:not(.edit) .lp_mission.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .lp_mission.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.lp_mission .column ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.lp_mission .column li {
	max-width: calc(50% - 50px);
}
.lp_mission .message:not(:first-child) {
	margin-top: 90px;
}
.lp_mission .message {
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	font-size: 60px;
}
.lp_mission .text:not(:first-child) {
	margin-top: 30px;
}
.lp_mission .text {
	font-size: 24px;
}
.lp_mission .lp_button {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.lp_mission .inner {
		padding: 40px 0;
	}
	.lp_mission .column ul {
		flex-flow: column;
	}
	.lp_mission .column li {
		max-width: 230px;
	}
	.lp_mission .column li:not(:first-child) {
		margin-top: 15px;
	}
	.lp_mission .message:not(:first-child) {
		margin-top: 30px;
	}
	.lp_mission .message {
		font-size: 22px;
	}
	.lp_mission .text:not(:first-child) {
		margin-top: 20px;
	}
	.lp_mission .text {
		font-size: 16px;
	}
	.lp_mission .lp_button {
		margin-top: 30px;
	}
}

/*  solution
------------------------------------------------*/

.lp_solution .inner {
	max-width: 1210px;
	padding: 45px 0 0;
	text-align: center;
}
.pbPage:not(.edit) .lp_solution.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .lp_solution.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.lp_solution .title:not(:first-child) {
	margin-top: 100px;
}
.lp_solution .title {
	color: #004EA2;
	font-size: 55px;
	font-family: 'EB Garamond', serif;
	line-height: 1.2;
}
.lp_solution .title span {
	margin-left: 15px;
	font-size: 75px;
	vertical-align: baseline;
}
.lp_solution .column01:not(:first-child) {
	margin-top: 35px;
}
.lp_solution .column01 {
	display: flex;
	justify-content: space-between;
}
.lp_solution .column01 .box:first-child {
	width: 66.1157%;
}
.lp_solution .column01 .box:last-child {
	width: 32.397%;
}
.lp_solution .box-title {
	margin-bottom: 10px;
}
.lp_solution .column01 ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.lp_solution .column01 li {
	width: calc(50% - 8px);
}
.lp_solution .column01 img {
	width: 100%;
}
.lp_solution .column01 figcaption {
	padding: 17px 10px;
	background: #B2B4D6;
	color: #0E3192;
	font-size: 28px;
	font-weight: 500;
}
.lp_solution .column01 figcaption:not(:first-child) {
	margin-top: 10px;
}
.lp_solution .column01 .text:not(:first-child) {
	margin-top: 15px;
}
.lp_solution .column01 .text {
	font-size: 24px;
	font-weight: 500;
}
.lp_solution .column02:not(:first-child) {
	margin-top: 50px;
}
.lp_solution .column02 ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.lp_solution .column02 li {
	max-width: calc(50% - 50px);
}
.lp_solution-under {
	overflow: hidden;
	position: relative;
	background: url(/mission_for_all/assets/img/solution_bk.jpg) no-repeat center / cover;
	color: #fff;
}
.lp_solution-under:before {
	content: '';
	position: absolute;
	left: 50%;
		transform: translateX(-50%);
	top: -1px;
	border-style: solid;
	border-width: 190px 50vw 0;
	border-color: #fff transparent transparent;
}
@media screen and (max-width: 1200px) {
	.lp_solution-under:before {
		border-width: 190px 670px 0;
	}
}
.lp_solution-under .inner {
	min-height: 1590px;
	padding: 320px 0 0;
	text-align: center;
}
.pbPage:not(.edit) .lp_solution-under.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .lp_solution-under.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.lp_solution-under .subtitle:not(:first-child) {
	margin-top: 30px;
}
.lp_solution-under .subtitle {
	font-size: 50px;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.2;
}
.lp_solution-under .title:not(:first-child) {
	margin-top: 160px;
}
.lp_solution-under .title {
	font-size: 40px;
	font-weight: 500;
}
.lp_solution-under .text:not(:first-child) {
	margin-top: 30px;
}
.lp_solution-under .text {
	font-size: 20px;
	line-height: 2.5;
}

@media screen and (max-width: 767px) {
	.lp_solution .inner {
		padding: 40px 0 0;
	}
	.lp_solution .title:not(:first-child) {
		margin-top: 40px;
	}
	.lp_solution .title {
		font-size: 30px;
	}
	.lp_solution .title span {
		margin-left: 10px;
		font-size: 36px;
	}
	.lp_solution .column01:not(:first-child) {
		margin-top: 30px;
	}
	.lp_solution .column01 {
		flex-flow: column;
	}
	.lp_solution .column01 .box:first-child,
	.lp_solution .column01 .box:last-child {
		width: 100%;
	}
	.lp_solution .column01 .box:not(:first-child) {
		margin-top: 40px;
	}
	.lp_solution .column01 ul {
		flex-flow: column;
	}
	.lp_solution .column01 li {
		width: 100%;
	}
	.lp_solution .column01 li:not(:first-child) {
		margin-top: 30px;
	}
	.lp_solution .column01 figcaption {
		padding: 10px;
		font-size: 16px;
	}
	.lp_solution .column01 .text:not(:first-child) {
		margin-top: 15px;
	}
	.lp_solution .column01 .text {
		font-size: 16px;
	}
	.lp_solution .column02:not(:first-child) {
		margin-top: 30px;
	}
	.lp_solution .column02 ul {
		flex-flow: column;
	}
	.lp_solution .column02 li {
		max-width: 230px;
	}
	.lp_solution .column02 li:not(:first-child) {
		margin-top: 15px;
	}
	.lp_solution-under:before {
		border-width: 80px 50vw 0;
	}
	.lp_solution-under .inner {
		min-height: auto;
		padding: 130px 0 250px;
	}
	.lp_solution-under .subtitle:not(:first-child) {
		margin-top: 15px;
	}
	.lp_solution-under .subtitle {
		font-size: 20px;
	}
	.lp_solution-under .title:not(:first-child) {
		margin-top: 40px;
	}
	.lp_solution-under .title {
		font-size: 16px;
	}
	.lp_solution-under .text {
		font-size: 14px;
		line-height: 2;
		word-break: keep-all;
	}
}

/*  policy
------------------------------------------------*/

.lp_policy {
	position: relative;
}
.lp_policy .image {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
.lp_policy .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lp_policy .inner {
	position: relative;
	min-height: 850px;
	padding: 60px 0 180px;
	text-align: center;
}
.pbPage:not(.edit) .lp_policy.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .lp_policy.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.lp_policy .text {
	font-weight: 500;
	font-size: 20px;
	line-height: 2.5;
}
.lp_policy .lp_button {
	position: absolute;
	bottom: 60px;
	right: 0;
}

@media screen and (max-width: 767px) {
	.lp_policy .image {
		opacity: .6;
	}
	.lp_policy .inner {
		min-height: auto;
		padding: 40px 0 100px;
	}
	.lp_policy .text {
		font-size: 14px;
		line-height: 2;
		word-break: keep-all;
	}
	.lp_policy .lp_button {
		position: static;
		text-align: center;
	}
}

/*  environment
------------------------------------------------*/

.lp_environment .inner {
	padding: 60px 0 80px;
}
.lp_environment .text {
	font-weight: 500;
	font-size: 20px;
	line-height: 2.5;
	text-align: center;
}
.pbPage:not(.edit) .lp_environment .text.u_animation {
	opacity: 0;
}
.pbPage:not(.edit) .lp_environment .text.u_animation.animation {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.lp_environment .panel:not(:first-child) {
	margin-top: 40px;
}
.lp_environment .panel {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 1116px;
	height: 730px;
}
.lp_environment .panel .item {
	position: absolute;
	width: 260px;
	height: 224px;
}
.pbPage:not(.edit) .lp_environment .panel.u_animation .item {
	opacity: 0;
}
.pbPage:not(.edit) .lp_environment .panel.u_animation.animation .item {
	animation-name: hexagon;
	animation-duration: .4s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}
@keyframes hexagon {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
.lp_environment .panel .item01 {
	top: 122px;
	left: 0;
	animation-delay: 0s;
}
.lp_environment .panel .item02 {
	top: 380px;
	left: 0;
	animation-delay: .1s;
}
.lp_environment .panel .item03 {
	top: 0;
	left: 213px;
	animation-delay: .2s;
}
.lp_environment .panel .item04 {
	width: 270px;
	height: 233px;
	top: 248px;
	left: 207px;
	animation-delay: .3s;
}
.lp_environment .panel .item05 {
	top: 505px;
	left: 213px;
	animation-delay: .4s;
}
.lp_environment .panel .item06 {
	top: 122px;
	left: 428px;
	animation-delay: .5s;
}
.lp_environment .panel .item07 {
	top: 380px;
	left: 428px;
	animation-delay: .6s;
}
.lp_environment .panel .item08 {
	top: 0;
	left: 641px;
	animation-delay: .7s;
}
.lp_environment .panel .item09 {
	width: 270px;
	height: 233px;
	top: 248px;
	left: 636px;
	animation-delay: .8s;
}
.lp_environment .panel .item10 {
	top: 505px;
	left: 641px;
	animation-delay: .9s;
}
.lp_environment .panel .item11 {
	top: 122px;
	left: 856px;
	animation-delay: 1s;
}
.lp_environment .panel .item12 {
	top: 380px;
	left: 856px;
	animation-delay: 1.1s;
}
.lp_environment .column:not(:first-child) {
	margin-top: 130px;
}
.lp_environment .column {
	display: flex;
	justify-content: space-between;
}
.lp_environment .column .box {
	display: flex;
	flex-flow: column;
	width: calc(100% / 3 - 40px);
}
.lp_environment .column .lp_button {
	margin-top: auto;
}
.lp_environment .column .lp_button a {
	margin-top: 60px;
}

@media screen and (max-width: 767px) {
	.lp_environment .inner {
		padding: 40px 0;
	}
	.lp_environment .text {
		font-size: 14px;
		line-height: 2;
		word-break: keep-all;
	}
	.lp_environment .panel:not(:first-child) {
		margin-top: 30px;
	}
	.lp_environment .panel {
		width: 320px;
		height: 496px;
	}
	.lp_environment .panel .item {
		width: 104px;
		height: 122px;
	}
	.lp_environment .panel .item01 {
		top: 0;
		left: 54px;
	}
	.lp_environment .panel .item02 {
		top: 0px;
		left: 162px;
	}
	.lp_environment .panel .item03 {
		top: 93px;
		left: 0;
	}
	.lp_environment .panel .item04 {
		top: 93px;
		left: 108px;
	}
	.lp_environment .panel .item05 {
		top: 93px;
		left: 216px;
	}
	.lp_environment .panel .item06 {
		top: 187px;
		left: 54px;
	}
	.lp_environment .panel .item07 {
		top: 187px;
		left: 162px;
	}
	.lp_environment .panel .item08 {
		top: 281px;
		left: 0;
	}
	.lp_environment .panel .item09 {
		top: 281px;
		left: 108px;
	}
	.lp_environment .panel .item10 {
		top: 281px;
		left: 216px;
	}
	.lp_environment .panel .item11 {
		top: 375px;
		left: 54px;
	}
	.lp_environment .panel .item12 {
		top: 375px;
		left: 162px;
	}
	.lp_environment .column:not(:first-child) {
		margin-top: 40px;
	}
	.lp_environment .column {
		flex-flow: column;
	}
	.lp_environment .column .box {
		width: 100%;
	}
	.lp_environment .column .box:not(:first-child) {
		margin-top: 30px;
	}
	.lp_environment .column .lp_button a {
		margin-top: 30px;
	}
}

/*  social
------------------------------------------------*/

.lp_social {
	position: relative;
}
.lp_social .image {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
.lp_social .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lp_social .inner {
	position: relative;
	min-height: 1460px;
	padding: 65px 0;
}
.pbPage:not(.edit) .lp_social.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .lp_social.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.lp_social .column {
	display: flex;
	justify-content: space-between;
}
.lp_social .column .box {
	display: flex;
	flex-flow: column;
	width: calc(50% - 10px);
}
.lp_social .lp_list {
	max-width: 465px;
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
}
.lp_social .column .lp_button {
	margin-top: auto;
}
.lp_social .column .lp_button a {
	margin-top: 60px;
}

@media screen and (max-width: 767px) {
	.lp_social .image {
		opacity: .4;
	}
	.lp_social .inner {
		min-height: auto;
		padding: 40px 0;
	}
	.lp_social .column {
		flex-flow: column;
	}
	.lp_social .column .box {
		width: 100%;
	}
	.lp_social .column .box:not(:first-child) {
		margin-top: 30px;
	}
	.lp_social .column .lp_button a {
		margin-top: 30px;
	}
}

/*  governance
------------------------------------------------*/

.lp_governance {
	position: relative;
}
.lp_governance .image {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
.lp_governance .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lp_governance .inner {
	position: relative;
	min-height: 1500px;
	padding: 65px 0;
}
.pbPage:not(.edit) .lp_governance.u_animation .inner {
	opacity: 0;
}
.pbPage:not(.edit) .lp_governance.u_animation.animation .inner {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.lp_governance .column:not(:first-child) {
	margin-top: 40px;
}
.lp_governance .column {
	display: flex;
	justify-content: space-between;
	max-width: 1060px;
	margin: auto;
}
.lp_governance .column .box:first-child {
	width: calc(56% - 20px);
}
.lp_governance .column .box:last-child {
	width: calc(44% - 20px);
}
.lp_governance .column .title {
	color: #004EA2;
	font-size: 28px;
	font-weight: 500;
}
.lp_governance .column .text:not(:first-child) {
	margin-top: 10px;
}
.lp_governance .column .text {
	font-size: 20px;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.lp_governance .image {
		opacity: .4;
	}
	.lp_governance .inner {
		min-height: auto;
		padding: 40px 0;
	}
	.lp_governance .column:not(:first-child) {
		margin-top: 30px;
	}
	.lp_governance .column {
		flex-flow: column;
	}
	.lp_governance .column .box:first-child,
	.lp_governance .column .box:last-child {
		width: 100%;
	}
	.lp_governance .column .box:not(:first-child) {
		margin-top: 20px;
	}
	.lp_governance .column .title {
		font-size: 18px;
		text-align: center;
	}
	.lp_governance .column .text:not(:first-child) {
		margin-top: 10px;
	}
	.lp_governance .column .text {
		font-size: 14px;
		text-align: center;
		line-height: 2;
		word-break: keep-all;
	}
	.lp_governance .column .lp_list {
		display: flex;
		justify-content: center;
	}
	.lp_governance .lp_button {
		text-align: center;
	}
}

/*  news
========================================================================*/

/*  slider
------------------------------------------------*/

.c_slider.news > ul {
	width: 100%;
}
.c_slider.news .slick-arrow {
	display: none!important;
}

@media print, screen and (min-width: 768px) {
	.c_slider.news .slick-dots {
		bottom: 30px;
		height: 3px;
	}
	.c_slider.news .slick-dots li {
		width: 80px;
		margin: 0 10px;
	}
}

/*  detail
------------------------------------------------*/

.c_detail.news > div {
	max-width: 1040px;
}
.c_switching .c_detail.news > div {
	padding-top: 50px;
}
.c_detail.news .mainarea {
	width: 720px;
}
.c_detail.news .mainarea > div {
	padding-top: 35px;
}
.p_news-menu:not(:first-child) {
	margin-top: 80px;
}
div.p_news-menu {
	opacity: 0;
	overflow: hidden!important;
}
.p_news-menu.slick-initialized {
	opacity: 1;
}
.p_news-menu .slick-arrow {
	left: 0;
	z-index: 1;
	width: 30px;
	height: 100%;
}
.p_news-menu .slick-next {
	left: auto;
	right: 0;
}
.p_news-menu .slick-arrow:focus {
	background: none;
}
.p_news-menu .slick-arrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 13px;
	width: 7px;
	height: 7px;
	border-left: 1px solid #02007c;
	border-bottom: 1px solid #02007c;
	opacity: 1;
	transform: rotate(45deg);
}
.p_news-menu .slick-next:before {
	left: auto;
	right: 12px;
	transform: rotate(-135deg);
}
@media (min-width: 768px) {
	.p_news-menu .slick-arrow:not(.slick-disabled):hover {
		background: #E4EAEF;
	}
}
.p_news-menu .slick-list {
	overflow: visible;
	padding: 0 30px;
}
.p_news-menu .slick-track {
	display: flex;
	overflow: hidden;
	border: 1px solid #e5e5e5;
	border-radius: 5px;
	font-size: 14px;
	text-align: center;
}
.p_news-menu .slick-slide {
	height: auto!important;
	background: #fff;
}
.p_news-menu .slick-slide:not(:first-child) {
	border-left: 1px solid #e5e5e5;
}
.p_news-menu .slick-slide a {
	display: block;
	padding: 10px;
	text-decoration: none;
}
@media (min-width: 768px) {
	.p_news-menu .slick-slide a:hover {
		background: #e5e5e5;
	}
}
.p_news-year:not(:first-child) {
	margin-top: 50px;
}
.p_news-year {
	font-size: 34px;
}

@media screen and (max-width: 767px) {
	.c_detail.news > div {
		padding: 50px 0 100px;
	}
	.c_detail.news.only > div {
		padding-top: 20px;
	}
	.c_switching .c_detail.news > div {
		padding-top: 0;
	}
	.c_detail.news .mainarea {
		width: 100%;
	}
	.c_detail.news .sidearea {
		margin-top: 0;
	}
	.p_news-menu .slick-arrow {
		width: 20px;
	}
	.p_news-menu .slick-arrow:before {
		left: 5px;
	}
	.p_news-menu .slick-next:before {
		left: auto;
		right: 5px;
	}
	.p_news-menu .slick-list {
		padding: 0 20px;
	}
	.p_news-menu .slick-slide a {
		padding: 5px;
	}
	.p_news-year {
		font-size: 22px;
	}
	.p_news-year + div:not(:first-child) {
		margin-top: 10px;
	}
}

/*  inquiry
========================================================================*/

.p_inquiry-step {
	text-align: center;
}
.p_inquiry-step ul {
	position: relative;
	display: flex;
	justify-content: center;
	margin: 0 -75px;
	font-size: 14px;
} 
.p_inquiry-step ul:before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 320px;
	height: 1px;
	top: 15px;
	background: #D5D5D5;
}
.p_inquiry-step li {
	position: relative;
	margin: 0 65px;
	padding-top: 40px;
	background: #fff;
}
.p_inquiry-step li:before,
.p_inquiry-step li:after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 50%;
}
.p_inquiry-step li:before {
	top: 0;
	width: 26px;
	height: 26px;
	border: 2px solid transparent;
}
.p_inquiry-step li.active:before {
	border-color: #005EB8;
}
.p_inquiry-step li:after {
	top: 9px;
	width: 12px;
	height: 12px;
	background: #D5D5D5;
}
.p_inquiry-step li.active:after {
	background: #005EB8;
}
.p_inquiry-step p:not(:first-child) {
	margin-top: 30px;
}

@media screen and (max-width: 767px) {
	.p_inquiry-step ul {
		margin: 0 -25px;
	} 
	.p_inquiry-step ul:before {
		max-width: 225px;
		top: 13px;
	}
	.p_inquiry-step li {
		margin: 0 25px;
		padding-top: 35px;
	}
	.p_inquiry-step li:before {
		width: 22px;
		height: 22px;
	}
	.p_inquiry-step li:after {
		top: 7px;
	}
	.p_inquiry-step p:not(:first-child) {
		margin-top: 20px;
	}
}

/*  form
------------------------------------------------*/

.p_inquiry-form:not(:first-child) {
	margin-top: 50px;
} 
.p_inquiry-form table {
	width: 100%;
	max-width: 665px;
	margin: auto;
}
.p_inquiry-form td {
	border: none;
}
.p_inquiry-form td.pbLabel,
.p_inquiry-form td.pbLabel + td {
	display: block;
	width: 100%!important;
}
.p_inquiry-form td.pbLabel {
	padding: 55px 0 18px;
	text-align: left;
	vertical-align: middle;
	font-weight: 500;
}
.p_inquiry-form td.queryOneLineLabel {
	padding: 90px 0 0;
	font-size: 24px;
}
.p_inquiry-form .pbCornerQueryLabelRequired {
	position: relative;
	top: 2px;
	display: inline-block;
	margin-left: 10px;
	padding: 0 9px;
	font-size: 12px;
	color: #A50000;
	border: 1px solid #A50000;
	font-weight: normal;
	line-height: 22px;
}
.p_inquiry-form td.pbErrorMsg {
	padding: 0 0 10px;
	color: #A50000;
}
.p_inquiry-form input,
.p_inquiry-form select,
.p_inquiry-form textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	border-radius: 0;
	border: none;
	line-height: 1.8;
}
.p_inquiry-form input[type="text"],
.p_inquiry-form select,
.p_inquiry-form textarea {
	padding: 11px 20px;
	background: #F2F2F2;
}
.p_inquiry-form input[type="text"],
.p_inquiry-form textarea {
	width: 100%;
}
.p_inquiry-form input:-webkit-autofill {
	box-shadow: 0 0 0 1000px #F2F2F2 inset;
}

@media screen and (max-width: 767px) {
	.p_inquiry-form:not(:first-child) {
		margin-top: 30px;
	} 
	.p_inquiry-form td.pbLabel {
		padding: 30px 0 10px;
	}
	.p_inquiry-form td.queryOneLineLabel {
		padding: 90px 0 0;
		font-size: 24px;
	}
	.p_inquiry-form .pbCornerQueryLabelRequired {
		line-height: 18px;
	}
	.p_inquiry-form input[type="text"],
	.p_inquiry-form select,
	.p_inquiry-form textarea {
		padding: 8px 15px;
	}
}

/*  name  */

.p_inquiry-form .name input {
	width: calc(50% - 12px);
}
.p_inquiry-form .name input[id*="query_name_first_"] {
	float: right;
}

@media screen and (max-width: 767px) {
	.p_inquiry-form .name input {
		width: calc(50% - 5px);
	}
}

/*  mail  */

.p_inquiry-form .mail div:not(:first-child) {
	margin-top: 10px;
	font-size: 14px;
}
.p_inquiry-form .mail div input {
	margin-top: 10px;
}

/*  select  */

.p_inquiry-form select {
	margin: 3px 0;
	padding-right: 50px;
	background: url(../img/arrow_select.png) no-repeat calc(100% - 10px) center #F2F2F2;
	cursor: pointer;
}
.p_inquiry-form select::-ms-expand {
	display: none;
}
.p_inquiry-form .date {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.p_inquiry-form .date label {
	margin: 0 35px 0 9px;
}

@media screen and (max-width: 767px) {
	.p_inquiry-form select {
		padding-right: 35px;
		background-size: 15px;
	}
	.p_inquiry-form select::-ms-expand {
		display: none;
	}
	.p_inquiry-form .date label {
		margin: 0 15px 0 9px;
	}
}

/*  address  */

.p_inquiry-form input[id*="query_post_"],
.p_inquiry-form input[id*="query_postnum_address_"]:not(:last-of-type) {
	width: auto;
}
.p_inquiry-form .address01 input[type="button"] {
	margin: 5px 0 0 10px;
	padding: 8px 20px;
	background: #005EB8;
	color: #fff;
	font-size: 14px;
	border-radius: 20px;
	cursor: pointer;
	transition: all .3s;
}
@media (min-width: 768px) {
	.p_inquiry-form .address01 input[type="button"]:hover {
		opacity: .6;
	}
}

@media screen and (max-width: 767px) {
	.p_inquiry-form .address01 input[type="button"] {
		margin: 2px 0 0 10px;
	}
}

/*  radio  */

.p_inquiry-form input[type=radio] {
	display: none;
}
.p_inquiry-form input[type=radio] + label {
	display: inline-block;
	position: relative;
	margin: 10px 0;
	padding-left: 35px;
	cursor: pointer;
}
.p_inquiry-form input[type=radio] + label:not(:last-child) {
	margin: 0 20px 0 0;
}
.p_inquiry-form input[type=radio] + label:before,
.p_inquiry-form input[type=radio] + label:after {
	content: '';
	position: absolute;
	border-radius: 50%;
}
.p_inquiry-form input[type=radio] + label:before {
	top: 3px;
	left: 0;
	width: 24px;
	height: 24px;
	background: #F2F2F2;
}
.p_inquiry-form input[type=radio] + label:after {
	top: 9px;
	left: 6px;
	width: 12px;
	height: 12px;
	transition: all .3s;
}
.p_inquiry-form input[type=radio]:checked + label:after {
	background: #005EB8;
}

@media screen and (max-width: 767px) {
	.p_inquiry-form input[type=radio] + label {
		margin: 5px 0;
	}
	.p_inquiry-form input[type=radio] + label:before {
		top: 1px;
	}
	.p_inquiry-form input[type=radio] + label:after {
		top: 7px;
	}
}

/*  checkbox  */

.p_inquiry-form input[type=checkbox] {
	display: none;
}
.p_inquiry-form input[type=checkbox] + label {
	display: inline-block;
	position: relative;
	margin: 10px 0;
	padding-left: 35px;
	cursor: pointer;
}
.p_inquiry-form input[type=checkbox] + label:before,
.p_inquiry-form input[type=checkbox] + label:after {
	content: '';
	position: absolute;
}
.p_inquiry-form input[type=checkbox] + label:before {
	top: 3px;
	left: 0;
	width: 24px;
	height: 24px;
	background: #F2F2F2;
	border-radius: 4px;
}
.p_inquiry-form input[type=checkbox] + label:after {
	top: 0;
	left: 11px;
	width: 7px;
	height: 17px;
	border-right: 3px solid transparent;
	border-bottom: 3px solid transparent;
	transform: rotate(45deg);
	transition: all .3s;
}
.p_inquiry-form input[type=checkbox]:checked + label:after {
	border-color: #005EB8;
}

@media screen and (max-width: 767px) {
	.p_inquiry-form input[type=checkbox] + label {
		margin: 5px 0;
	}
	.p_inquiry-form input[type=checkbox] + label:before {
		top: 1px;
	}
	.p_inquiry-form input[type=checkbox] + label:after {
		top: -2px;
	}
}

/*  textarea  */

.p_inquiry-form textarea {
	overflow: auto;
	resize: none;
	height: 220px;
}
.p_inquiry-form textarea::-webkit-scrollbar {
    width: 3px;
}
.p_inquiry-form textarea::-webkit-scrollbar-thumb {
	background: #999;
}
.p_inquiry-form textarea::-webkit-scrollbar-track {
	background: #d9dcdf;
}

@media screen and (max-width: 767px) {
	.p_inquiry-form textarea {
		height: 150px;
	}
}

/*  privacy  */

.p_inquiry-form .privacy table {
	width: auto;
	margin: 0;
}
.p_inquiry-form .privacy input[type=checkbox] + label {
	margin: 0 30px 0 0;
}
.p_inquiry-form .privacy a {
	color: #000;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.p_inquiry-form .privacy td {
		display: block;
		margin-top: 10px;
	}
}

/*  button  */

.p_inquiry-form .forTdCellCenter {
	padding-top: 70px;
}
.p_inquiry-form .forTdCellCenter input {
	display: block;
	width: 200px;
	margin: 0 auto;
	padding: 12px 30px;
	background: url(../img/arrow_submit-r.png) no-repeat calc(100% - 20px) center #005EB8;
	color: #fff;
	border-radius: 25px;
	font-size: 14px;
	cursor: pointer;
	transition: all .3s;
}
@media (min-width: 768px) {
	.p_inquiry-form .forTdCellCenter input:hover {
		opacity: .6;	
	}
}
.p_inquiry-form .forTdCellCenter input.pbQueryCancel {
	margin-top: 20px;
	background: url(../img/arrow_submit-l.png) no-repeat 20px center #BEBEBE;
}


@media screen and (max-width: 767px) {
	.p_inquiry-form .forTdCellCenter {
		padding-top: 40px;
	}
	.p_inquiry-form .forTdCellCenter input {
		padding: 8px 30px;
	}
}

/*  privacy
------------------------------------------------*/

.p_inquiry-privacy .box {
	overflow: auto;
	height: 314px;
	margin-top: 60px;
	padding: 30px;
	background: #F8F8F8;
}
.p_inquiry-privacy .box::-webkit-scrollbar {
    width: 3px;
}
.p_inquiry-privacy .box::-webkit-scrollbar-thumb {
	background: #999;
}
.p_inquiry-privacy .box::-webkit-scrollbar-track {
	background: #d9dcdf;
}
.p_inquiry-privacy h3:not(:first-child) {
	margin-top: 40px;
}
.p_inquiry-privacy h3 {
	margin-bottom: 15px;
	font-size: 20px;
	line-height: 1.5;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.p_inquiry-privacy .box {
		height: 200px;
		margin-top: 20px;
		padding: 20px;
	}
	.p_inquiry-privacy h3:not(:first-child) {
		margin-top: 20px;
	}
	.p_inquiry-privacy h3 {
		margin-bottom: 10px;
		font-size: 16px;
	}
}

/*  sitemap
========================================================================*/

.c_panel.sitemap {
	margin-top: 80px;
}
.pbPage:not(.edit) .c_heading.animation .c_panel {
	animation: fade-in .8s ease-in-out 0s forwards;
}
.c_panel.sitemap .title:not(:first-child) {
	margin-top: 60px;
}
.c_panel.sitemap .title + div {
	margin-top: 20px;
}
.c_panel.sitemap .title > div {
	padding-bottom: 15px;
	color: #005EB8;
	font-size: 20px;
	border-bottom: 1px solid #c3c3c3;
}
.c_panel.sitemap .title a {
	position: relative;
	display: block;
	padding: 0 20px 0 0;
}
.c_panel.sitemap .title a:before {
	display: none;
}
.c_panel.sitemap .title a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: auto;
	right: 5px;
	width: 7px;
	height: 7px;
	border-width: 1px;
	border-color: #005EB8;
	transition: all .3s;
}
.c_panel.sitemap .pbBlockMenu:not(:first-child) {
	margin-top: 5px;
}
.c_panel.sitemap .pbBlockMenu a {
	position: relative;
	display: inline-block;
	padding-right: 25px;
	font-size: 16px;
	text-decoration: none;
}
.c_panel.sitemap .pbBlockMenu a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 5px;
	width: 7px;
	height: 7px;
	border-bottom: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(-45deg);
	transition: all .3s;
}
@media (min-width: 768px) {
	.c_panel.sitemap .title a:hover:after,
	.c_panel.sitemap .pbBlockMenu a:hover:after {
		right: 0;
	}
}

@media screen and (max-width: 767px) {
	.c_panel.sitemap {
		margin-top: 40px;
	}
	.c_panel.sitemap > div {
		max-width: none;
	}
	.c_panel.sitemap .title:not(:first-child) {
		margin-top: 40px;
	}
	.c_panel.sitemap .title + div {
		margin-top: 15px;
	}
	.c_panel.sitemap .title > div {
		font-size: 18px;
	}
}

/*  search
========================================================================*/

.pbBlockSearchResult {
	margin-top: 50px;
}
div.publisSearchResultFormInner {
	overflow: hidden!important;
	position: relative;
}
.publisSearchResultFormText {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: calc(100% - 100px);
	float: left;
	left: 0;
	padding: 11px 20px;
	background: #F2F2F2;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	border-radius: 0;
	border: none;
	line-height: 1.8;
}
.publisSearchResultFormText:-webkit-autofill {
	box-shadow: 0 0 0 1000px #F2F2F2 inset;
}
.publisSearchResultFormButton {
	position: absolute;
	top: 5px;
	right: 0;
	width: 83px;
	height: 40px;
	opacity: 0;
}
.publisSearchResultFormInner:after {
	content: 'Search';
	position: absolute;
	top: 5px;
	right: 0;
	width: 83px;
	background: #005EB8;
	color: #fff;
	font-size: 14px;
	line-height: 40px;
	text-align: center;
	border-radius: 20px;
	pointer-events: none;
}
.publisSearchResultRangeAll,
.publisSearchResultExtCategory {
	display: none;
}
.publisSearchResultSeparator {
	margin: 0!important;
}
.publisSearchResultPager {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%!important;
	margin-top: 30px;
}
.publisSearchResultPager a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	background: #F2F2F2;
	text-decoration: none;
	border-radius: 50%;
}
@media (min-width: 768px) {
	.publisSearchResultPager a:hover {
		background: #E4EAEF;
	}
}
.publisSearchResultPager a:not(:first-child) {
	display: none;
}
.publisSearchResultPagerInfo {
	opacity: 0;
	width: calc(100% - 100px)!important;
	animation: search-text 0s ease-in-out .2s forwards;
}
@keyframes search-text {
	0% {opacity: 0;}
	99% {opacity: 0;}
	100% {opacity: 1;}
}
.publisSearchResultPagerPrev,
.publisSearchResultPagerNext {
	width: 40px!important;
	min-height: 1px;
}
.publisSearchResultList {
	margin: 30px 0;
}
.publisSearchResultNotFound {
	display: none;
}
.publisSearchResultItemTitle {
	position: relative;
	display: flex;
	float: none!important;
	padding-top: 15px;
}
.publisSearchResultItemTitle:first-child {
	border-top: 1px solid #ccc;
}
.publisSearchResultItemTitle a {
	display: inline-block;
	font-weight: 500;
	text-decoration: none;
}
.publisSearchResultItemTitle a:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}
.publisSearchResultItemTitle a:after {
	content: '';
	display: inline-block;
	margin: 0 10px 2px;
	width: 7px;
	height: 7px;
	border-bottom: 1px solid #005EB8;
	border-right: 1px solid #005EB8;
	transform: rotate(-45deg);
	transition: all .3s;
}
@media (min-width: 768px) {
	.publisSearchResultItemTitle a:hover:after {
		transform: translateX(5px) rotate(-45deg);
	}
}
.publisSearchResultItemTitle span {
	display: none;
}
.publisSearchResultItemText {
	float: none!important;
	margin: 0!important;
	padding: 5px 0 15px;
	color: #999;
	border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
	.publisSearchResultFormText {
		width: calc(100% - 80px);
		padding: 8px 15px;
	}
	.publisSearchResultFormButton,
	.publisSearchResultFormInner:after {
		top: 3px;
		width: 70px;
	}
}

/*  pbBlockSearch
------------------------------------------------*/

div.pbBlockSearch {
	position: relative;
	overflow: hidden!important;
	margin-top: 20px;
}
.pbBlockSearch:after {
	content: 'Search';
	position: absolute;
	top: 5px;
	right: 0;
	width: 83px;
	background: #005EB8;
	color: #fff;
	font-size: 14px;
	line-height: 40px;
	text-align: center;
	border-radius: 20px;
	pointer-events: none;
}
.pbBlockSearch form > div {
	display: none;
}
.pbBlockSearch input[type="text"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: calc(100% - 100px);
	float: left;
	left: 0;
	padding: 11px 20px;
	background: #F2F2F2;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	border-radius: 0;
	border: none;
	line-height: 1.8;
}
.pbBlockSearch input[type="text"]:-webkit-autofill {
	box-shadow: 0 0 0 1000px white inset;
}
.pbBlockSearch input[type="submit"] {
	position: absolute;
	top: 5px;
	right: 0;
	width: 83px;
	height: 40px;
	opacity: 0;
	cursor: pointer;
}

@media screen and (max-width: 767px) {
	.pbBlockSearch input[type="text"] {
		width: calc(100% - 80px);
		padding: 8px 15px;
	}
	.pbBlockSearch:after,
	.pbBlockSearch input[type="submit"] {
		top: 3px;
		width: 70px;
	}
}


.c_p-category .date {
    line-height: 24px;
    width: 80px;
}
.c_p-category .tag  {
    width: calc(100% - 80px);
}
.c_p-category .tag li {
    display: inline-block;
    padding: 7px 14px;
    background: #F2F2F2;
    border-radius: 15px;
    margin: 0 4px;
    margin-bottom: 4px;
}
.c_p-category .tag ul {
    display: flex;
    flex-wrap: wrap;
    margin: -3px;
    font-size: 12px;
    line-height: 1;
}

@media screen and (max-width: 1200px){
.h_nav {
    display: block;
}
.h_nav .list{
   display: none;
}
.h_nav .lang{
    position: absolute;
    right: 70px;
    top: 13px;
}
.header .sp-menu{
   position: absolute;
}
}

/*  SPPC
------------------------------------------------*/
.h_nav .lang.pc-on{
display: block;
}
.h_nav .lang.sp-on{
display: none;
}
@media only screen and (max-width: 768px) {
.h_nav .lang.pc-on{
display: none;
}
.h_nav .lang.sp-on{
display: block;
}
}

/*  動画のレスポンシブ
------------------------------------------------*/
.responsive-iframe {
        position: relative;
        width: 100%;
        height: 0;
        padding-bottom: 56.25%; /* 16:9 ratio */
}
.responsive-iframe iframe {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        border: 0;
}

/*  button font free
========================================================================*/

.c_button_fontfree:not(:first-child) {
	margin-top: 30px;
}
.c_button_fontfree a {
	position: relative;
	display: inline-block;
	width: 200px;
	max-width: 100%;
	padding: 0 30px; /* Remove vertical padding to use line-height for centering */
	background: #005EB8;
	color: #fff;
	text-align: center;
	text-decoration: none;
	border-radius: 25px;
	font-size: inherit; /* Font size is flexible */
	line-height: 50px; /* Set line-height to button height for vertical centering */
	height: 50px; /* Fixed height for the button */
}
.c_button_fontfree a:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	width: 5px;
	height: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	transition: all .3s;
}
@media (min-width: 768px) {
	.c_button_fontfree a:hover {
		opacity: .6;		
	}
}

@media screen and (max-width: 767px) {
	.c_button_fontfree:not(:first-child) {
		margin-top: 20px;
	}
	.c_button_fontfree a {
		padding: 0 30px; /* Remove vertical padding to use line-height for centering */
		line-height: 40px; /* Adjust line-height to button height for vertical centering */
		height: 40px; /* Adjusted fixed height for smaller screens */
	}
}

/*  disabled 
------------------------------------------------*/

.c_button_fontfree.disabled a {
	background: #BEBEBE;
}
.pbPage:not(.edit) .c_button_fontfree.disabled a {
	pointer-events: none;
}

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

.c_button_fontfree.red a {
	background: #A50000;
}

/*  prev
------------------------------------------------*/

.c_button_fontfree.prev a:after {
	right: auto;
	left: 20px;
	transform: rotate(225deg);
}

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

.c_button_fontfree.large:not(:first-child) {
	margin-top: 50px;
}
.c_button_fontfree.large a {
	width: 330px;
	padding: 0 35px; /* Remove vertical padding to use line-height for centering */
	border-radius: 35px;
	font-size: inherit; /* Font size is flexible */
	line-height: 70px; /* Set line-height to button height for vertical centering */
	height: 70px; /* Fixed height for the large button */
}
.c_button_fontfree.large a:after {
	width: 8px;
	height: 8px;
}

@media screen and (max-width: 767px) {
	.c_button_fontfree.large:not(:first-child) {
		margin-top: 30px;
	}
	.c_button_fontfree.large a {
		font-size: inherit; /* Font size is flexible */
		line-height: 60px; /* Adjust line-height to button height for vertical centering */
		height: 60px; /* Adjusted fixed height for smaller screens */
	}
}

/*  buttonset
========================================================================*/

.c_button_fontfree_set:not(:first-child) {
	margin-top: 30px;
}
.c_button_fontfree_set > div {
	display: flex;
	justify-content: center;
}
.c_button_fontfree_set .box {
	margin: 0 25px;
}

@media screen and (max-width: 767px) {
	.c_button_fontfree_set:not(:first-child) {
		margin-top: 20px;
	}
	.c_button_fontfree_set > div {
		flex-flow: column;
	}
	.c_button_fontfree_set .box {
		width: 100%;
		text-align: center;
		margin: 0;
	}
	.c_button_fontfree_set .box:not(:first-child) {
		margin-top: 10px;
	}
}

.top-bland-movie{
  width: calc(100% - 100px);
  max-width: 1000px;
  margin: 0 auto;
  padding: 0;
}

/*  PCSP切り替え用
========================================================================*/

/* スマホ用のスタイル */
.sp_only {
	display: none; /* デフォルトでは非表示 */
}

/* PC表示用のスタイル */
.pc_only {
	display: block; /* デフォルトでは表示 */
}

/* スクリーン幅が767px以下の場合のスタイル（スマホ表示用） */
@media screen and (max-width: 767px) {
	.sp_only {
		display: block; /* スマホ表示ではこの要素を表示 */
	}
	.pc_only {
		display: none; /* スマホ表示ではPC版を非表示 */
	}
}



