/*@font-face {
	font-family: 'NotoSansJP';
	src: url(font/NotoSansJP-Regular.otf);
}
@font-face {
	font-family: 'NotoSansJP-Bold';
	src: url(font/NotoSansJP-Bold.otf);
}*/
@font-face {
	font-family: 'NotoSansJP';
	src: url(NotoSansJP-Regular.otf);
}
@font-face {
	font-family: 'NotoSansJP-Bold';
	src: url(NotoSansJP-Bold.otf);
}

body {
	margin: 0;
	color: #3B3C3E;
	font-family: NotoSansJP;
}
.main h1, .main h2, .main h3, .main p, .main ul, .main li {
	margin: 0;
	padding: 0;
}
.main p {
	font-size: 16px;
}
.main a {
	text-decoration: none;
	color: inherit;
}
.main {
	min-width: 800px;
	width: 100%;
	margin: 0 auto;
}
.bold {
	font-family: NotoSansJP-Bold;
}
.gray-back {
	background: #F1F2F6;
}
a.red_link {
	text-decoration: underline;
	color: #F0425D;
}

.section {
	padding: 85px 0;
}
.section .section_content {
	max-width: 1200px;
	padding: 0 100px;
	box-sizing: border-box;
	margin: 0 auto;
}
.section .title_section .title {
	font-family: NotoSansJP-Bold;
	letter-spacing: 3px;
	line-height: 27px;
	font-size: 30px;
}
.section .title_section .sub {
	font-size: 12px;
	letter-spacing: 1.67px;
	line-height: 15px;
}
.section .content_section {
	margin-top: 45px;
}
.section .content_section > p:not(:last-child), .section .content_section > div:not(:last-child) , .section .content_section > ul:not(:last-child) {
	margin-bottom: 40px;
}
.section .content_section p {
	letter-spacing: 0.6px;
	font-size: 16px;
	line-height: 25px;
}

.header {
	width: 100vw;
	height: 100vh;
	position: relative;
}
.header video {
	width: 100vw;
	height: 100vh;
	object-fit: cover;
}
.header .cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	background-color: rgba(0,0,0,0.6);
}
.header .header_logo {
	position: absolute;
	left: calc(50% - 330px);
	top: calc(50vh - 118px);
	width: 150px;
	height: 160px;
	z-index: 3;
}
.header .title {
	position: absolute;
	top: calc(50vh - 50px);
	left: calc(50% - 130px);
	color: white;
	z-index: 3;
}
.header .title h1 {
	font-family: NotoSansJP-Bold;
	font-size: 40px;
	letter-spacing: 2px;
}
.header .title p {
	letter-spacing: 1px;
	margin-top: 10px;
}
.section .card-list {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.section .card-list .card {
	border-radius: 8px;
	width: 29%;
	overflow: hidden;
	box-shadow: rgba(0,0,0,0.5) 1px 2px 8px -3px;
	background: white;
	padding-bottom: 13px;
	box-sizing: border-box;
}
.section .card-list .card img {
	width: 100%;
	height: 11vw;
	object-fit: cover;
}
.section .card-list .card .card-title {
	font-size: 14px;
	letter-spacing: 1px;
	padding: 5px 12px 12px 12px;
	line-height: 21px;
}
.section .card-list .card .card-btn-box {
	text-align: center;
}
.section .card-list .card .card-btn {
	border-radius: 5px;
	padding: 5px 30px;
	display: inline-block;
	font-family: NotoSansJP-Bold;
	letter-spacing: 1px;
	font-size: 12px;
	line-height: initial;
	background-color: #EB3349;
	color: white;
}
.section .content_section p.benefit-headline {
	font-family: NotoSansJP-Bold;
	letter-spacing: 1px;
	line-height: 24px;
	font-size: 18px;
}
.section .content_section > p.benefit-headline:not(:last-child) {
	margin-top: 50px;
}
.section .content_section .techmapimg {
	width: 90%;
}
.section .benefit-ul {
	list-style: none;
	padding-bottom: 20px;
}
.section .benefit-ul li{
	background: url(check.png) left 0px top 9px no-repeat;
	/*background: url(img/check.png) left 0px top 9px no-repeat;*/
	background-size: 18px auto;
	padding-left: 33px;
	line-height: 35px;
	margin-left: 55px;
	color: #ACACAC;
}
.section .content_section .reikaiimg {
	width: 50%;
}
.benefit-list.red_link {
	font-size: 14px;
	line-height: 25px;
	letter-spacing: 1px;
}
.section .content_section .qa-box:not(:last-child) {
	border-bottom: 1px solid #D8D8D8;
	padding: 30px 0;
	margin-bottom: 0;
}
.section .content_section .qa-box {
	padding-top: 30px;
}
.section .content_section .pt0.qa-box {
	padding-top: 0;
}
.section .content_section .qa-box .q-box {
	display: flex;
	font-family: NotoSansJP-Bold;
	margin-bottom: 20px;
}
.section .content_section .qa-box .q-box .q {
	font-size: 20px;
}
.section .content_section .qa-box .q-box .q-text {
	letter-spacing: 3px;
	line-height: 24px;
	margin-left: 20px;
}
.section .content_section .qa-box .a-box {
	display: flex;
}
.section .content_section .qa-box .a-box .a {
	font-family: NotoSansJP-Bold;
	color: #EB3349;
	font-size: 20px;
}
.section .content_section .qa-box .a-box .a-text {
	font-size: 14px;
	letter-spacing: 3px;
	line-height: 23px;
	margin-left: 20px;
}
.section .content_section .plan-table .row {
	display: flex;
	padding: 22px 30px;
	box-sizing: border-box;
}
.section .content_section .plan-table .row:not(:last-child) {
	border-bottom: 1px solid #D8D8D8;
}
.section .content_section .plan-table .table-top {
	display: flex;
	margin-bottom: 30px;
	padding: 0 30px;
	box-sizing: border-box;
	margin-top: 80px;
}
.section .content_section .plan-table .table-top .table-top-left {
	width: 300px;
}
.section .content_section .plan-table .table-top .table-top-content {
	width: calc(100% - 300px);
	display: flex;
	justify-content: space-around;
}
.section .content_section .plan-table .table-top p {
	/*font-family: NotoSansJP-Bold;*/
	letter-spacing: 1.5px;
	font-size: 15.5px;
	color: white;
	padding: 15px 50px;
	box-sizing: border-box;
	text-align: center;
}
.section .content_section .plan-table .table-top .p {
	background: #FF909D;
}
.section .content_section .plan-table .table-top .pp {
	background: #EB3349;
}
.section .content_section .plan-table .row .label {
	font-family: NotoSansJP-Bold;
	letter-spacing: 1px;
	width: 300px;
}
.section .content_section .plan-table .row p:not(.label) {
	text-align: center;
	width: calc((100% - 300px) / 3);
	font-size: 14px;
}
.section .content_section .plan-table .row .p2 {
	color: #EB3349;
	font-family: NotoSansJP-Bold;
}
.section .register {
	display: flex;
	justify-content: space-between;
	width: 800px;
	margin: 0 auto;
}
.section .register .reg-l {
	width: 45%;
	letter-spacing: 1.5px;
	font-family: NotoSansJP-Bold;
	color: #718295;
	font-size: 18px;
	line-height: 42px;
	text-align: center;
}
.section .register .reg-r {
	text-align: center;
	width: 45%;
}
.section .register .reg-r a {
	background-color: #EB3349;
	color: white;
	font-size: 17px;
	letter-spacing: 3px;
	text-align: center;
	padding: 10px 75px;
	border-radius: 100px;
}
.section .register .reg-r p {
	font-size: 12px;
	letter-spacing: 1px;
	line-height: 25px;
	text-decoration: underline;
	margin-top: 30px;
}
.footer {
	background: #3B3C3E;
	color: white;
	display: flex;
	padding: 45px 100px;
}
.footer .footer-l {
	font-size: 16px;
	font-family: NotoSansJP-Bold;
	letter-spacing: 1px;
	margin-right: 20px;
	line-height: 35px;
}
.footer .footer-r a {
	text-decoration: underline;
	color: white;
	font-size: 14px;
	letter-spacing: 1px;
	line-height: 32px;
}

a.aaaaaaa {
	display: block;
	margin: 0 auto;
	width: 300px;
	text-align: center;
	text-decoration: underline;
	color: #EB3349;
}