﻿@charset "utf-8";
:root {
  --color-primary: #114063;
  /*--color-secondary: #009f9d;*/
  --color-text-link: #0092FF;
  --bgcolor-primary: #114063;
  --bgcolor-blue: #DFE8EB;
  
}
/* reset style */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
ul,
li,
dl,
dd {
  margin: 0;
}

ul[role="list"],
ol[role="list"] {
  list-style: none;
	padding: 0;
}
html {
	scroll-behavior: smooth;
}

body {
	position: relative;
	min-height: 100vh;
	font-family: "M PLUS 1", sans-serif;
	font-weight: 500;
 	text-rendering: optimizeSpeed;
	font-size: 0.875rem;
	line-height: 1.5;
}
@media only screen and (min-width: 768px) {
	body {
		font-size: 1rem;
		overflow-x: hidden;
	}
}
a {
	color: var(--color-text-link);
	text-decoration: underline;
}
@media only screen and (min-width: 768px) {
	a:hover {
		text-decoration: none;
	}
}
a:not([class]) {
  text-decoration-skip-ink: auto;
}
a.js-mfp-iframe {
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) {
	a.js-mfp-iframe:hover {
		opacity: 0.75;
	}
}
a[target="_blank"]:after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 15px;
	margin: auto 5px;
	background: url("../imgs/common/ico_text_blank.svg") no-repeat center / cover;
}
@media only screen and (min-width: 768px) {
	a[target="_blank"]:after {
		width: 16px;
		height: 15px;
	}
}
a.m-link-no-icon[target="_blank"]:after {
	content: none;
}
img {
  max-width: 100%;
  display: block;
}
img:not([src$=".svg"]),
picture:not([src$=".svg"]) {
  max-width: 100%;
  display: block;
  border-radius: 16px;
}

input,
button,
textarea,
select {
  font: inherit;
}
button {
	border: none;
	background: none;
	padding: 0;
}
@media only screen and (min-width: 768px) {
	button {
		cursor: pointer;
	}
}
@media(prefers-reduced-motion:reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* フォントサイズ早見表
10px	0.625rem
12px	0.75rem
14px	0.875rem
16px	1rem
18px	1.125rem
20px	1.25rem
22px	1.375rem
24px	1.5rem
26px	1.625rem
28px	1.75rem
30px	1.875rem
32px	2rem
34px	2.125rem
36px	2.25rem
38px	2.375rem
40px	2.5rem
42px	2.625rem
44px	2.75rem
46px	2.875rem
48px	3rem
50px	3.125rem
60px	3.75rem
70px	4.375rem
80px	5rem
90px	5.625rem
100px	6.25rem */



/* header style */
.b-header {
	position: sticky;
	z-index: 101;
	display: grid;
	grid-template-rows: 38px 64px;
	grid-template-columns: 50% 1fr;
	background: #fff;
	border-bottom: 1px solid rgba(0 0 0 / 0.05);
	transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) {
	.b-header {
		grid-template-rows: 50px 60px;
		grid-template-columns: 143px 1fr;
	}
}
@media only screen and (min-width: 1440px) {
	.b-header {
		grid-template-columns: 431px 1fr;
	}
}
.top .b-header {
	border-bottom: none;
}
.e-haeder-sub-nav {
	display: flex;
	align-items: center;
	grid-row: 1 / 2;
	grid-column: 1 / 3;
	padding: 7px 0;
	background: var(--color-primary);
}
@media only screen and (min-width: 768px) {
	.e-haeder-sub-nav {
		grid-row: 1 / 2;
		grid-column: 2 / 3;
		justify-self: end;
        width: 100%;
		max-width: 504px;
		border-bottom-left-radius: 20px;
	}
}
.e-haeder-sub-nav-item {
	position: relative;
	width: 50%;
}
.e-haeder-sub-nav-item:not(:first-child):before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: 1px;
	height: 20px;
	background: #fff;
}
.e-haeder-sub-nav-item .m-link {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: bold;
	font-size: 0.8125rem;
	text-decoration: none;
}
@media only screen and (min-width: 768px) {
	.e-haeder-sub-nav-item .m-link {
		font-size: 0.75rem;
	}
}
@media only screen and (min-width: 1040px) {
	.e-haeder-sub-nav-item .m-link {
		font-size: 1rem;
	}
}
.e-haeder-sub-nav-item .m-link:before {
	content: "";
	display: block;
	margin-right: 7px;
}
@media only screen and (min-width: 768px) {
	.e-haeder-sub-nav-item .m-link:before {
		margin-top: 2px;
	}
}
.e-haeder-sub-nav-item.m-download .m-link:before {
	width: 24px;
	height: 24px;
	background: url("../imgs/common/ico_header_download.svg") no-repeat center / cover;
}
.e-haeder-sub-nav-item.m-contact .m-link:before {
	width: 18px;
	height: 18px;
 	background: url("../imgs/common/ico_header_contact.svg") no-repeat center / cover;
}
@media only screen and (min-width: 768px) {
	.e-haeder-sub-nav-item.m-contact .m-link:before {
		width: 24px;
		height: 24px;
	}
}
.b-haeder-title {
	display: flex;
	align-items: center;
	grid-row: 2 / 3;
	grid-column: 1 / 2;
	padding: 14px 16px;
}
@media only screen and (min-width: 768px) {
	.b-haeder-title {
		flex-wrap: wrap;
		grid-row: 1 / 3;
		grid-column: 1 / 2;
		padding-right: 0;
	}
}
.e-haeder-title {
	max-width: 143px;
}
@media only screen and (min-width: 1440px) {
	.e-haeder-title {
		max-width: 223px;
	}
}
.e-haeder-lead {
	display: none;
}
@media only screen and (min-width: 1441px) {
	.e-haeder-lead {
		display: block;
		font-size: 0.75rem;
	}
}
.b-haeder-nav {
	display: flex;
	align-items: center;
	justify-content: end;
	grid-row: 2 / 3;
	grid-column: 2 / 3;
	padding: 14px 16px;
}
@media only screen and (min-width: 768px) {
	.b-haeder-nav {
		padding: 14px 5px;
	}
}
@media only screen and (min-width: 1440px) {
	.b-haeder-nav {
		padding: 14px 16px;
	}
}
.b-haeder-nav-hamburger {
	position: relative;
	width: 17px;
	height: 14px;
}
@media only screen and (min-width: 768px) {
	.b-haeder-nav-hamburger {
		display: none;
	}
}
.e-haeder-nav-hamburger {
	position: absolute;
	left: 0;
	right: 0;
	display: block;
	height: 2px;
	width: 100%;
	margin: 0 auto;
	background: #0092ff;
	transition: all 0.3s ease-in-out;
}
.e-haeder-nav-hamburger:nth-child(1) {
	top: 0;
}
.b-haeder-nav-hamburger.js-open .e-haeder-nav-hamburger:nth-child(1) {
	top: 50%;
	transform: rotate(45deg);
}
.e-haeder-nav-hamburger:nth-child(2) {
	top: 25%;
}
.b-haeder-nav-hamburger.js-open .e-haeder-nav-hamburger:nth-child(2) {
	width: 0;
}
.e-haeder-nav-hamburger:nth-child(3) {
	bottom: 25%;
	transform: translateY(-1px);
}
.b-haeder-nav-hamburger.js-open .e-haeder-nav-hamburger:nth-child(3) {
	width: 0;
}
.e-haeder-nav-hamburger:nth-child(4) {
	bottom: 0;
}
.b-haeder-nav-hamburger.js-open .e-haeder-nav-hamburger:nth-child(4) {
	top: 50%;
	transform: rotate(-45deg);
}
.e-haeder-nav {
	position: absolute;
	top: 100%;
	left: 0;
	display: none;
	width: 100%;
	background: var(--color-primary);
	margin-top: 0;
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav {
		position: static;
		display: flex!important;
		width: auto;
		background: none;
	}
}
.e-haeder-nav-item {
	margin: 0;
}
@media only screen and (min-width: 1600px) {
	.e-haeder-nav-item:not(:last-child) {
		margin-right: 42px;
	}
}
.m-haeder-nav-item-link {
	color: #000;
	text-decoration: none;
}
.m-haeder-nav-item-link:hover,
.m-haeder-nav-item-link:active {
	text-decoration: underline;
}
.e-haeder-nav-item-title {
	position: relative;
	display: block;
	font-size: 1rem;
	text-align: left;
	text-decoration: none;
	color: #FFF;
	width: 100%;
	border-bottom: 1px solid #FFF;
	padding: 14px;
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-item-title {
		display: flex;
		align-items: center;
		cursor: pointer;
		color: #000;
		font-size: 0.75rem;
		padding: 14px 2px;
	}
}
@media only screen and (min-width: 1070px) {
	.e-haeder-nav-item-title {
		font-size: 1rem;
		padding: 14px;
	}
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-item-title:after {
		content: "";
		width: 18px;
		height: 18px;
		margin-left: 5px;
		background: url("../imgs/common/ico_nav_arrow.svg") no-repeat center / cover;
	}
}
@media only screen and (min-width: 1440px) {
	.e-haeder-nav-item-title:after {
		width: 24px;
		height: 24px;
	}
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-item-title.js-open:after {
		transform: rotate(180deg);
	}
}
.e-haeder-nav-item-title.m-link:after {
	content:url("../imgs/common/ico_header_nav_link.svg");
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 14px;
	width: 20px;
	height: 20px;
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-item-title.m-link:after {
		content: none;
	}
}
.e-haeder-nav-item-title .m-icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 14px;
	display: block;
	width: 20px;
	height: 20px;
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-item-title .m-icon {
		display: none;
	}
}
.e-haeder-nav-item-title .m-icon:before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	height: 2px;
	width: 100%;
	background: #FFF;
}
.e-haeder-nav-item-title .m-icon:after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	display: block;
	height: 100%;
	width: 2px;
	margin: 0 auto;
	background: #FFF;
	transition: all 0.3s ease-in-out;
}
.e-haeder-nav-item-title.js-open .m-icon:after {
	height: 0;
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-title {
		display: flex;
		align-items: center;
		width: 30%;
	}
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-title:after {
		content: "";
		display: block;
		width: 20px;
		height: 17px;
		margin-left: 20px;
		background: url("../imgs/common/ico_header_nav_link.svg") no-repeat center / cover;
		transition: all 0.3s ease-in-out;
	}
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-title:hover:after {
		margin-left: 35px;
	}
}
.e-haeder-nav-menu-title a,
.e-haeder-nav-menu-content-list-item a {
	position: relative;
	display: block;
	color: #FFF;
	font-size: 0.875rem;
	text-decoration: none;
	border-bottom: 1px solid #FFF;
	padding: 14px;
	padding-left: 28px;
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-title a {
		font-size: 1.5rem;
		border-bottom: none;
		padding: 0;
	}
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-content-list-item a {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		font-size: 1.125rem;
		padding: 21px 0;
	}
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-content-list-item:first-child a {
		border-top: 1px solid #FFF;
	}
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-content-list-item a:after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 20px;
		display: block;
		width: 20px;
		height: 17px;
		background: url("../imgs/common/ico_header_nav_link.svg") no-repeat center / cover;
		transition: all 0.3s ease-in-out;
	}
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-content-list-item a:hover:after {
		right: 5px;
	}
}
.e-haeder-nav-menu-icon {
	display: none;
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-icon {
		display: block;
		width: 48px;
		height: 48px;
		margin-right: 20px;
	}
}
@media only screen and (min-width: 768px) {
	.b-haeder-nav-menu-icon-content {
		width: calc(100% - 68px);
	}
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-content-list-item a small {
		display: block;
		width: 100%;
		font-size: 1rem;
		font-weight: 400;
	}
}
@media only screen and (min-width: 768px) {
	.b-haeder-nav-menu-content {
		width: 70%;
	}
}
@media only screen and (min-width: 768px) {
	.e-haeder-nav-menu-content-lead{
		color: #FFF;
		margin-bottom: 20px;
	}
}
.b-haeder-nav-menu {
	display: none;
}
@media only screen and (min-width: 768px) {
	.b-haeder-nav-menu {
		position: absolute;
		width: 100%;
		top: 100%;
		left: 0;
		background-color: var(--color-primary);
	}
}
@media only screen and (min-width: 768px) {
	.b-haeder-nav-menu-wrap {
		display: flex;
		align-items: center;
		width: 100%;
		max-width: 1210px;
		margin: 0 auto;
		padding: 65px 30px 65px;
	}
}

/* footer style */
.b-footer {
	position: relative;
	z-index: 2;
	background: var(--color-primary);
	padding: 40px 24px 20px;
}
.b-footer .m-link {
	color: #fff;
	text-decoration: none;
}
@media only screen and (min-width: 768px) {
	.b-footer-nav {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		max-width: 1150px;
		margin: 0 auto;
	}
}
@media only screen and (min-width: 1250px) {
	.b-footer-nav {
		flex-wrap: nowrap;
	}
}
@media only screen and (min-width: 768px) {
	.b-footer-nav-item {
		width: calc(100% / 3);
	}
	.b-footer-nav-item:nth-child(n+4) {
		margin-top: 80px;
	}
}
@media only screen and (min-width: 1250px) {
	.b-footer-nav-item {
		width: auto;
		min-width: 190px;
	}
	.b-footer-nav-item:nth-child(n+4) {
		margin-top: 0;
	}
}
.e-footer-nav-title,
.e-footer-nav-title-single {
	position: relative;
	border-top: 1px solid #fff;
	margin-top: 0;
}
@media only screen and (min-width: 768px) {
	.e-footer-nav-title,
	.e-footer-nav-title-single {
		border-top: none;
	}
}
.b-footer-nav-item:first-child .e-footer-nav-title,
.b-footer-nav-item:first-child .e-footer-nav-title-single {
	border-top: none;
}
.e-footer-nav-title .m-link,
.e-footer-nav-title-single .m-link {
	display: block;
	padding: 10px 0;
	font-weight: bold;
}
@media only screen and (min-width: 768px) {
	.e-footer-nav-title .m-link,
	.e-footer-nav-title-single .m-link {
		padding: 5px 0;
	}
}
.e-footer-nav-title .m-icon {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: 32px;
	height: 40px;
	cursor: pointer;
}
@media only screen and (min-width: 768px) {
	.e-footer-nav-title .m-icon {
		display: none;
	}
}
.e-footer-nav-title .m-icon:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	display: block;
	width: 12px;
	height: 2px;
	background: #fff;
}
.e-footer-nav-title .m-icon:after {
	content: "";
	position: absolute;
	top: 50%;
	right: calc(10px + 5px);
	transform: translateY(-50%);
	display: block;
	width: 2px;
	height: 12px;
	background: #fff;
	transition: all 0.3s ease-in-out;
}
.e-footer-nav-title .m-icon.js-open:after {
	height: 0;
}
.e-footer-nav-title-single .m-link.m-sns {
	display: flex;
	justify-content: space-between;
}
@media only screen and (min-width: 768px) {
	.e-footer-nav-title-single .m-link.m-sns {
		display: block;
		margin-top: 1em;
	}
}
.e-footer-nav-title-single .m-sns:after {
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	margin: 0;
	background: url("../imgs/common/ico_footer_youtube.svg") no-repeat center / cover;
}
.e-footer-nav-menu {
	display: none;
}
@media only screen and (min-width: 768px) {
	.e-footer-nav-menu {
		display: block!important;
		line-height: 1.86;
		font-size: 0.875rem;
	}
}
.e-footer-nav-menu-item .m-link {
	display: block;
	padding: 10px;
	padding-left: 1em;
	border-top: 1px solid #FFF;
}
@media only screen and (min-width: 768px) {
	.e-footer-nav-menu-item .m-link {
			padding: 0;
			border-top: none;
	}
}
@media only screen and (min-width: 768px) {
	.e-footer-nav-menu.m-events {
		display: none;
	}
}
.e-copyright {
	display: block;
	text-align: center;
	color: #fff;
	margin-top: 50px;
}
@media only screen and (min-width: 768px) {
	.e-copyright {
			margin-top: 100px;
	}
}

/* main content style */
.b-main-wrapper {
	position: relative;
	z-index: 1;
	padding: 0 25px;
}
@media only screen and (min-width: 768px) {
	.b-main-wrapper {
		max-width: 1200px;
		margin: 0 auto;
	}
}
.b-main-wrapper:before {
	content: "";
	position: absolute;
	top: -87px;
	left: -136px;
	display: block;
	width: 320px;
	height: 320px;
	background: url("../imgs/common/bg_main_top_sp.svg") no-repeat center center;
}
@media only screen and (min-width: 768px) {
	.b-main-wrapper:before {
		top: -307px;
		left: -437px;
		width: 924px;
		height: 924px;
		background: url("../imgs/common/bg_main_top_pc.svg") no-repeat center center;
	}
}
.b-main {
	position: relative;
	padding: 16px 0 0;
}
.b-main:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	display: block;
	height: 100%;
	width: 1px;
	background: rgba(0 0 0 / 0.05);
}
.e-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
}
.e-breadcrumbs-item {
	display: flex;
}
.e-breadcrumbs-item:not(:last-child):after {
	content: url("../imgs/common/ico_breadcrumbs.svg");
	margin: 0 10px;
}
.e-breadcrumbs-item .m-link {
	color: #000;
	text-decoration: none;
}
.e-breadcrumbs-item .m-link:active {
	color: var(--color-primary);
	text-decoration: underline;
}
@media only screen and (min-width: 768px) {
	.e-breadcrumbs-item .m-link:hover {
		color: var(--color-primary);
		text-decoration: underline;
	}
}
.e-first-title {
	position: relative;
	font-size: 1.5rem;
	line-height: 1.1;
	color: var(--color-primary);
	margin-top: 35px;
}
@media only screen and (min-width: 768px) {
	.e-first-title {
		font-size: 3rem;
		margin-top: 115px;
	}
}
.e-first-title:before {
	content: "";
	position: absolute;
	left: -25px;
	display: block;
	height: 1px;
	width: calc(100% + 50px);
	background: rgba(0 0 0 / 0.05);
}
@media only screen and (min-width: 768px) {
	.e-first-title:before {
		left: -25px;
		width: 100vw;
	}
}
@media only screen and (min-width: 1025px) {
	.e-first-title:before {
		left: -375px;
		width: 200vw;
	}
}
.b-contents {
	margin-top: 25px;
}
@media only screen and (min-width: 768px) {
	.b-contents {
		margin-top: 95px;
	}
}
.b-contents > *:first-child {
	margin-top: 0;
}
.b-pagetop-button img {
	border-radius: 0;
}
.b-pagetop-button {
	position: relative;
}
.e-pagetop-button {
	position: absolute;
	z-index: 100;
	right: 0;
	bottom: 0;
	display: flex;
	width: 48px;
	height: 48px;
	background: var(--color-primary);
}
@media only screen and (min-width: 768px) {
	.e-pagetop-button {
		width: 64px;
		height: 64px;
	}
}
.m-pagetop-button {
	display: block;
	width: 100%;
}
.m-pagetop-button img {
	margin: 0 auto;
	transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) {
	.m-pagetop-button:hover img {
		transform: translateY(-6px);
	}
}


/* エディタ用 style */
h2 {
	margin-top: 40px;
	margin-bottom: 25px;
	padding-left: 5px;
	line-height: 1;
	font-size: 1.25rem;
	color: var(--color-primary);
	border-left: 3px solid var(--color-primary);
}
@media only screen and (min-width: 768px) {
	h2 {
		margin-top: 130px;
		padding-left: 15px;
		font-size: 2.25rem;
		border-left: 6px solid var(--color-primary);
	}
}
h2 + * {
	margin-top: 30px;
}
h3 {
	font-size: 1.25rem;
	margin-bottom: 25px;
}
@media only screen and (min-width: 768px) {
	h3 {
		font-size: 1.875rem;
	}
}
h3:not(:first-child) {
	margin-top: 40px;
}
@media only screen and (min-width: 768px) {
	h3:not(:first-child) {
		margin-top: 130px;
	}
}
h4 {
	color: var(--color-primary);
	font-size: 1rem;
	font-weight: bold;
}
@media only screen and (min-width: 768px) {
	h4 {
		font-size: 1.5rem;
	}
}
* + p {
	margin-top: 1em;
}
table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 1em;
}
* + table {
	margin-top: 50px;
}
th,
td {
	text-align: left;
	font-size: 0.875rem;
	border-top: 1px solid color-mix(in srgb, var(--color-primary) 50%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 50%, transparent);
	padding: 16px 0;
	padding-right: 25px;
}
@media only screen and (min-width: 768px) {
	th,
	td {
		font-size: 1rem;
	}
}
th {
	color: #999;
	min-width: 98px;
}
@media only screen and (min-width: 768px) {
	th {
		width: 310px;
	}
}
@media only screen and (min-width: 768px) {
	td {
		width: calc(100% - 310px);
	}
}
.m-table-width-5 {
	width: 5%;
}
.m-table-width-10 {
	width: 10%;
}
.m-table-width-15 {
	width: 15%;
}
.m-table-width-20 {
	width: 20%;
}
.m-table-width-25 {
	width: 25%;
}
.m-table-width-30 {
	width: 30%;
}
.m-table-width-35 {
	width: 35%;
}
.m-table-width-40 {
	width: 40%;
}
.m-table-width-45 {
	width: 45%;
}
.m-table-width-50 {
	width: 50%;
}
.m-table-width-55 {
	width: 55%;
}
.m-table-width-60 {
	width: 60%;
}
.m-table-width-65 {
	width: 65%;
}
.m-table-width-70 {
	width: 70%;
}
.m-table-width-75 {
	width: 75%;
}
.m-table-width-80 {
	width: 80%;
}
.m-table-width-85 {
	width: 85%;
}
.m-table-width-90 {
	width: 90%;
}
.m-table-width-95 {
	width: 95%;
}
.b-table-scroll {
	width: 100%;
	overflow-x: scroll;
}
@media only screen and (min-width: 768px) {
	.b-table-scroll {
		overflow-x: auto;
	}
}
* + .b-table-scroll {
	margin-top: 20px;
}
.b-table-scroll table {
	width: 1024px;
}
@media only screen and (min-width: 768px) {
	.b-table-scroll table {
		width: 100%;
	}
}
* + ul,
* + ol {
	margin-top: 1em;
}
ul li::marker {
	color: var(--color-primary);
}
dl {
	padding: 22px 0;
	border-top: 1px solid var(--color-primary);	
}
@media only screen and (min-width: 768px) {
	dl {
		display: flex;
		padding: 25px 0;
	}
}
dl:last-child {
	border-bottom: 1px solid var(--color-primary);	
}
dt {
	color: #999;
	font-weight: bold;
}
@media only screen and (min-width: 768px) {
	dt {
		width: 310px;
	}
}
@media only screen and (min-width: 768px) {
	dd {
		width: calc(100% - 310px);
	}
}
figcaption {
	margin-top: 0.5em;
}

/* ==============================
	エディタ外パーツ style
============================== */
@media only screen and (min-width: 768px) {
	.m-pc-none {
		display: none!important;
	}
}
@media only screen and (max-width: 767px) {
	.m-sp-none {
		display: none!important;
	}
}

/* ページ内アンカーリンク */
.b-anchor-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 60px;
}
@media only screen and (min-width: 768px) {
	.b-anchor-list {
		justify-content: flex-start;
	}
}
.e-anchor-list-item {
	width: calc((100%/2) - (25px/2));
}
@media only screen and (min-width: 768px) {
	.e-anchor-list-item {
		width: calc((100%/4) - (120px/4));
	}
}
@media only screen and (min-width: 768px) {
	.e-anchor-list-item:not(:nth-child(4n+1)) {
		margin-left: 40px;
	}
}
.e-anchor-list-item:nth-child(n+3) {
	margin-top: 10px;
}
@media only screen and (min-width: 768px) {
	.e-anchor-list-item:nth-child(n+3) {
		margin-top: 0;
	}
}
@media only screen and (min-width: 768px) {
	.e-anchor-list-item:nth-child(n+5) {
		margin-top: 10px;
	}
}
.e-anchor-list-item .m-link {
	position: relative;
	display: block;
	padding: 8px 0;
	color: var(--color-primary);
	text-decoration: none;
	border-bottom: 2px solid var(--color-primary);
	background: url("../imgs/common/ico_anchor.svg") no-repeat right 4px center;
	transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) {
	.e-anchor-list-item .m-link:hover {
	background: url("../imgs/common/ico_anchor.svg") no-repeat right 4px top 18px;
	}
}
/* カラムレイアウト */
.b-column {
	margin-top: 30px;
}
@media only screen and (min-width: 768px) {
	.b-column {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
}
.m-column-left {
		justify-content: flex-start;
}
.m-column-center {
		justify-content: center;
}
.m-column-right {
		justify-content: flex-end;
}
@media only screen and (min-width: 768px) {
	.b-column-item {
		margin-top: 150px;
	}
}
* + .b-column-item {
	margin-top: 2.5em;
}
@media only screen and (min-width: 768px) {
	* + .b-column-item {
		margin-top: 150px;
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-5 {
		width: calc(5% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-10 {
		width: calc(10% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-15 {
		width: calc(15% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-20 {
		width: calc(20% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-25 {
		width: calc(25% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-30 {
		width: calc(30% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-35 {
		width: calc(35% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-40 {
		width: calc(40% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-45 {
		width: calc(45% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-50 {
		width: calc((100% / 2) - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-55 {
		width: calc(55% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-60 {
		width: calc(60% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-65 {
		width: calc(65% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-70 {
		width: calc(70% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-75 {
		width: calc(75% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-80 {
		width: calc(80% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-85 {
		width: calc(85% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-90 {
		width: calc(90% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-column-item-width-95 {
		width: calc(95% - (60px / 2));
	}
}
/* ボタンデザイン */
.e-button-link {
	display: inline-flex;
	align-items: center;
	font-size: 1rem;
	color: #fff;
	text-decoration: none;
	background : var(--color-primary);
	padding: 10px 20px 10px 30px;
	border-radius: 16px;
	transition: all 0.3s ease-in-out;
}
.e-button-link:after {
	content: "";
	display: block;
	width: 19.5px;
	height: 16.52px;
	background: url("../imgs/common/ico_button_link.svg") no-repeat center / cover;
	margin-left: 20px;
}
.e-button-link[target="_blank"]:after {
	content: "";
	display: block;
	width: 20px;
	height: 17px;
	background: url("../imgs/common/ico_button_blank.svg") no-repeat center / cover;
	margin-left: 20px;
}
@media only screen and (min-width: 768px) {
	.e-button-link[target="_blank"]:after {
		width: 18px;
		height: 18px;
	}
}
.e-button-link[href$=".pdf"]:after {
	content: "";
	display: block;
	width: 15px;
	height: 20px;
	background: url("../imgs/common/ico_button_pdf.svg") no-repeat center / cover;
}
@media only screen and (min-width: 768px) {
	.e-button-link:hover {
		opacity: 0.85;
	}
}
.m-button-secondary {
	color: #000;
	background: #E2E2E3;
}
.m-button-secondary:after {
	background: url("../imgs/common/ico_secondary_button_link.svg") no-repeat center / cover;
}
.m-button-secondary[target="_blank"]:after {
	background: url("../imgs/common/ico_secondary_button_blank.svg") no-repeat center / cover;
}
.m-button-secondary[href$=".pdf"]:after {
	background: url("../imgs/common/ico_secondary_button_pdf.svg") no-repeat center / cover;
}

.b-button-group {
	margin-top: 20px;
}
@media only screen and (min-width: 768px) {
	.b-button-group {
		display: flex;
		flex-wrap: wrap;
		margin-top: 50px;
	}
}
@media only screen and (min-width: 768px) {
	.m-button-group-left {
		justify-content: flex-start;
	}
}
@media only screen and (min-width: 768px) {
	.m-button-group-center {
		justify-content: center;
	}
}
@media only screen and (min-width: 768px) {
	.m-button-group-right {
		justify-content: flex-end;
	}
}
@media only screen and (min-width: 768px) {
	.b-button-item {
		margin-right: 20px;
	}
}
@media only screen and (min-width: 768px) {
	.b-button-item:only-child {
		margin-right: 0;
	}
}
.b-button-item:not(:first-child) {
	margin-top: 20px;
}
@media only screen and (min-width: 768px) {
	.b-button-item:not(:first-child) {
		margin-top: 0px;
	}
}

/* リストスタイル */
.b-list-number,
ul .b-list-number {
	padding-left: 7px;
	list-style: none;
	counter-reset: number;
}
.b-list-number li,
ul .b-list-number li {
	position: relative;
	padding-left: calc(21px + 0.5em);
}
@media only screen and (min-width: 768px) {
	.b-list-number li,
	ul .b-list-number li {
		padding-left: calc(24px + 0.5em);
	}
}
.b-list-number li:not(:first-child) {
	margin-top: 10px;
}
.b-list-number li:before,
ul .b-list-number li:before {
	position: absolute;
	left: 0;
	display: inline-block;
	width: 21px;
	height: 21px;
	margin-right: 0.5em;
	line-height: 1.5;
	text-indent: 0;
	list-style: none;
	text-align: center;
	counter-increment: number;
	content: counter(number);
	border: none;
	background: #DFE8EA;
	border-radius: 50%;
}
@media only screen and (min-width: 768px) {
	.b-list-number li:before,
	ul .b-list-number li:before {
		width: 24px;
		height: 24px;
	}
}
.b-list-attenstion,
ol .b-list-attenstion {
	padding-left: 7px;
	list-style: none;
}
.b-list-attenstion li,
ol .b-list-attenstion li {
	position: relative;
	padding-left: calc(21px + 0.5em);
}
@media only screen and (min-width: 768px) {
	.b-list-attenstion li,
	ol .b-list-attenstion li {
		padding-left: calc(24px + 0.5em);
	}
}
.b-list-attenstion li:not(:first-child) {
	margin-top: 10px;
}
.b-list-attenstion li:before,
ol .b-list-attenstion li:before {
	position: absolute;
	left: 0;
	display: inline-block;
	width: 21px;
	height: 21px;
	color: #FFF;
	line-height: 1.5;
	list-style: none;
	text-align: center;
	content: "!";
	background: #6D97B6;
	border-radius: 50%;
}
@media only screen and (min-width: 768px) {
	.b-list-attenstion li:before,
	ol .b-list-attenstion li:before {
		width: 24px;
		height: 24px;
	}
}
.b-list-disc,
ol .b-list-disc {
	padding-left: 7px;
	list-style: none;
}
.b-list-disc li,
ol .b-list-disc li {
	position: relative;
	padding-left: calc(21px + 0.5em);
}
@media only screen and (min-width: 768px) {
	.b-list-disc li,
	ol .b-list-disc li {
		padding-left: calc(24px + 0.5em);
	}
}
.b-list-disc li:not(:first-child) {
	margin-top: 10px;
}
.b-list-disc li:before,
ol .b-list-disc li:before {
	position: absolute;
	left: 0;
	display: inline-block;
	width: 21px;
	height: 21px;
	line-height: 1.5;
	list-style: none;
	text-align: center;
	content: "";
	background: #6D97B6;
	border: 4px solid var(--color-primary);
	border-radius: 50%;	
}
@media only screen and (min-width: 768px) {
	.b-list-disc li:before,
	ol .b-list-disc li:before {
		width: 24px;
		height: 24px;
	}
}
/* アコーディオン */
.b-accordion {
	margin-top: 20px;
}
.b-accordion-item {
	background: var(--bgcolor-blue);
	border-radius: 10px;
	padding: 14px;
}
.b-background-width-max .b-accordion-item {
	background: #FFF;
}
.b-accordion-item:not(:first-child) {
	margin-top: 20px;
}
.e-accordion-heading {
	cursor: pointer;
	position: relative;
	list-style: none;
	padding-right: 45px;
}
.e-accordion-heading .e-icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	display: block;
	width: 16px;
	height: 16px;
}
.e-accordion-heading .e-icon:before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	height: 2px;
	width: 100%;
	background: var(--color-primary);
}
.e-accordion-heading .e-icon:after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	height: 100%;
	width: 2px;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: var(--color-primary);
}
.b-accordion-contents[open] .e-accordion-heading .e-icon:after {
	height: 0;
}
/* Q&A */
.b-qanda-list {
	list-style: none;
	counter-reset: qanda;
}
.e-qanda-list-item {
	background: var(--bgcolor-blue);
	border-radius: 10px;
	padding: 14px;
}
.b-background-width-max .e-qanda-list-item {
	background: #FFF;
}
.e-qanda-list-item:not(:first-child) {
	margin-top: 20px;
}
.e-qanda-heading {
	cursor: pointer;
	position: relative;
	list-style: none;
	padding-right: 45px;
}
.e-qanda-heading:before {
	counter-increment: qanda;
	content: "Q"counter(qanda)".";
	display: block;
	color: var(--color-primary);
	font-weight: 700;
}
@media only screen and (min-width: 768px) {
	.e-qanda-heading:before {
		display: inline-block;
		margin-right: 18px;
	}
}
.e-qanda-heading .e-icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	display: block;
	width: 16px;
	height: 16px;
}
.e-qanda-heading .e-icon:before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	height: 2px;
	width: 100%;
	background: var(--color-primary);
}
.e-qanda-heading .e-icon:after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	height: 100%;
	width: 2px;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: var(--color-primary);
}
.b-qanda-contents[open] .e-qanda-heading .e-icon:after {
	height: 0;
}
@media only screen and (min-width: 768px) {
	.e-qanda-text {
		margin-left: 50px;
	}
}
.m-top-button {
	text-align: center;
	margin-top: 20px;
}
@media only screen and (min-width: 768px) {
	.m-top-button {
		text-align: right;
	margin-top: 40px;
	}
}
@media only screen and (min-width: 768px) {
	.b-top-seminar {
		align-items: center;
	}
}
/* ブロック、インライン切り替え */
.m-display-block {
	display: block!important;
}
.m-display-inline {
	display: inline!important;
}

/*  style */
/* margin size */
.m-margin-top-0 {
	margin-top: 0;
}
.m-margin-top-5 {
	margin-top: 5px!important;
}
.m-margin-top-10 {
	margin-top: 10px!important;
}
.m-margin-top-15 {
	margin-top: 15px!important;
}
.m-margin-top-20 {
	margin-top: 20px!important;
}
.m-margin-top-25 {
	margin-top: 25px!important;
}
.m-margin-top-30 {
	margin-top: 30px!important;
}
.m-margin-top-35 {
	margin-top: 35px!important;
}
.m-margin-top-40 {
	margin-top: 40px!important;
}
.m-margin-top-45 {
	margin-top: 45px!important;
}
.m-margin-top-50 {
	margin-top: 50px!important;
}
.m-margin-bottom-0 {
	margin-bottom: 0!important;
}
.m-margin-bottom-5 {
	margin-bottom: 5px!important;
}
.m-margin-bottom-10 {
	margin-bottom: 10px!important;
}
.m-margin-bottom-15 {
	margin-bottom: 15px!important;
}
.m-margin-bottom-20 {
	margin-bottom: 20px!important;
}
.m-margin-bottom-25 {
	margin-bottom: 25px!important;
}
.m-margin-bottom-30 {
	margin-bottom: 30px!important;
}
.m-margin-bottom-35 {
	margin-bottom: 35px!important;
}
.m-margin-bottom-40 {
	margin-bottom: 40px!important;
}
.m-margin-bottom-45 {
	margin-bottom: 45px!important;
}
.m-margin-bottom-50 {
	margin-bottom: 50px!important;
}
.m-margin-left-0 {
	margin-left: 0!important;
}
.m-margin-left-5 {
	margin-left: 5px!important;
}
.m-margin-left-10 {
	margin-left: 10px!important;
}
.m-margin-left-15 {
	margin-left: 15px!important;
}
.m-margin-left-20 {
	margin-left: 20px!important;
}
.m-margin-left-25 {
	margin-left: 25px!important;
}
.m-margin-left-30 {
	margin-left: 30px!important;
}
.m-margin-left-35 {
	margin-left: 35px!important;
}
.m-margin-left-40 {
	margin-left: 40px!important;
}
.m-margin-left-45 {
	margin-left: 45px!important;
}
.m-margin-left-50 {
	margin-left: 50px!important;
}
.m-margin-right-0 {
	margin-right: 0!important;
}
.m-margin-right-5 {
	margin-right: 5px!important;
}
.m-margin-right-10 {
	margin-right: 10px!important;
}
.m-margin-right-15 {
	margin-right: 15px!important;
}
.m-margin-right-20 {
	margin-right: 20px!important;
}
.m-margin-right-25 {
	margin-right: 25px!important;
}
.m-margin-right-30 {
	margin-right: 30px!important;
}
.m-margin-right-35 {
	margin-right: 35px!important;
}
.m-margin-right-40 {
	margin-right: 40px!important;
}
.m-margin-right-45 {
	margin-right: 45px!important;
}
.m-margin-right-50 {
	margin-right: 50px!important;
}
/* text position */
.m-text-left {
	text-align: left;
}
.m-text-center {
	text-align: center;
}
.m-text-right {
	text-align: right;
}
/* font size */
.m-font-xs {
	font-size: 0.625rem;
}
.m-font-sm {
	font-size: 0.75rem;
}
@media only screen and (min-width: 768px) {
	.m-font-sm {
		font-size: 0.875rem;
	}
}
.m-font-md {
	font-size: 1rem;
}
@media only screen and (min-width: 768px) {
	.m-font-md {
		font-size: 1.125rem;
	}
}
.m-font-lg {
	font-size: 1.125rem;
}
.m-font-xl {
	font-size: 1.375rem;
}
@media only screen and (min-width: 768px) {
	.m-font-xl {
		font-size: 1.5rem;
	}
}
.b-movie-wrap {
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-top: 50px;
}
@media only screen and (min-width: 768px) {
	.b-movie-wrap {
		margin-top: 130px;
	}
}
.b-movie-iframe {
	display: block;
	width: 100%;
	height: 100%;
}
.b-background {
	margin-top: 100px;
	padding: 30px 25px 80px;
}
@media only screen and (min-width: 768px) {
	.b-background {
		max-width: 1150px;
		margin: 0 auto;
		margin-top: 180px;
		padding: 65px 0 80px;
	}
}
.b-main .b-background {
	padding: 30px 0 80px;
}
@media only screen and (min-width: 768px) {
	.b-main .b-background {
		max-width: 1200px;
	}
}
.b-background-width-max {
	position: relative;
}
.b-background-width-max-wrap:before {
	content: "";
	position: absolute;
	top: -180px;
	display: block;
	height: calc(100% + 180px);
	width: 1px;
	background: rgba(0 0 0 / 0.05);
}
.b-background-color-blue:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100vw;
	height: 100%;
	background: var(--bgcolor-blue);
}

@media only screen and (min-width: 768px) {
	.b-background-color-blue:before {
		width: 100vw;
		left: -25px;
	}
}
@media only screen and (min-width: 1025px) {
	.b-background-color-blue:before {
		width: 200vw;
		left: calc(-75%);
		margin-right: 25%;
		margin-left: 25%;
	}
}
.b-main .b-background-color-blue:before {
	left: -25px;
}
@media only screen and (min-width: 1025px) {
	.b-main .b-background-color-blue:before {
		left: calc(-75%);
	}
}
@media only screen and (min-width: 768px) {
	.b-top-contact .b-column-item {
		margin-top: 0;
	}
}
.m-background-color-primary:before {
	background: var(--bgcolor-primary);
}
.b-contact-card {
	background: #FFF;
	padding: 14px 14px 16px;
}
@media only screen and (min-width: 768px) {
	.b-contact-card {
		width: calc(50% - (60px / 2));
		height: 100%;
		margin-top: 0;
	}
	.b-contact-card:nth-child(n+3) {
		margin-top: 20px;
	}
}
@media only screen and (min-width: 1025px) {
	.b-contact-card {
		width: calc(25% - (60px / 2));
	}
	.b-contact-card:nth-child(n+3) {
		margin-top: 0;
	}
}
.e-contact-heading {
	text-align: center;
}
.m-contact-heading {
	position: relative;
	display: inline-block;
	font-size: 1.125rem;
	font-weight: 700;
}
.m-contact-heading:after {
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	border-radius: 2px;
	background: var(--color-primary);
}
.e-contact-telephone {
	text-align: center;
	font-size: 1.5rem;
	margin-top: 18px;
}
@media only screen and (min-width: 768px) {
	.e-contact-telephone {
		font-size: 1.2rem;
		height: 3em;
	}
}
@media only screen and (min-width: 1160px) {
	.e-contact-telephone {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		width: 100%;
	}
}
.e-contact-telephone .m-link-tel {
	color: #000;
	text-decoration: none;
}
@media only screen and (min-width: 768px) {
	.e-contact-telephone .m-link-tel {
		pointer-events: none;;
		cursor: auto;
	}
}
.e-contact-name {
	text-align: center;
}
.m-contact-name {
	display: inline-block;
	min-width: 203px;
	background: #E2E2E3;
	line-height: 30px;
	border-radius: 15px;
}
@media only screen and (min-width: 768px) {
	.m-contact-name {
		min-width: auto;
		padding: 0 15px;
	}
}
@media only screen and (min-width: 1200px) {
	.m-contact-name {
		min-width: 203px;
		font-size: 0.875rem;
		padding: 0;
	}
}
.e-contact-address {
	text-align: center;
	font-size: 0.8125rem;
}
.e-top-contact-text .m-link {
	color: #000;
}
@media only screen and (min-width: 768px) {
	.e-top-contact-text {
		text-align: center;
	}
}
.contact-specific-block-module h2 {
	border-left: none;
}
.contact-specific-block-module .b-contact-card {
	border: 3px solid var(--color-primary);
	border-radius: 20px;
}
/* カードレイアウト */
.b-card {
	margin-top: 50px;
}
@media only screen and (min-width: 768px) {
	.b-card {
		display: flex;
		flex-wrap: wrap;
	}
}
.b-card-item {
	border: 1px solid rgba(17 64 99 / 0.5);
	border-radius: 20px;
	padding: 30px;
	color: #000;
	text-decoration: none;
}
@media only screen and (min-width: 768px) {
	.b-card-item {
		width: calc((100% / 3) - ((60px * 2) / 3));
		margin-top: 100px;
		margin-left: 60px;
	}
}
@media only screen and (min-width: 768px) {
	.b-card-item:nth-child(3n+1) {
		margin-left: 0;
	}
}
.b-card-item:not(:first-child) {
	margin-top: 30px;
}
@media only screen and (min-width: 768px) {
	.b-card-item:not(:first-child) {
		margin-top: 100px;
	}
}
.e-card-image img {
	border-radius: 0;
}
.b-card-icon {
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px;
}
.e-card-icon {
	width: calc((100% / 6) - (25px / 6));
	margin-left: 5px;
}
.e-card-icon:nth-child(6n+1) {
	margin-left: 0;
}
.e-card-icon img {
	border-radius: 0;
}
/* フローレイアウト */
.b-flow-list {
	position: relative;
	margin-top: 50px;
}
@media only screen and (min-width: 768px) {
	.b-flow-list {
		display: flex;
	}
}
.b-flow-list + .b-flow-list:before {
	content: "";
	position: absolute;
	z-index: 1;
	top: -50px;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: block;
	width: 26px;
	height: 40px;
	background: url("../imgs/common/ico_flow_arrow.svg") center / cover;
}
@media only screen and (min-width: 768px) {
	.b-flow-list + .b-flow-list:before {
		content: none;
	}
}
.b-flow-heading {
	padding: 20px;
	background: #6D97B6;
}
@media only screen and (min-width: 768px) {
	.b-flow-heading {
		width: 35%;
		position: relative;
	}
}
@media only screen and (min-width: 768px) {
	.b-flow-list + .b-flow-list .b-flow-heading:before {
		content: "";
		position: absolute;
		z-index: 1;
		top: -50px;
		left: 0;
		right: 0;
		margin: 0 auto;
		display: block;
		width: 26px;
		height: 40px;
		background: url("../imgs/common/ico_flow_arrow.svg") center / cover;
	}
}
.e-flow-heading {
	color: #FFF;
	font-size: 1.125rem;
	font-weight: 700;
}
@media only screen and (min-width: 768px) {
	.e-flow-heading {
		font-size: 1.25rem;
	}
}
.b-flow-contents {
	padding: 20px;
	background: #DFE8EB;
}
@media only screen and (min-width: 768px) {
	.b-flow-contents {
		width: 65%;
	}
}
.b-flow-contents ol {
margin: 0;
}
.b-flow-wrapper {
	position: relative;
	margin-top: 20px;
	padding: 20px;
	border: 1px solid #6D97B6;
}
@media only screen and (min-width: 768px) {
	.b-flow-wrapper {
		padding: 30px;
		margin-top: 50px;
	}
}
.b-flow-wrapper + .b-flow-wrapper {
	margin-top: 50px;
}
.b-flow-wrapper + .b-flow-wrapper:before {
		content: "";
		position: absolute;
		z-index: 1;
		top: -51px;
		left: 0;
		right: 0;
		margin: 0 auto;
		display: block;
		width: 26px;
		height: 40px;
		background: url("../imgs/common/ico_flow_arrow.svg") center / cover;
}
.b-flow-wrapper .b-column {
	margin-top: 0;
}
.b-flow-wrapper .b-column-item {
	margin-top: 0;
}
.b-flow-wrapper .b-column-item:not(:first-child) {
	margin-top: 20px;
}
@media only screen and (min-width: 768px) {
	.b-flow-wrapper .b-column-item:not(:first-child) {
		margin-top: 0;
	}
}
/* 角丸 */
.m-radius-0 {
	border-radius: 0!important;
}
.m-radius-10 {
	border-radius: 10px!important;
}
.m-radius-20 {
	border-radius: 20px!important;
}

/* iframe */
.b-iframe-wrap {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.b-iframe-wrap iframe {
	display: block;
	width: 100%;
	height: 100%;
}

/* ==============================
CMS出力用 装飾スタイル
============================== */
/* ページネーション */
.wp-pagenavi {
	display: flex;
	justify-content: center;
	margin: 30px auto 0;
}
.wp-pagenavi a {
	color: #000;
	text-decoration: none;
}
.wp-pagenavi a,
.wp-pagenavi span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--bgcolor-blue);
	margin: 0 5px;
	line-height: 1;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
	.wp-pagenavi a {
		transition: all 0.3s ease-in-out;
	}
}
@media only screen and (min-width: 768px) {
	.wp-pagenavi a:hover {
		background: var(--color-primary);
		color: #FFF;
	}
}
.wp-pagenavi .current {
	background: var(--color-primary);
	color: #FFF;
}
#cookie-notice {
	border-top: 1px solid rgba(0 0 0 / 0.05);
}
#cn-notice-text {
	color: #000;
}

/* ==============================
トップページ /
============================== */
.top .b-main:before {
	content: none;
}
.top .b-main-wrapper {
	padding-bottom: 0;
}
.top .b-main {
	padding: 0;
}
.e-mainvisual {
	position: relative;
	width: 100%;
	height: auto;
}
.e-mainvisual img {
	border-radius: 0;
}
@media only screen and (min-width: 768px) {
	.e-mainvisual img {
		width: 100%;
		max-width: auto;
		height: auto;
	}
}
.e-mainvisual-caption {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	color: #FFF;
	font-size: 1.5rem;
	text-align: center;
	text-shadow: 1px 1px 2px black;
}
@media only screen and (min-width: 768px) {
	.e-mainvisual-caption {
		font-size: 2.5rem;
	}
}
.b-mainvisual-nav {
	position: relative;
    z-index: 2;
	background: var(--color-primary);
	padding: 25px;
}
@media only screen and (min-width: 768px) {
	.b-mainvisual-nav {
		padding: 0 0 50px;
	}
}
@media only screen and (min-width: 768px) {
	.b-mainvisual-nav-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		max-width: 1440px;
		margin: 0 auto;
	}
}
.e-mainvisual-nav-list-item {
	margin-top: -50px;
}
@media only screen and (min-width: 768px) {
	.e-mainvisual-nav-list-item {
		width: calc((100% / 2) - 30px);
		margin-left: 15px;
		margin-right: 15px;
	}
}
@media only screen and (min-width: 1025px) {
	.e-mainvisual-nav-list-item {
		width: calc((100% / 4) - 30px);
		margin-left: 15px;
		margin-right: 15px;
	}
}
.e-mainvisual-nav-list-item:not(:first-child) {
	margin-top: 30px;
}
@media only screen and (min-width: 768px) {
	.e-mainvisual-nav-list-item:not(:first-child) {
		margin-top: -50px;
	}
	.e-mainvisual-nav-list-item:nth-child(n+3) {
		margin-top: 20PX;
	}
}
@media only screen and (min-width: 1025px) {
	.e-mainvisual-nav-list-item:not(:first-child) {
		margin-top: -50px;
	}
}
.e-mainvisual-nav-list-item .e-link {
	position: relative;
	display: block;
	height: 100%;
	border: 3px solid #FFF;
	color: #FFF;
	text-decoration: none;
}
.e-mainvisual-nav-list-item .e-link:after {
	content: url("../imgs/common/ico_top_card_arrow.svg");
	position: absolute;
	right: -13px;
	bottom: -10px;
	width: auto;
	height: auto;
	line-height: 1;
	background: none;
}
.e-mainvisual-nav-list-item .e-link.m-ayase {
	background: url(../imgs/pages/top_main_nav_ayase.png) no-repeat center center / cover;
}
.e-mainvisual-nav-list-item .e-link.m-omura {
	background: url(../imgs/pages/top_main_nav_oomura.png) no-repeat center center / cover;
}
.e-mainvisual-nav-list-item .e-link.m-baselabo {
	background: url(../imgs/pages/top_main_nav_randd.png) no-repeat center center / cover;
}
.e-mainvisual-nav-list-item .e-link.m-coaterlabo {
	background: url(../imgs/pages/top_main_nav_coater.png) no-repeat center center / cover;
}

.b-mainvisual-nav-text {
	width: 100%;
	padding: 20px;
}
.b-top-capability {
	position: relative;
	padding-top: 60px;
}
@media only screen and (min-width: 768px) {
	.b-top-capability {
		display: flex;
	}
}	
.b-top-capability:before {
	content: "";
    position: absolute;
    left: -25px;
    display: block;
    height: 1px;
    width: calc(100% + 50px);
    background: rgba(0 0 0 / 0.05);
}
@media only screen and (min-width: 768px) {
	.b-top-capability:before {
		left: -25px;
		width: 100vw;
	}
}
@media only screen and (min-width: 1025px) {
	.b-top-capability:before {
		left: -375px;
		width: 200vw;
	}
}
@media only screen and (min-width: 768px) {
	.b-top-capability-text {
		width: 40%;
		margin-top: 80px;
	}
}
.b-top-capability .b-slider-wrap {
	margin-top: 60px;
}
@media only screen and (min-width: 768px) {
	.b-top-capability .b-slider-wrap {
		margin-top: -2px;
		margin-left: 45px;
		width: calc(60% - 45px);
	}
}
.b-top-capability .dots-box {
	width: calc(100% - 40px);
}
@media only screen and (min-width: 768px) {
	.b-top-capability .dots-box {
		width: 100%;
	}
}
.b-top-capability .b-slider-bar-wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
.b-top-capability .b-slider-bar-wrap .dots-wrap {
	display: flex;
	height: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
}
.b-top-capability .b-slider-bar-wrap .dots-wrap li {
	width: 100%;
	font-size: 0;
}
.b-top-capability .b-slider-bar-wrap .dots-wrap li button {
	display: block;
	width: 100%;
	height: 100%;
}
.b-top-capability .b-slider-bar-wrap .dots-wrap li button:before {
	content: "";
	display: block;
	height: 1px;
	width: 100%;
	background: rgba(17 64 99 / 0.5);
}
.b-top-capability .b-slider-bar-wrap .dots-wrap li.slick-active button:before {
	height: 5px;
	background: var(--color-primary);
	border-radius: 2px;
}
@media only screen and (min-width: 768px) {
	.b-top-capability .b-slider-bar-wrap .slick-num {
		display: none;
	}
}
.b-top-capability .b-slider {
	display: grid;
}
.b-top-capability .b-slider .slick-list {
	grid-row: 1 / 2;
	grid-column: 1 / 3;
	margin-bottom: 20px;
}
.b-top-capability .b-slider .slick-prev {
	display: inline-flex;
	justify-content: flex-start;
	grid-row: 2 / 3;
	grid-column: 1 / 2;
	font-size: 0;
}
.b-top-capability .b-slider .slick-prev:after {
	content: "";
	display: block;
	width: 33px;
	height: 33px;
	background: url("../imgs/common/ico_slider_left.svg") no-repeat center / cover;
}
.b-top-capability .b-slider .slick-next {
	display: inline-flex;
	justify-content: flex-end;
	grid-row: 2 / 3;
	grid-column: 2 / 3;
	font-size: 0;
}
.b-top-capability .b-slider .slick-next:after {
	content: "";
	display: block;
	width: 33px;
	height: 33px;
	background: url("../imgs/common/ico_slider_right.svg") no-repeat center / cover;
}
.b-top-capability .b-slider .b-slider-contents {
	position: relative;
	padding: 0 10px;
}
.b-top-capability .b-slider .b-slider-contents-innner {
	position: relative;
}
.b-top-capability .b-slider .b-slider-contents-innner:after {
	content: "";
	position: absolute;
	z-index: 3;
	left: 0;
	right: 0;
	margin: 0 auto	;
	bottom: 0;
	display: block;
	width: 100%;
	height: 50%;
	background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
}
.b-top-capability .e-slider-icon {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 82px;
	height: 82px;
	background: url("../imgs/pages/top_slider_icon_bg.png") no-repeat center / cover;
	font-size: 2.75rem;
	line-height: 1.75;
	color: #FFF;
	text-align: center;
	font-style: normal;
}
@media only screen and (min-width: 768px) {
	.b-top-capability .e-slider-icon {
		width: 112px;
		height: 112px;
		padding-left: 30px;
		padding-top: 20px;
		font-size: 3.125rem;
		line-height: 1;
		text-align: left;
	}
}
.b-top-capability .e-slider-text {
	position: absolute;
	z-index: 4;
	bottom: 0;
	padding: 20px;
	color: #FFF;
}
.top .b-main-wrapper:before {
	content: "";
	position: absolute;
	top: -100px;
	left: -136px;
	display: block;
	width: 320px;
	height: 320px;
	background: url("../imgs/common/bg_main_top_sp.svg") no-repeat center center;
}
@media only screen and (min-width: 768px) {
	.top .b-main-wrapper:before {
		top: -397px;
		left: -437px;
		width: 924px;
		height: 924px;
		background: url("../imgs/common/bg_main_top_pc.svg") no-repeat center center;
	}
}
.top .b-contents:before {
	content: "";
    position: absolute;
    top: -25px;
    display: block;
    height: 100%;
    width: 1px;
    background: rgba(0 0 0 / 0.05);
}
@media only screen and (min-width: 768px) {
	.top .b-contents:before {
		top: -95px;
		height: calc(100% + 95px);
	}
}
.b-news-item {
	border-bottom: 1px solid var(--color-primary);
}
.m-archive .b-news-item {
	border-bottom: 1px dashed var(--color-primary);
}
.b-news-item .e-link {
	display: block;
	padding: 14px 0;
	text-decoration: none;
	color: #000;
}
@media only screen and (min-width: 768px) {
	.b-news-item .e-link {
		display: flex;
		padding: 11px 0;
	}
}
.m-archive .b-news-item .e-link {
	display: flex;
	flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
	.m-archive .b-news-item .e-link {
		padding: 25px 0;
	}
}
.b-news-item:first-child .e-link {
	padding-top: 0;
}
.e-news-date {
	display: block;
	font-weight: 500;
	color: var(--color-primary);
}
@media only screen and (min-width: 768px) {
	.e-news-date {
		width: 310px;
	}
}
.m-archive .e-news-date {
	padding: 3px 0;
	width: 115px;
}
@media only screen and (min-width: 768px) {
	.m-archive .e-news-date {
		width: 130px;
	}
}
.m-archive .e-news-category {
	display: block;
	width: 100px;
	margin-left: 10px;
	text-align: center;
}
@media only screen and (min-width: 768px) {
	.m-archive .e-news-category {
		margin-left: 50px;
	}
}
.m-news-category {
	display: block;
	padding: 3px 0;
}
.m-news-category.news {
	background: var(--bgcolor-blue);
}
.m-news-category.product {
	color: #FFF;
	background: var(--color-primary);
}
.m-news-category.other {
	color: #FFF;
	background: var(--color-primary);
}

.e-news-headline {
	display: block;
	width: 100%;
}
@media only screen and (min-width: 768px) {
	.e-news-headline {
		width: calc(100% - 310px);
	}
}
.m-archive .e-news-headline {
	margin-top: 8px;
}
@media only screen and (min-width: 768px) {
	.m-archive .e-news-headline {
		width: calc(100% - ((130px + 100px) + (50px * 2)));
		margin-left: 50px;
		margin-top: 0;
	}
}
.top .e-qanda-list-item {
	background: #FFF;
}

/* ==============================
企業情報 /about/
============================== */
.m-about-message .b-column-item {
	margin-top: 0;
}
.m-about-message * + .b-column-item {
	margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
	.m-about-message * + .b-column-item {
		margin-top: 0;
	}
}

.m-about-address .b-column-item {
	margin-top: 0;
}
.m-about-address * + .b-column-item {
	margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
	.m-about-address * + .b-column-item {
		margin-top: 0;
	}
}

/* ==============================
ラボにできること /capability/
============================== */
.b-capability-column-item {
	margin-top: 100px;
}
@media only screen and (min-width: 768px) {
	.b-capability-column-item {
		display: flex;
		justify-content: space-between;
		margin-top: 200px;
	}
}
@media only screen and (min-width: 1450px) {
	.m-capability-column-item-left {
		margin-left: -127px;
	}
}
@media only screen and (min-width: 1450px) {
	.m-capability-column-item-right {
		margin-right: -127px;
	}
}
@media only screen and (min-width: 768px) {
	.e-capability-column-image {
		width: calc(55% - (60px / 2));
	}
}
@media only screen and (min-width: 768px) {
	.m-capability-column-item-right .e-capability-column-image {
		order: 2;
		margin-left: 60px;
	}
}
@media only screen and (min-width: 768px) {
	.b-capability-column-text {
		position: relative;
		width: calc(45% - (60px / 2));
		margin-left: 60px;
	}
}
@media only screen and (min-width: 768px) {
	.m-capability-column-item-right .b-capability-column-text {
		margin-left: 0;
	}
}
@media only screen and (min-width: 768px) {
	.m-capability-column-item-right .e-capability-column-text {
		order: 1;
	}
}
@media only screen and (min-width: 768px) {
	.e-capability-column-text-title {
		margin-top: 0;
	}
}
.e-capability-column-text-button {
	text-align: center;
}
@media only screen and (min-width: 768px) {
	.e-capability-column-text-button {
		text-align: right;
	}
}
@media only screen and (min-width: 1100px) {
	.e-capability-column-text-button {
		position: absolute;
		bottom: 0;
		right: 0;
	}
}

/* ==============================
機械ページ詳細 /labotech/★★★/
============================== */
.b-contents .b-machine-headding {
	padding-top: 10px;
}
@media only screen and (min-width: 768px) {
	.b-contents .b-machine-headding {
		display: flex;
		justify-content: space-between;
		padding-top: 20px;
	}
}
.e-machine-headding-title {
	font-size: 1.5rem;
	color: var(--color-primary);
	padding-left: 0;
	border-left: none;
	margin-top: 0;
	margin-bottom: 25px;
}
@media only screen and (min-width: 768px) {
	.e-machine-headding-title {
		font-size: 3rem;
		margin-bottom: 0;
	}
}
.b-machine-icon-list {
	display: flex;
	margin: 0;
}
.b-machine-icon-list li {
	width: 48px;
	height: 48px;
}
.b-machine-icon-list li:not(:first-child) {
	margin-left: 10px;
}
.b-machine-icon-list li img {
	border-radius: 0;
}
.e-machine-headding-text {
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-primary);
}
@media only screen and (min-width: 768px) {
	.e-machine-headding-text {
		margin-top: 110px;
		font-size: 1.5rem;
	}
}
.b-labotech-slider {
	display: flex;
	flex-wrap: wrap;
	margin-top: 25px;
}
@media only screen and (min-width: 768px) {
	.b-labotech-slider {
		justify-content: center;
	}
}
.b-labotech-slider .slick-list {
	width: calc(100% - ((33px * 2) + (10px * 2)));
	margin: 0 10px;
}
@media only screen and (min-width: 768px) {
	.b-labotech-slider .slick-list {
		max-width: 600px;
	}
}
.b-labotech-slider .slick-list img {
	width: 100%;
	height: auto;
	max-width: none;
	border-radius: 0;
}
.b-labotech-slider .slick-prev {
	font-size: 0;
}
.b-labotech-slider .slick-prev:after {
	content: "";
	display: block;
	width: 33px;
	height: 33px;
	background: url("../imgs/common/ico_slider_left.svg") no-repeat center / cover;
}
.b-labotech-slider .slick-next {
	font-size: 0;
}
.b-labotech-slider .slick-next:after {
	content: "";
	display: block;
	width: 33px;
	height: 33px;
	background: url("../imgs/common/ico_slider_right.svg") no-repeat center / cover;
}
.b-labotech-slider .slick-dots {
	display: flex;
	justify-content: center;
	width: 100%;
	font-size: 0;
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}
.b-labotech-slider .slick-dots li {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 6px;
	height: 6px;
	margin: 0 7px;
}
.b-labotech-slider .slick-dots li:before {
	content: "";
	width: 4px;
	height: 4px;
	background: rgba(17 64 99 / 0.2);
	border-radius: 50%;
}
.b-labotech-slider .slick-dots li.slick-active:before {
	width: 6px;
	height: 6px;
	background: var(--color-primary);
}
.js-popup-image {
	position: relative;
}
.js-popup-image:after {
	position: absolute;
	right: 0;
	bottom: 0;
	font-family: FontAwesome;
	font-weight: normal;
	color: var(--color-primary);
	font-size: 2rem;
	line-height: 1;
	content: "\f00e";
}