@charset "UTF-8";
/* CSS Document 

	0.reset
	1.common style
  2.custom style
		2-1.header
		2-2.

--------------------- */


/* ---------------------
    0.reset
--------------------- */
*, *::before, *::after {
	box-sizing: border-box
}
* {
	margin: 0
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1.5;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ul, li {
	list-style-type: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	color: inherit;
	text-decoration: none;
}
a:hover {
	opacity: 0.8;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, select {
	vertical-align: middle;
}
img {
	height: auto;
	vertical-align: top;
	width: 100%;
}
h1, h2, h3, h4, h5 {
	font-weight: normal;
}
p {
	margin-bottom: 1.5em;
}
dd {
	margin: 0 0 1.5em 0;
	line-height: 1.89;
}
/* ---------------------
    1.common style
--------------------- */
/*
sp: ～767px
tab: 768px ～ 1023px
pc：768px～
*/
:root {
	--color-main: #273856;
	--color-accent: #F03352;
	--width-inner: 1220px;
}
/*noto sans cjkjp
* Light 300
* Regular 400（normal）
* Medium 500
* Bold 700
*/
/* regular */
@font-face {
  font-family: 'Noto Sans CJK JP';
  font-style: normal;
  font-weight: 400;
  src: local('Noto Sans CJK JP') format("woff2"),
    url('../../common/fonts/NotoSansCJKjp-Regular-min.woff2') format('woff2'),
    url('../../common/fonts/NotoSansCJKjp-Regular-min.woff') format('woff');
  font-display: swap;
}
/* medium */
@font-face {
  font-family: 'Noto Sans CJK JP';
  font-style: normal;
  font-weight: 500;
  src: local('Noto Sans CJK JP') format("woff2"),
    url('../../common/fonts/NotoSansCJKjp-Medium-min.woff') format('woff'),
    url('../../common/fonts/NotoSansCJKjp-Medium-min.woff2') format('woff2');
  font-display: swap;
}
/* bold */
@font-face {
  font-family: 'Noto Sans CJK JP';
  font-style: normal;
  font-weight: 700;
  src: local('Noto Sans CJK JP') format("woff2"),
    url('../../common/fonts/NotoSansCJKjp-Bold-min.woff') format('woff'),
    url('../../common/fonts/NotoSansCJKjp-Bold-min.woff2') format('woff2');
  font-display: swap;
}
body {
	color: var(--color-main);
	font-family: "Open Sans", "Noto Sans CJK JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;	
	font-feature-settings: "palt";
	font-size: 15px;
	font-weight: normal;
	min-height: 100vh;
	padding-top: 70px;
	width: 100%;
}
a {
	transition: 0.5s;
	color: #1400FF;
}
img {
	max-width: 100%;
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex.space-around {
	justify-content: space-around;
}
.flex-wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	display: flex;
}
.flex-jc-center, .flex-jc-c {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	display: flex;
}
.col-48p {
	width: 48%;
}
.font-center {
	text-align: center;
}
.font-left {
	text-align: left;
}
.ib {
	display: inline-block;
}
.bg-gray {
	background-color: #F7F7F7;
}
.w-100 {
	width: 100%!important;
}
.mg-t1em {
	margin-top: 1em;
}
.mg-t2em {
	margin-top: 2em;
}
.font-s {
	font-size: 93%;
	font-size: .93rem;
}
@media (max-width: 767px) {
	html,body,.body {
		font-size: 14px;
	}
	.body {
		padding-top: 60px;
	}
	.pc {
		display: none!important;
	}
	.tab {
		display: none;
	}
}
@media (min-width: 768px) {
	.sp {
		display: none!important;
	}
	[class*=' flex-pc'] {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex
	}
	.flex-pc-jc-c {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.font-pc-center {
		text-align: center;
	}
}
@media (min-width: 1024px) {
	.tab {
		display: none;
	}
}
/* ---------------------
    2.custom style
--------------------- */

/* 2-1.ヘッダー */
#header {
	width: 100%;
	height: 70px;
	position: fixed;
	top: 0;
	z-index: 3;
}
.header-main {
	align-items: center;
	display: flex;
	justify-content: space-between;
	height: 70px;
	padding-left: 30px;
	padding-right: 15px;
	background-color: #fff;
	width: 100%;
}
.header-main .header-main_left {
	max-width: 206px;
}
.header-main .header-main_left .logo {
	max-width: 100%;
	width: auto;
}
.header-main .header-main_right {
	align-items: center;
	display: flex;
	height: 100%;
	opacity: 1;
	padding: 0;
	position: relative;
	max-width: calc(100% - 195px);
	transition: 0s;
	transform: none;
	visibility: visible;
}
.header-nav-wrap {
	background: transparent;
	position: relative;
}
.header-nav {
	border: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: auto;
	margin: 0 auto;
	padding: 0 15px;
}
.header-nav_item {
	font-size: 16px;
	font-weight: 600;
	list-style: none;
	margin: 0 7px;
}
.header-nav_ancher {
	color: inherit;
	display: block;
	padding: 0;
	position: relative;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}
.header-nav_item span {
	white-space: nowrap;
}
.btn-contact {
	align-items: center;
	border-radius: 20px;
	border: 2px solid var(--color-main);
	color: var(--color-main);
	display: flex;
	justify-content: center;
	line-height: 1.1;
	height: 40px;
	width: 160px;
}
.btn-contact:hover {
	background-color: var(--color-main);
	color: #FFF;
}
.header-hamburger {
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-left: auto;
	padding: 12px;
}
.header-hamburger_line {
	height: 15px;
	position: relative;
	width: 16px;
}
.header-hamburger_line:before, .header-hamburger_line span, .header-hamburger_line:after {
	background-color: #000;
	bottom: 0;
	content: "";
	display: block;
	height: 2px;
	left: 0;
	margin: auto;
	position: absolute;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
	top: 0;
	width: 100%;
}
.header-hamburger_line:before {
	bottom: calc(100% - 3px);
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: bottom 0.3s, -webkit-transform 0.3s;
	transition: bottom 0.3s, -webkit-transform 0.3s;
	transition: transform 0.3s, bottom 0.3s;
	transition: transform 0.3s, bottom 0.3s, -webkit-transform 0.3s;
	-webkit-transition-delay: 0s, 0.3s;
	transition-delay: 0s, 0.3s;
	-webkit-transform-origin: center center;
	transform-origin: center center;
}
.header-hamburger_line:after {
	top: calc(100% - 3px);
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transform-origin: center center;
	transform-origin: center center;
	-webkit-transition: top 0.3s, -webkit-transform 0.3s;
	transition: top 0.3s, -webkit-transform 0.3s;
	transition: transform 0.3s, top 0.3s;
	transition: transform 0.3s, top 0.3s, -webkit-transform 0.3s;
	-webkit-transition-delay: 0s, 0.3s;
	transition-delay: 0s, 0.3s;
}

/* 2-2.mv */
.mv {
	width: 100%;
	height: 500px;
	background: url("../img/mv_bg.jpg") right center / cover no-repeat;
	background-size: cover;
	padding: 0 30px;
	position: relative;
	overflow: hidden;
}
.mv_over {
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
	margin: 0 auto;
	max-width: 1404px;
	height: 100%;
	padding-top: 3em;
	position: relative;
	width: 100%;
}
.mv_over_left {
	color: white;
	font-weight: 600;
	margin: 0 auto;
	max-width: 1280px;
	position: relative;
	width: 100%;
	z-index: 2;
}
.mv_over_left_lead {
	font-size: clamp(17px, 2.4vw, 24px);
	margin-bottom: 0.8em;
}
.mv_over_left_title {
	font-size: 30px;
	font-size: clamp(23px, 3vw, 30px);
	max-width: 698px;
}
.mv_over_left_button {
	max-width: 1280px;
	margin: 70px auto 0;
	width: 100%;
	z-index: 2;
}
.mv_over_left_button a {
	align-items: center;
	background-color: white;
	color: var(--color-main);
	display: flex;
	font-size: clamp(16px, 2vw,24px);
	font-weight: 600;
	height: 70px;
	margin: 20px 0;
	max-width: 524px;
	padding: 10px 40px 10px 25px;
	position: relative;
}
.mv_over_left_button a:after {
	bottom: 0;
  border-style: solid;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 12px solid var(--color-main);
  border-right: 0;
	content: '';
	display: block;
	height: 0;
	margin: auto;
	position: absolute;
	right: 24px;
	top: 0;
	width: 0;
}
.mv_over_image {
	bottom: 0;
	height: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}
.mv_over_right_main {
	bottom: 0;
	margin: auto;
	max-width: 702px;
	position: absolute;
	right: 0;
	top: 0;
	width: 53vw;
}
/* contents共通 */
.contents {
	/*max-width: 1440px;*/
	color: #0E162E;
	margin: 0 auto;
	overflow: hidden;
	padding: 80px 30px;
	position: relative;
	text-align: center;
	width: 100%;
}
.contents_inner {
	margin: 0 auto;
	max-width: 1000px;
}
.contents_title {
	background-image: url(../img/kakko_start.png), url(../img/kakko_end.png);
	background-position: left top, right bottom;
	background-size: auto 20px, auto 20px;
	background-repeat: no-repeat, no-repeat;
	font-size: 26px;
	font-weight: 600;
	margin: 0 auto 60px;
	padding: 15px 33px;
	position: relative;
	width: fit-content;
}
.contents_lead {
	font-size: 1.02rem;
	line-height: 1.78;
}
.contents_note {
	font-size: 11px;
}
.contents_detail {
	margin-left: auto;
	margin-right: auto;
}
.block-min {
	margin-left: auto;
	margin-right: auto;
}
.heading, .heading-red {
	font-size: 147%;
	font-size: 1.47rem;
	border-bottom: 2px solid #dbd4cb;
	border-left: none;
	font-weight: 600;
	letter-spacing: 0.5px;
	margin-bottom: 30px;
	margin-top: 0;
	padding-bottom: 10px;
	padding-left: 0
}
.heading-red {
	font-size: 24px;
	border-bottom: 2px solid #000;
	color: #dc2442;
	margin-bottom: 20px;
	padding-bottom: 15px;
}
.heading-band-red {
	font-size: 20px;
	font-weight: bold;
	border-width: 4px;	
	border-left: 4px solid #dc2442;
	margin: 0 0 0.8em;
	padding-left: 10px
}
.heading-label-red {
	font-size: 116%;
	font-size: 1.16rem;
	background-color: #eee;
	border-left: 2px solid #dc2442;
	margin: 1.5em 0 0.8em;
	padding: 5px 10px 4px;
}
.heading-line {
	font-size: 100%;
	font-size: 1rem;
	font-weight: bold;
	border-bottom: 1px solid #000;
	margin-bottom: 0.8em;
	padding-bottom: 0.3em;
}
/* footer */
.footer {
	align-items: center;
	background-color: #fff;
	font-size: 14px;
	justify-content: space-around;
	margin: 0 auto;
	padding: 0 20px 20px;
	position: relative;
	width: 100%;
	z-index: 1;
}
.footer_nav {
	margin-top: 30px;
	max-width: 420px;
	justify-content: space-between;
	width: 50%;
}
.footer a {
	color: var(--color-main);
	border: none;
}
.footer .company {
align-items: center;
margin-top: 30px;
}
.footer .company span {
	font-size: 18px;
}
.footer .company_logo {
	margin-left: 19px;
	width: 139px;
	position: relative;
}
.btn-page-top {
	border: 2px solid #F3F4F8;
	bottom: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	background: #fff;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	opacity: 0;
	position: fixed;
	right: 30px;
	visibility: hidden;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	z-index: 100;
}
.btn-page-top a {
	font-size: 13px;
	line-height: 1.2;
	padding-top: .45em;
	font-family: 'Sora', sans-serif;
	font-weight: 600;
	color: #091138;
	text-decoration: none;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.btn-page-top a:hover {
	opacity: .5;
}
.btn-page-top.is-scroll {
	opacity: 1;
	visibility: visible;
}
.btn-page-top.is-fixed {
	position: absolute;
	right: 30px;
	bottom: auto;
	top: -30px;
}
/* userCompany */
.userCompany_title {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 35px;
}
.userCompany_lead {
	font-size: 22px;
	font-weight: 600;
	margin-top: 30px;
}
.userCompany_lead strong {
	display: inline-block;
	position: relative;
}
.userCompany_lead strong:after {
	background: url(../img/border01.png) center center / contain no-repeat;
	bottom: -10px;
	content: '';
	display: block;
	height: 10px;
	left: 0;
	margin: auto;
	position: absolute;
	width: 160px;
}
.userCompany_item {
	padding: 20px 30px;
	width: auto
}
.userCompany_item:nth-child(1) img {
	width: 180px
}
.userCompany_item:nth-child(2) img {
	width: 73px
}
.userCompany_item:nth-child(3) img {
	width: 178px
}
.userCompany_item:nth-child(4) img {
	width: 128px
}
.userCompany_item:nth-child(5) img {
	width: 73px
}

/* reason */
.reason_item {
	max-width: 300px;
}
.reason_item_img {
	align-items: center;
	background-color: #fff;
	border-radius: 30px;
	display: flex;
	height: 200px;
	justify-content: center;
	max-width: 260px;
	margin: 0 auto;
	position: relative;
}
.reason_item_img:after {
	background-color: #fff;
	bottom: -17px;
	clip-path: polygon(50% 18px, 0% 0%, 36px 0%);
	content: '';
	display: block;
	height: 18px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 36px;
}
.reason_item_img img {
	width: 62%;
}
.reason_item:nth-child(3) .reason_item_img img {
	width: 59%;
}
.reason_item_title {
	font-size: 22px;
	margin-top: 30px;
}
.reason_item_text {
	margin-top: 10px;
	text-align: left;
}
/* casestudy */
.casestudy_list {
	overflow: hidden;
	position: relative;
}
.casestudy_item_inner {
	align-items: start;
	margin: 0 auto;
	max-width: 800px;
}
.casestudy_item_logo {
	align-items: center;
	aspect-ratio: 320 / 220;
	background-color: #fff;
	border: 1px solid #A2A2A2;
	display: flex;
	justify-content: center;
	max-width: 100%;
	width: 320px;
	position: relative;
}
.casestudy_item_logo img {
	height: auto;
	width: auto;
}
.casestudy_item_text {
	max-width: 420px;
	padding: 15px 0;
	text-align: left;
}
.casestudy_item_text-name {
	font-size: 18px;
	font-weight: bold;
}
.casestudy_item_text-read {
	line-height: 2;
	margin-top: 15px;
}
.swiper-wrapper {
	position: relative;
}
.casestudy-prev,
.casestudy-next {
	bottom: 0;
	cursor: pointer;
	height: 33px;
	margin: auto;
	position: absolute;
	transition: opacity 0.3s;
	top: 0;
	width: 33px;
	z-index: 2;
}
.casestudy-prev:hover,
.casestudy-next:hover {
	opacity: 0.8;
}
.casestudy-prev:before {
	border-bottom: 4px solid var(--color-main);
	border-left: 4px solid var(--color-main);
	content: '';
	display: block;
	height: 24px;
	transform: rotate(45deg);
	transform-origin: center bottom;
	width: 24px;
	z-index: 2;
}
.casestudy-next:before {
	border-bottom: 4px solid var(--color-main);
	border-right: 4px solid var(--color-main);
	content: '';
	display: block;
	height: 24px;
	transform: rotate(-45deg);
	transform-origin: center bottom;
	width: 24px;
	z-index: 2;
}
.casestudy-prev {
	left: 0;
}
.casestudy-next {
	right: 0;
}

/* onayami */
.contents-onayami {
	/* background: url(../img/onayami_bg.jpg) center bottom / cover no-repeat; */
}
.contents-onayami + .contents:before {
	border-style: solid;
  border-right: 150px solid transparent;
  border-left: 150px solid transparent;
  border-top: 40px solid #F7F7F7 ;
  border-bottom: 0;
	content: '';
	display: block;
  height: 0;
	left: 0;
	margin: auto;
	right: 0;
	position: absolute;
	top: -1px;
  width: 0;
}
.onayami_title {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 60px;
}
.onayami_title strong {
	font-size: 30px;
	margin: 0 0.2em;
}
.onayami_title b {
	display: inline-block;
	position: relative;
}
.onayami_title b:before {
	background-color: var(--color-accent);
	border-radius: 50%;
	content: '';
	display: block;
	height: 12px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: -15px;
	width: 12px;
}
.onayami_list {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.onayami_item {
	align-items: flex-end;
	display: flex;
	font-size: 18px;
	max-width: 442px;
	width: 45%;
}
.onayami_item:nth-child(1) {
	margin-left: 5%;
	margin-right: 5%;
}
.onayami_item:nth-child(2n) {
	margin-top: 60px;
}
.onayami_item_inner {
	margin-right: 2%;
	max-width: 294px;
	width: 61%;
}
.onayami_item_img {
	width: 36%;
}
.onayami_item_img img {
	height: 140px;
	width: auto;
}
.onayami_item_fukidashi {
	background-color: #fff;
	border: 1px solid #959595;
	border-radius: 20px;
	font-size: 16px;
	font-weight: 500;
	line-height: calc(24 / 16);
	margin: 0;
	padding: 20px;
	position: relative;
	width: 254px;
}
.onayami_item_fukidashi:before {
	background-color: #959595;
	bottom: 9px;
	clip-path: polygon(0 13%, 0 83%, 53% 89%);
	content: '';
	display: block;
	height: 24px;
	position: absolute;
	right: -18px;
	width: 18px;
}
.onayami_item_fukidashi:after {
	background-color: #fff;
	bottom: 10px;
	clip-path: polygon(0 13%, 0 83%, 53% 89%);
	content: '';
	display: block;
	height: 25px;
	position: absolute;
	right: -17px;
	width: 19px;
}
.onayami_item_detail {
	font-size: 18px;
	font-weight: 600;
	margin: 15px 0 0 auto;
	text-align: left;
	width: fit-content;
}
.onayami_item_detail.-blue {
	color: #117AE3;
}
.onayami_item_detail.-violet {
	color: #433FC7;
}
.onayami_item_detail.-purple {
	color: #AA41BF;
}
.onayami_item_detail.-red {
	color: #E14770;
}
.onayami_item_detail .label {
	border-radius: 15px;
	color: white;
	display: block;
	font-size: 13px;
	margin-bottom: 5px;
	padding: 5px 15px;
	width: fit-content;
}
.onayami_item_detail.-blue .label {
	background-color: #117AE3;
}
.onayami_item_detail.-violet .label {
	background-color: #433FC7;
}
.onayami_item_detail.-purple .label {
	background-color: #AA41BF;
}
.onayami_item_detail.-red .label {
	background-color: #E14770;
}
/* feature */
.feature_title {
	font-size: 26px;
	margin-bottom: 55px;
}
.feature_title strong {
	position: relative;
}
.feature_title strong:after {
	background: url(../img/border02.png) center center / contain no-repeat;
	bottom: -10px;
	content: '';
	display: block;
	height: 10px;
	left: 50%;
	margin: auto;
	position: absolute;
	transform: translateX(-50%);
	width: 120px;
}
.feature_list {
	align-items: stretch;
	list-style: none;
}
.feature_item {
	background-color: #F4F8FF;
	border-radius: 10px;
	margin: 5px;
	min-height: 188px;
	max-width: 323px;
	width: calc(33% - 10px);
}
.feature_item figure {
	align-items: center;
	display: flex;
	justify-content: center;
	float: left;
	height: 100%;
	text-align: center;
	width: 103px;
}
.feature_item .icon-cloud {
	width: 62px;
	height: auto;
}
.feature_item .icon-download {
	width: 57px;
	height: auto;
}
.feature_item .icon-filelink {
	width: 55px;
	height: auto;
}
.feature_item .icon-connect {
	width: 54px;
	height: auto
}
.feature_item .icon-graph {
	width: 57px;
	height: auto;
}
.feature_item .icon-transfer {
	width: 65px;
	height: auto;
}
.feature_item .icon-tap {
	width: 54px;
	height: auto;
}
.feature_item .icon-percent {
	width: 51px;
	height: auto;
}
.feature_item .icon-remote {
	width: 63px;
	height: auto;
}
.feature_item .icon-drug-price {
	width: 62px;
	height: auto;
}
.feature_item .icon-support {
	width: 63px;
	height: auto;
}
.feature_item .icon-handy {
	width: 62px;
	height: auto;
}
.feature_item-text {
	overflow: hidden;
	padding: 27px 15px 27px 0;
	text-align: left;
}
.feature_item-text .text1 {
	font-weight: 600;
}
.feature_item-text .text2 {
	font-size: 13px;
	margin-top: 15px;
}
/* function */
.contents-featured {
	text-align: left;
}
.function-flow-list li {
	max-width: 500px;
	margin: 0 auto 20px
}
.function-featured-block {
	padding-bottom: 30px;
	position: relative;
	width: 100%
}
.function-featured-block>p {
	padding: 0 1em
}
.function-featured-especially {
	align-items: flex-start;
	padding-top: 50px;
	position: relative
}
.function-featured-especially:before {
	background-color: #eee;
	content: '';
	display: block;
	height: 100%;
	left: -50vw;
	position: absolute;
	top: 0;
	width: 200vw
}
.function-featured-especially figure {
	margin-left: auto;
	margin-right: auto;
	max-width: 520px;
	text-align: center;
	width: 100%
}
.function-featured-especially:after {
	content: '';
	display: block;
	height: 1px;
	width: 520px
}
.function-featured-list li {
	background-image: url(../img/icon-check-red.svg);
	background-size: 10px 8px;
	background-repeat: no-repeat;
	background-position: 0 0.4em;
	line-height: 1.5;
	padding-left: 14px;
	width: 50%
}
.function-featured-graph {
	margin: 20px auto;
	width: 77%
}
.function-effect-table-wrap {
	border: 1px solid #dbd4cb;
	border-radius: 5px;
	overflow: hidden;
}
.function-effect-table {
	border-collapse: collapse;
	border: none;
	margin: 0;
	width: 100%;
}
.function-effect-table tr {
	border: none
}
.function-effect-table th {
	font-size: 100%;
	font-size: 1rem;
	color: #fff;
	border: none;
	letter-spacing: 2.6px;
	padding: 0.6em;
	text-align: center;
}
.function-effect-table tr>th:nth-of-type(1) {
	background-color: #000;
	width: 42%
}
.function-effect-table tr>th:nth-of-type(2) {
	background-color: #377fc2
}
.function-effect-table tr>th:nth-of-type(3) {
	background-color: #0358a7
}
.function-effect-table td {
	font-size: 93%;
	font-size: .93rem;
	font-weight: 600;
	border: none;
	border-top: 1px solid #dbd4cb;
	padding: 0.5em
}
.function-effect-table td+td {
	border-left: 1px solid #dbd4cb
}
.function-effect-table tr>td:nth-of-type(1) {
	font-weight: 400
}
.function-all-list {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	line-height: 1.4
}
.function-all-list dl,.function-all-list dt {
	margin-top: 0
}
.function-all-list dt {
	font-weight: bold;
}
.function-all-list ul {
	margin: 0
}
.function-all-list li {
	line-height: 1.6
}
.function-all-list li:before {
	content: '・';
	font-weight: 600;
	margin-left: 0.5em;
	margin-right: 0.5em
}
.function-all-list ul.flex-wrap li {
	width: 48%
}
.function-sample-list {
	padding-bottom: 40px;
	position: relative
}
.function-sample-list li {
	border: 1px solid #eee;
	margin: 0 2px
}
.function-sample-list>.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 10px
}
.function-sample-list .swiper-pagination-bullet-active {
	opacity: 1;
	background-color: #000
}
.function-section {
	padding-top: 10px;
	padding-bottom: 40px;
	position: relative;
	text-align: left;
}
.function-section .heading-band-red {
	margin-top: 2em;
}

.block-border {
  padding: 19px 15px;
  border: solid 2px #eeeeee;
  background-color: #ffffff
}
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }
.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }
.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }
.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }
.mfp-align-top .mfp-container:before {
  display: none; }
.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }
.mfp-ajax-cur {
  cursor: progress; }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }
.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }
.mfp-auto-cursor .mfp-content {
  cursor: auto; }
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }
.mfp-loading.mfp-figure {
  display: none; }
.mfp-hide {
  display: none !important; }
.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }
.mfp-s-ready .mfp-preloader {
  display: none; }
.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }
.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover,
  .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }
.mfp-close-btn-in .mfp-close {
  color: #333; }
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }
.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }
.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover,
  .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before,
  .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }
.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }
.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }
.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }
.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }
.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }
.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }
.mfp-image-holder .mfp-content {
  max-width: 100%; }
.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } 
}

#sample {
	padding-bottom: 0;
}
.js-show-popup {
	cursor: pointer;
}

/* popup */
._modalOpen {
	margin: auto;
	min-width: auto;
	overflow: hidden !important;
	position: fixed;
	width: 100%;
}
._modalOpen::-webkit-scrollbar {
	display: none;
	-webkit-appearance: none;
}
.mfp-wrap {
	align-items: center;
	bottom: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column-reverse;
	height: 100vh !important;
	justify-content: center;
	margin: auto;
	max-width: 940px;
	right: 0;
	top: 0 !important;
	z-index: 10000;
}
.mfp-container:before {
	display: none;
}
.mfp-container.mfp-inline-holder {
	padding: 0 6px 50px;
	margin: 0 auto;
	max-height: 95%;
	height: auto;
	overflow: scroll;
	position: relative;
	box-sizing: border-box;
	width: 100%;
}
.mfp-container.mfp-inline-holder::-webkit-scrollbar {
	display: none;
	-webkit-appearance: none;
}
.mfp-auto-cursor .mfp-content {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	height: 100%;
	width: 100%;
}

/*for safari */
_::-webkit-full-page-media,
_:future,
:root .mfp-container.mfp-inline-holder {
	height: auto;
	overflow: visible;
	max-height: calc(100vh - 50px);
}

_::-webkit-full-page-media,
_:future,
:root .mfp-auto-cursor .mfp-content {
	max-height: calc(100vh - 100px);
	overflow: scroll;
}

/* start state */
.mfp-zoom-in .mfp-with-anim {
	opacity: 0;
	transition: all 0.2s ease-in-out;
	transform: scale(0.8);
}
.mfp-zoom-in.mfp-bg {
	height: 100vh !important;
	opacity: 0;
	transition: all 0.3s ease-out;
	z-index: 100;
}

/* animate in */
.mfp-zoom-in.mfp-ready .mfp-with-anim {
	opacity: 1;
	transform: scale(1);
}
.mfp-zoom-in.mfp-ready.mfp-bg {
	opacity: 0.8;
	position: fixed;
}

/* animate out */
.mfp-zoom-in.mfp-removing .mfp-with-anim {
	transform: scale(0.8);
	opacity: 0;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
	opacity: 0;
}


/* modal */
.modal-window {
	box-sizing: border-box;
	overflow: scroll;
	height: 100%;
	margin: auto;
	width: 100%;
}
.modal-window-inner {
	background: #fff;
	padding: 55px 45px;
}
.modal-window .text_block {
	margin-top: 10px;
	overflow: hidden;
}
.modal-window .text_block .ttl {
	height: 19px;
	opacity: 0.7;
	border: solid 0.5px #000000;
	background-color: #ffffff;
	float: left;
	font-size: 13px;
	font-weight: 500;
	font-style: normal;
	font-stretch: normal;
	line-height: 1.1;
	letter-spacing: normal;
	margin-right: 10px;
	padding: 6px 14px 0;
}
.modal-window .text_block .txt {
	font-size: 16px;
	font-weight: 500;
	font-style: normal;
	font-stretch: normal;
	line-height: 1.63;
	letter-spacing: normal;
	overflow: hidden;
	text-align: left;
	color: #000000;
}

/* nav button */
button.mfp-arrow {
	align-items: center;
	bottom: 0;
	color: rgba(255, 255, 255, 0.8);
	display: flex;
	height: 100%;
	font-size: 16px;
	margin: 0;
	position: absolute;
	width: 40px;
	height: 30px;
	margin: 0 auto;
	top: auto;
	visibility: hidden;
	width: 120px;
	z-index: 9999;

}
._modalOpen button.mfp-arrow {
	visibility: visible;
}

button.mfp-arrow.mfp-arrow-left {
	left: 50%;
	margin-left: -120px;
	padding-left: 30px;
}

button.mfp-arrow.mfp-arrow-right {
	justify-content: flex-end;
	margin-right: -120px;
	padding-right: 30px;
	right: 50%;
}

button.mfp-arrow.mfp-arrow-left::before,
button.mfp-arrow.mfp-arrow-right::before,
button.mfp-arrow.mfp-arrow-left::after,
button.mfp-arrow.mfp-arrow-right::after {
	background-color: rgba(255, 255, 255, 0.8);
	bottom: 0;
	border: none;
	content: '';
	margin: auto;
	height: 2px;
	position: absolute;
	top: 0;
	width: 20px;
	-webkit-transition: background ease-in-out 0.25s, box-shadow ease-in-out 0.25s;
	-moz-transition: background ease-in-out 0.25s, box-shadow ease-in-out 0.25s;
	-o-transition: background ease-in-out 0.25s, box-shadow ease-in-out 0.25s;
	transition: background ease-in-out 0.25s, box-shadow ease-in-out 0.25s;
}

button.mfp-arrow.mfp-arrow-left::before,
button.mfp-arrow.mfp-arrow-left::after {
	transform-origin: left center;
}

button.mfp-arrow.mfp-arrow-left::before {
	left: 0;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

button.mfp-arrow.mfp-arrow-left::after {
	left: 0;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

button.mfp-arrow.mfp-arrow-right::before,
button.mfp-arrow.mfp-arrow-right::after {
	left: auto;
	right: 0;
	transform-origin: right center;
}

button.mfp-arrow.mfp-arrow-right::before {
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

button.mfp-arrow.mfp-arrow-right::after {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


button.mfp-close {
	color: transparent;
	height: 43px;
	margin-bottom: 4px;
	margin-left: auto;
	outline: none;
	position: relative;
	text-indent: -999999px;
	visibility: hidden;
	width: 43px;
}
._modalOpen button.mfp-close {
	visibility: visible;
}

button.mfp-close:before,
button.mfp-close:after {
	background-color: rgba(255, 255, 255, 0.8);
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 40px;
	height: 2px;
	-webkit-transition: background ease-in-out 0.25s, box-shadow ease-in-out 0.25s;
	-moz-transition: background ease-in-out 0.25s, box-shadow ease-in-out 0.25s;
	-o-transition: background ease-in-out 0.25s, box-shadow ease-in-out 0.25s;
	transition: background ease-in-out 0.25s, box-shadow ease-in-out 0.25s;
}

button.mfp-close:before {
	-moz-transform: rotateZ(-45deg);
	-webkit-transform: rotateZ(-45deg);
	transform: rotateZ(-45deg);
}

button.mfp-close:after {
	-moz-transform: rotateZ(45deg);
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
}

/* pagenav hover */
button.mfp-arrow.mfp-arrow-left:hover,
button.mfp-arrow.mfp-arrow-right:hover {
	background-image: none;
	color: rgba(255, 255, 255, 0.8);
	text-shadow: 0 0 15px white;
}

button.mfp-arrow.mfp-arrow-left:hover::before,
button.mfp-arrow.mfp-arrow-right:hover::before,
button.mfp-arrow.mfp-arrow-left:hover::after,
button.mfp-arrow.mfp-arrow-right:hover::after,
button.mfp-close:hover:before,
button.mfp-close:hover:after {
	background-color: rgba(255, 255, 255, 1);
	background-image: none;
	box-shadow: 0 0 15px white;
}

button.mfp-close:hover,
button.mfp-close:hover {
	background-image: none;
}
/* flow */
.flow_item {
	letter-spacing: 0.8px;
	overflow: hidden;
	padding-bottom: 75px;
	padding-left: 140px;
	padding-top: 25px;
	position: relative;
	text-align: left;
}
.flow_item_num {
	align-items: center;
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	font-size: 26px;
	height: 90px;
	justify-content: center;
	left: 0;
	letter-spacing: 0.95px;
	line-height: 1.1;
	padding-left: 2px;
	position: absolute;
	top: 0;
	width: 90px
}
.flow_item_heading {
	font-size: 20px;
	font-weight: 600;
	border: none;
	margin: 0 0 15px 0;
	padding: 0
}
.function-flow-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1.5em;
}
.function-flow-list li {
  max-width: 500px;
	margin: 15px auto;
	width: calc(50% - 10px);
}
.function-flow-list li:first-child {
	max-width: 700px;
	width: 60%;
}
.contents-flow .aside-block-list dd {
  margin: 0
}
.contents-flow .aside-block-list ul {
  line-height: 1.6;
  margin: 0;
  padding-left: 1em
}
.flow-section {
	text-align: left;
}
.label-radius {
  font-size: 93%;
  font-size: .93rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #000;
  border-radius: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 600;
  height: 24px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1.1;
  width: 80px
}
.label-radius span {
  font-size: 108%;
  font-size: 1.08rem;
  letter-spacing: 0.7px
}
.flow-section_inner {
  margin: 0 auto;
  max-width: 950px;
}
.flow-list-item {
  letter-spacing: 0.8px;
  overflow: hidden;
  padding-bottom: 30px;
  padding-left: 50px;
  padding-top: 6px;
  position: relative
}
.flow-list-item:before {
  background: #000;
  content: '';
  display: block;
  height: 100%;
  left: 20px;
  position: absolute;
  top: 40px;
  width: 2px
}
.flow-list-item:last-child:before {
  display: none
}
.flow-list-num {
  font-size: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 50%;
  color: #dc2442;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 40px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  left: 0;
  letter-spacing: 0.95px;
  line-height: 1.1;
  padding-left: 2px;
  position: absolute;
  top: 0;
  width: 40px
}
.flow-list-heading {
  font-size: 110%;
  font-size: 1.1rem;
	font-weight: bold;
  border: none;
  margin: 0 0 15px 0;
  padding: 0
}
.flow-after-3m {
  background-color: #263855;
  border-radius: 5px;
  margin-bottom: 55px;
  padding: 40px 25px;
  position: relative
}
.flow-after-3m:after {
  content: '';
  display: block;
  border-style: solid;
  border-width: 24px 42.5px 0 42.5px;
  border-color: #263855 transparent transparent transparent;
  bottom: -24px;
  clear: both;
  height: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 0
}
.flow-after-3m-heading {
  margin: 0 auto 28px;
  width: 121px
}

dl.flow-after-3m-item {
  border-radius: 2.5px;
  background-color: #fff;
  overflow: hidden
}

dl.flow-after-3m-item+dl.flow-after-3m-item {
  margin-top: 10px
}

dl.flow-after-3m-item dt {
  font-size: 131%;
  font-size: 1.31rem;
  background-color: #10bdb7;
  color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 120px;
  padding: 20px 0;
  text-align: center
}

dl.flow-after-3m-item dt .label-radius {
  border-color: white;
  margin: 0 auto 10px;
  width: 120px
}

dl.flow-after-3m-item dt .label-radius+span {
  margin: auto
}

dl.flow-after-3m-item dd {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: start;
  font-weight: 600;
  line-height: 1.5;
  min-height: 90px;
	margin-left: auto;
	margin-right: auto;
  padding: 15px;
	width: fit-content;
}

dl.flow-after-3m-item dd ul {
  font-size: 108%;
  font-size: 1.08rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

dl.flow-after-3m-item dd li {
  /* padding-left: 20px; */
  width: 40%
}
.flow-after-end-heading {
  font-size: 116%;
  font-size: 1.16rem;
  border-bottom: 2px solid #e71c24;
  display: inline-block;
  font-weight: 600;
  margin: 0;
  text-align: center
}
.flow-after-end-heading span {
  font-size: 147%;
  font-size: 1.47rem
}
.flow-after-end-content {
  margin-top: 20px
}
.flow-after-end-content p {
  font-weight: 600;
  margin: 0
}
.flow-after-end-content strong {
  font-size: 185%;
  font-size: 1.85rem;
  display: inline-block;
  padding-top: 0.1em
}
.flow-after-end-content figure {
  margin-right: 15px;
  width: 63px
}

.aside-block {
	background-color: #eee;
}
.aside-block_inner {
  margin: 0 auto;
  max-width: 1000px;
  padding: 35px 15px;
}
.aside-block-title {
  font-size: 139%;
  font-size: 1.39rem;
  border-bottom: 1px solid #000;
  color: #dc2442;
  margin-bottom: 20px;
  padding-bottom: 15px
}
.aside-block-content {
  padding: 0 20px
}
.aside-block-icon {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto 25px;
  height: 110px;
  width: 110px
}
.aside-block-icon img {
  height: auto;
  width: 66%
}
.aside-block-list {
  font-weight: 600
}
.aside-block-list dt {
  background: url(../img/bg-arrow.svg) left top no-repeat;
  background-size: 100% 100%;
  color: white;
  display: inline-block;
  margin-bottom: 5px;
  padding: 3px 20px 3px 12px
}
.aside-block-list dd {
  margin: 0
}
.aside-block-list dd ul {
	margin-left: 1.5em;
}
.aside-block-list dd li {
	list-style: disc;
}
/* CTA */
.cta .contents_title {
	margin-bottom: 35px;
}
.cta {
	background: var(--color-main);
	color: white;
	padding-bottom: 25px;
	padding-top: 30px;
	text-align: center;
}
.cta_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	max-width: 1100px;
	width: 90%;
}
.cta .col {
	margin: 0 auto;
	padding: 20px 50px;
}
.cta .col+.col {
	border-left: 1px solid #fff;
	padding: 20px 50px
}
.cta_lead {
	font-size: 18px;
}
.cta_info {
	margin: 10px 0 0;
}
.cta_info_tel {
	color: white;
	font-size: 22px;
	font-weight: 600;
}
.cta_info_tel:before {
	background: url(../img/ic_phone.svg) left top / 100% 100% no-repeat;
	content: '';
	display: inline-block;
	height: 19px;
	margin-right: 10px;
	vertical-align: middle;
	width: 19px;
}
.cta .type-info_time {
}
.cta_btn {
	align-items: center;
	background-color: white;
	color: var(--color-main);
	display: flex;
	font-size: clamp(15px, 2.2vw,20px);
	font-weight: 600;
	height: 60px;
	margin: 20px 0;
	max-width: 524px;
	padding: 10px 40px 10px 25px;
	position: relative;
}
.cta_btn:after {
	bottom: 0;
  border-style: solid;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid var(--color-main);
  border-right: 0;
	content: '';
	display: block;
	height: 0;
	margin: auto;
	position: absolute;
	right: 24px;
	top: 0;
	width: 0;
}
@media (hover:hover){
	.btn-contact {
		transition: 0.3s;
	}
}
@media (max-width: 1023px) {
	/* mv */
	.mv_over_image {
		right: -25px;
	}
	.mv_over_left_button a {
		padding-right: 50px;
		width: fit-content;
	}

	/* roadTrafficAct */
	.roadTrafficActItem {
		margin: 10px auto;
		width: calc(50% - 20px);
	}
}
@media (max-width: 767px) {
	.header:before {
    background-color: #fff;
    content: '';
    display: block;
    left: 0;
    right: 0;
    height: 200vh;
    visibility: hidden;
    opacity: 0;
    position: fixed;
    -webkit-transition: opacity 0.3s, visibility 0.3s, z-index 0.3s;
    transition: opacity 0.3s, visibility 0.3s, z-index 0.3s;
    top: 0;
    width: 100%;
    z-index: -1;
	}
	.header-main {
		height: 60px;
		padding-left: 20px;
	}
	.header-main .header-main_left {
		align-items: center;
		display: flex;
		justify-content: space-between;
    height: 60px;
    margin: 0 auto;
    max-width: 100%;
    position: relative;
		width: 100%;
    z-index: 9999;
	}
	.header-main .header-main_left .logo {
		height: 30px;
	}
	.btn-contact {
		height: 36px;
		margin: 1.5em auto;
		max-width: 90%;		
	}
	.header-main .header-main_right {
		display: block;
		height: 0;
		left: 0;
		margin: 0 auto;
		max-width: none;
		opacity: 0;
		overflow: hidden;
		padding: 20px 15px;
		position: fixed;
		top: 60px;
		-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
		transition: opacity 0.3s, -webkit-transform 0.3s;
		transition: opacity 0.3s, transform 0.3s;
		transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
		-webkit-transform: translateY(-0.8em);
		transform: translateY(-0.8em);
		visibility: hidden;
		width: 100%;
		z-index: 9999;
	}
	.header-nav {
		border-top: 1px solid rgba(0, 0, 0, 0.2);
		display: block;
		margin: 0 auto;
		padding: 0
	}
	
	.header-nav_item {
		font-size: 116%;
		font-size: 1.16rem;
		font-weight: 600;
		list-style: none;
		margin: 0 auto;
		overflow: hidden
	}
	
	.header-nav_ancher {
		border-bottom: 1px solid rgba(0, 0, 0, 0.2);
		color: black;
		display: block;
		padding: 15px;
		position: relative;
		-webkit-transition: opacity 0.3s;
		transition: opacity 0.3s
	}
		
	/* SP メニューオープン時 */
	._navOpen .header:before {
		opacity: 1;
		visibility: visible;
		-webkit-transition: opacity 0.6s, visibility 0.3s, z-index 0.3s;
		transition: opacity 0.6s, visibility 0.3s, z-index 0.3s;
		z-index: 9999;
		width: 100%
	}

	._navOpen .header-hamburger_line:before {
		bottom: 0;
		top: 0;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transition: bottom 0.3s, -webkit-transform 0.3s;
		transition: bottom 0.3s, -webkit-transform 0.3s;
		transition: transform 0.3s, bottom 0.3s;
		transition: transform 0.3s, bottom 0.3s, -webkit-transform 0.3s;
		-webkit-transition-delay: 0.3s, 0s;
		transition-delay: 0.3s, 0s
	}

	._navOpen .header-hamburger_line span {
		left: 50%;
		-webkit-transition-delay: 0.3s;
		transition-delay: 0.3s;
		width: 0
	}

	._navOpen .header-hamburger_line:after {
		bottom: 0;
		top: 0;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		-webkit-transition: top 0.3s, -webkit-transform 0.3s;
		transition: top 0.3s, -webkit-transform 0.3s;
		transition: transform 0.3s, top 0.3s;
		transition: transform 0.3s, top 0.3s, -webkit-transform 0.3s;
		-webkit-transition-delay: 0.3s, 0s;
		transition-delay: 0.3s, 0s
	}

	._navOpen .header-main_right {
		height: auto;
		max-height: calc(100vh - 60px);
		overflow: scroll;
		opacity: 1;
		visibility: visible;
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
		-webkit-transition: opacity 0.8s, -webkit-transform 0.5s;
		transition: opacity 0.8s, -webkit-transform 0.5s;
		transition: opacity 0.8s, transform 0.5s;
		transition: opacity 0.8s, transform 0.5s, -webkit-transform 0.5s;
		-webkit-transition-delay: 0.3s;
		transition-delay: 0.3s
	}
	
	/* mv */
	.mv {
		height: calc(100vh - 60px);
		padding: 0;
	}
	.mv_over {
		flex-wrap: nowrap;
		flex-direction: column;
		height: 100%;
		padding: 30px 0 0;
	}
	.mv_over_left {
		margin: auto auto 0;
		width: 90%;
	}
	.mv_over_image {
		bottom: auto;
		height: auto;
		margin-top: auto;
		right: auto;
		padding-bottom: 50px;
		position: relative;
		text-align: center;
	}
	.mv_over_right_main {
		height: auto;
		position: relative;
		width: 94%;
	}
	.mv_over_image .mv_person {
		bottom: 0;
		max-width: 82px;
		right: 50%;
		transform: translateX(-96%);
		width: 22%;
	}
	.mv_over_left_button {
		background-color: #F2F2F2;
		bottom: 0;
		left: 0;
		margin: auto auto 0;
		position: relative;
		padding: 20px;
		width: 100%;
	}
	.mv_over_left_button a {
		height: 55px;
		margin-left: auto;
		margin-right: auto;
	}
	.mv_over_left_button a:after {
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		border-left: 8px solid var(--color-main);
	}
	.mv_over_release {
		bottom: 20px;
		right: 20px;
		transform: scale(0.75);
		transform-origin: right bottom;
		top: auto;
	}
	/* contents共通 */
	.contents {
		padding: 60px 20px;
	}
	.contents_title {
		background-size: auto 18px, auto 18px;
		font-size: 20px;
		margin: 0 auto 35px;
		padding: 10px 35px;
	}
	.heading {
		font-size: 19px;
	}
	.heading-red {
		font-size: 1.2rem;
	}
	.heading-band-red {
		font-size: 16px;
	}
	/* footer */
	.footer {
		flex-direction: column;
		padding: 30px 20px 20px;
		text-align: center;
	}
	.footer_nav {
		justify-content: center;
		width: 100%;
	}
	.footer_nav li {
		margin: 0.2em 1em;
	}
	.footer .company {
		display: block;
		margin-top: 2em;
	}
	.footer .company_logo {
		margin: auto;
		max-width: 200px;
		width: 70%;
	} 
	.footer .company span {
		font-size: 18px;
	}
	.btn-page-top {
		right: 15px;
		bottom: 15px;
	}
	.btn-page-top.is-fixed {
		right: 15px;
	}
	/* CTA */
	.cta {
		padding-bottom: 15px;
    padding-top: 15px;
	}
	.cta .col {
		padding: 1em 15px;
		width: 100%;
	}
	.cta .col+.col {
		border-left: none;
		border-top: 1px solid #fff;
		padding: 2.3em 15px 1em;
	}
	.cta_lead {
		font-size: 16px;
	}
	.cta_btn {
		margin-top: 30px;
		height: 50px;
	}

	/* userCompany */
	.userCompany_item {
		margin-left: auto;
		margin-right: auto;
		padding: 15px;
		width: 33%;
	}
	.userCompany_lead {
		font-size: 16px;
	}
	.userCompany_lead strong:after {
		background: url(../img/border01.png) left center / contain no-repeat;
		bottom: -8px;
		height: 8px;
	}
	/* reason */
	.reason_item {
		margin: 0 auto 3em;
		max-width: none;
		width: 90%;
	}
	.reason_item_img {
		height: 165px;
		max-width: 80%;
	}
	.reason_item_img img {
		width: 50%;
	}
	.reason_item:nth-child(3) .reason_item_img img {
		width: 46%;
	}
	/* casestudy */
	.casestudy_item_inner {
		padding: 0 35px;
	}
	.casestudy_item_logo {
		margin-left: auto;
		margin-right: auto;
		width: 80%;
	}
	/* onayami */
	.contents-onayami {
		background-size: 860px auto;
		background-position: right -185px bottom;
		padding-bottom: 50px;
		padding-top: 60px;
	}
	.contents-onayami + .contents:before {
		border-right: 60px solid transparent;
    border-left: 60px solid transparent;
    border-top: 30px solid #F7F7F7;
	}
	.onayami_title {
		font-size: 18px;
		margin-bottom: 25px;
	}
	.onayami_title strong {
		font-size: 22px;
	}
	.onayami_title b:before {
		height: 10px;
		top: -11px;
		width: 10px;
	}
	.onayami_list {
		display: block;
	}
	.onayami_item {
		margin-bottom: 30px;
		max-width: 345px;
		width: auto;
	}
	.onayami_item:nth-child(1) {
		margin-left: 0;
		margin-right: auto;
	}
	.onayami_item:nth-child(2n) {
		margin-left: auto;
		margin-top: 0;
	}
	.onayami_item_inner {
    margin-right: 0%;
    width: 70%;
	}
	.onayami_item_img {
		bottom: 5px;
		position: absolute;
		right: 0;
		text-align: right;
	}
	.onayami_item_img img {
		height: 85px;
		max-width: none;
	}
	.onayami_item_fukidashi {
		font-size: 14px;
		padding: 15px;
		width: auto;
	}
	.onayami_item_detail {
		font-size: 16px;
		margin: 15px auto 0 10px;
		position: relative;
		z-index: 1;
	}
	.onayami_item_detail .label {
		font-size: 12px;
		padding: 3px 12px;
	}
	.onayami_item_detail .text {
		margin-bottom: 0;
		text-shadow: 3px 3px 3px #F7F7F7;
		width: fit-content;
	}
	/* feature */
	.feature_title {
		font-size: 16px;
		line-height: 1.8;
		margin-bottom: 35px;
	}
	.contents-feature .contents_detail {
		display: block;
	}
	.contents-feature .feature_strong {
		font-size: 18px;
	}
	.feature_title strong:after {
		bottom: -6px;
		height: 8px;
		width: 100px;
	}
	.feature_item {
		display: block;
    min-height: 215px;
    margin: 2px;
    padding: 0 0 10px;
    width: calc(50% - 4px);
	}
	.feature_item figure {
		align-items: center;
		display: flex;
		justify-content: center;
		float: none;
		height: 76px;
		width: 100%;
	}
	.feature_item .icon-cloud {
		width: 47.5px;
		height: 47.5px
	}
	.feature_item .icon-download {
		width: 43px;
		height: 43.5px
	}
	.feature_item .icon-filelink {
		width: 39.5px;
		height: 50.5px
	}

	.feature_item .icon-connect {
		width: 38.5px;
		height: 55px
	}

	.feature_item .icon-graph {
		width: 43px;
		height: 43px
	}
	.feature_item .icon-transfer {
		width: 49px;
		height: 48px
	}
	.feature_item .icon-tap {
		width: 39.5px;
		height: 54.5px
	}
	.feature_item .icon-percent {
		width: 38px;
		height: 48px
	}
	.feature_item .icon-remote {
		width: 53px;
		height: 50px
	}
	.feature_item .icon-drug-price {
		width: 46.5px;
		height: 54px
	}
	.feature_item .icon-support {
		width: 48px;
		height: 49.5px
	}
	.feature_item .icon-handy {
		width: 43.5px;
		height: 54.5px
	}
	.feature_item-text {
		padding: 0 10px;
	}
	.feature_item-text .text1 {
		text-align: center;
	}
	/* flow */
	.flow_item {
		padding: 10px 0 35px 50px;
	}
	.flow_item_num {
		font-size: 19px;
		height: 44px;
		width: 44px;
	}
	.flow_item_heading {
		font-size: 16px;
	}
	.function-flow-list {
		display: block;
	}
	.function-flow-list li {
		margin: 0 auto 20px;
		width: 100%;
	}
	.function-flow-list li:first-child {
		max-width: 500px;
		width: 100%;
	}
	/* function */
	.function-section .heading-band-red {
		margin-top: 1.5em;
	}
	.function-featured-especially {
		margin-bottom: 50px;
	}
	.mfp-wrap {
		margin: 0;
	}
}
@media (min-width: 767px) {
	.block-min {
		max-width: 90%;
	}
  .label-radius {
    font-size: 124%;
    font-size: 1.24rem;
    border-radius: 18px;
    border-width: 2px;
    height: 36px;
    width: 100px
  }
  .label-radius span {
    font-size: 154%;
    font-size: 1.54rem
  }
  .flow-section + .flow-section {
    margin-top: 80px
  }
  .flow-list-item {
    font-size: 139%;
    font-size: 1.39rem;
    padding-left: 80px;
    padding-bottom: 35px;
    padding-top: 20px
  }
  .flow-list-item:before {
    left: 32px;
    width: 3px
  }
  .flow-list-num {
		font-size: 30px;
    border-width: 3px;
    height: 64px;
    width: 64px
  }
  .flow-list-heading {
    font-size: 24px;
    margin: 0 0 25px 0
  }
	.flow-list-text {
		font-size: 18px;
	}
  .flow-after-3m {
    border-radius: 10px;
    padding: 42px 35px 36px
  }
  .flow-after-3m:after {
    border-width: 43px 70px 0 70px;
    border-color: #263855 transparent transparent transparent;
    bottom: -43px
  }
  .flow-after-3m-heading {
    margin-bottom: 30px;
    width: 181px
  }
  .flow-after-3m-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
  }

  dl.flow-after-3m-item {
    border-radius: 5px;
    margin: 5px;
    width: 300px
  }

  dl.flow-after-3m-item+dl.flow-after-3m-item {
    margin: 5px
  }

  dl.flow-after-3m-item dt {
    font-size: 22px;
		font-weight: bold;	
    line-height: 1.23;
    min-height: 200px;
    padding: 24px 0 16px
  }

  dl.flow-after-3m-item dt .label-radius {
    font-size: 16px;
    width: 160px
  }

  dl.flow-after-3m-item dd {
    min-height: 130px
  }

  dl.flow-after-3m-item dd ul {
    font-size: 18px;
  }

  dl.flow-after-3m-item dd li {
    white-space: nowrap;
    width: 44%
  }

  dl.flow-after-3m-item:nth-child(2) dd li:nth-child(odd) {
    width: 48%
  }
  .flow-after-end-heading {
    font-size: 170%;
    font-size: 1.7rem;
    border-width: 4px
  }
  .flow-after-end-heading span {
    font-size: 231%;
    font-size: 2.31rem
  }
  .flow-after-end-content {
    margin-top: 24px
  }
  .flow-after-end-content p {
    font-size: 154%;
    font-size: 1.54rem
  }
  .flow-after-end-content strong {
    font-size: 293%;
    font-size: 2.93rem
  }
  .flow-after-end-content figure {
    margin-right: 29px;
    width: 102px
  }
	.aside-block_inner {
    padding-bottom: 55px;
    padding-top: 55px
  }
  .aside-block .col-1 {
    width: 180px
  }
  .aside-block .col-2 {
    font-size: 18px;
    padding-left: 30px;
    width: calc(100% - 180px)
  }
  .aside-block-title {
    font-size: 216%;
    font-size: 2.16rem;
    border-width: 2px;
    letter-spacing: 0.7px;
    margin-bottom: 30px;
    padding-bottom: 20px
  }
  .aside-block-icon {
    height: 180px;
    width: 180px
  }
  .aside-block-list {
    margin: 0
  }
  .aside-block-list dt {
    margin-right: 16px;
    padding: 3px 25px 2px 15px
  }
  .aside-block-list ul {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 0.2em
  }
  .aside-block-list li {
		font-size: 16px;
    width: 48%
  }
	.function-section {
		padding-top: 50px;
	}
	.function-featured-block {
		padding-bottom: 50px;
	}
	.function-featured-block:nth-child(odd) {
		flex-direction: row-reverse;
	}
	.function-featured-block .heading-red {
		font-size: 20px;
	}
	.function-featured-graph {
		margin: 0 auto;
		width: 47%;
	}
	.function-featured-text {
		margin: 0 auto;
		width: 49%;
	}
	.function-featured-especially .function-featured-block {
		width: calc(50% - 30px);
	}
	.function-featured-especially .function-featured-block:nth-child(odd) {
		margin-right: auto;
	}
	.function-effect-table th {
		padding: 0.8em;
	}
	.function-effect-table td {
		padding: 1.2em;
	}
	.function-effect-table td+td {
		text-align: center;
	}
}
@media (min-width: 768px) and (max-width: 1023px){
	.onayami_item {
		margin: 0 auto;
	}
	.onayami_item_img {
		padding-top: 39%;
		position: relative;
	}
	.onayami_item_img img {
		height: 140px;
    width: auto;
    position: absolute;
    bottom: 0;
    right: 0;
    max-height: 100%;
    max-width: max-content;
	}
}
@media (max-width: 428px) {
	.onayami_item,
	.onayami_item:nth-child(1),
	.onayami_item:nth-child(2n){
		margin-left: auto;
		margin-right: auto;
	}
}
/* contact 
----------------------*/
.contents-contact .contents_detail {
	max-width: 858px;
	text-align: left;
}
.contents-contact p,
.contents-contact dd {
	margin-bottom: 0;
}
.contact-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 15px 0;
}
.contact-list-head {
	width: 20%;
}
.contact-list-head-txt {
	font-size: 15px;
	letter-spacing: .15em;
	padding: .5em 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.type-required:after {
	content: "*";
	color: #ff0000;
	font-size: 18px;
}
.contact-list-body {
	width: 67%;
}
.contact-list-body-txt {
	font-size: 16px;
	letter-spacing: .05em;
}
.contanct-error-txt {
	font-size: 14px;
	font-weight: bold;
	color: #ff0000;
	margin-top: .75em;
}
.contanct-error-txt + .contanct-error-txt {
	margin-top: .15em;
}
.contanct-select-item label {
	cursor: pointer;
	display: inline-block;
}
.contents-contact .wpcf7-list-item {
  display: block;
  margin: 1em 0 0 1em;
}
/* radio */
.wpcf7-radio input[type="radio"],
.input-type-radio {
	display: none;
}
.wpcf7-radio {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	line-height: 1.1;
}
.wpcf7-radio .wpcf7-list-item-label,
.contanct-select-item-txt,
.mwform-radio-field-text {
	padding-left: 1.5em;
	position: relative;
}
.wpcf7-radio .wpcf7-list-item-label:before,
.contanct-select-item-txt:before,
.mwform-radio-field-text:before {
	background: #fff;
	border-radius: 50%;
	bottom: 0;
	content: "";
	display: block;
	height: 18px;
	left: 0;
	margin: auto;
	position: absolute;
  top: 0px;
	width: 18px;
}
.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label:after,
.input-type-radio:checked + .contanct-select-item-txt:after,
.input-type-radio:checked + .mwform-radio-field-text:after {
	border-radius: 50%;
	bottom: 0;
	background: #091138;
	content: "";
	display: block;
	height: 10px;
	left: 4px;
	margin: auto;
	position: absolute;
  top: 0;
	width: 10px;
}

#type-contact input[type=text],
#type-contact input[type=email],
#type-contact input[type=tel],
#type-contact textarea {
	border: none;
	font-size: 15px;
	font-family: inherit;
	padding: 0.5em;
	width: 100%;
}
.contact-list-body-txt input[type="text"]::-webkit-input-placeholder {
	color: #999;
}
.contact-list-body-txt input[type="text"]:-ms-input-placeholder {
	color: #999;
}
.contact-list-body-txt input[type="text"]::-ms-input-placeholder {
	color: #999;
}
.contact-list-body-txt input[type="text"]::placeholder {
	color: #999;
}
.contact-list-body-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.contact-list-body-item {
	width: 48.5%;
}
.contact-list-body-txt textarea {
	width: 100%;
	height: 7em;
	line-height: 1.4;
}
/* name */
.contact-name {
	display: flex;
}
.contact-name .contact-list-body {
	margin-right: 3%;
	width: 22%;
}
/* accept */
.contact-accept {
	margin: 20px 0;
	text-align: center;
}
.contact-accept a {
	text-decoration: underline;
}
.contact-accept a:hover {
	text-decoration: none;
}
.contact-accept-list .wpcf7-form-control-wrap {
	margin: 0 auto;
}
.contact-accept-list p {
	display: flex;
	flex-wrap: wrap;
	padding-top: 30px;
}
.wpcf7-acceptance label {
	line-height: 1.1;
	padding-left: 3em;
	position: relative;
}
.wpcf7-acceptance label:before {
	background-color: #fff;
	content: '';
	display: block;
	height: 20px;
	left: 0;
	position: absolute;
	top: 2px;
	width: 20px;
}
.wpcf7-acceptance input[type='checkbox'] {
	position: absolute;
	z-index: -1;
	opacity: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}
.wpcf7-acceptance .wpcf7-list-item-label:before, 
.wpcf7-acceptance .wpcf7-list-item-label:after {
	background-color: black;
	content: "";
	display: block;
	opacity: 0;
	position: absolute;
}
.wpcf7-acceptance .wpcf7-list-item-label:before {
	height: 3px;
	width: 12px;
	top: 11px;
	left: 3px;
	transform: rotate(45deg);
}
.wpcf7-acceptance .wpcf7-list-item-label:after {
	height: 3px;
	width: 18px;
	top: 7px;
	left: 11px;
	transform: rotate(-45deg);
}
.wpcf7-acceptance input[type='checkbox']:checked+.wpcf7-list-item-label:before, 
.wpcf7-acceptance input[type='checkbox']:checked+.wpcf7-list-item-label:after {
	opacity: 1;
}
/* submit */
.contanct-btn-area {
	padding: 20px 0 0;
	text-align: center;
}
.contanct-btn-area .contanct-error-txt {
	font-size: 15px;
	margin-bottom: .5em;
}
.contact-send-btn {
	align-items: center;
	background-color: var(--color-main);
	border-radius: 30px;
	border: 2px solid var(--color-main);
	color:white;
	cursor: pointer;
	display: flex;
	font-size: 22px;
	font-weight: 700;
	height: 59px;
	justify-content: center;
	max-width: 313px;
	margin: 40px auto 0;
	padding: 0 20px;
	transition: 0.3s;
	width: 90%;
}
.contact-send-btn:hover {
	background-color: #fff;
	color:  var(--color-main);
}
.wpcf7-spinner {
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 10px;
}
.wpcf7 form .wpcf7-response-output {
	border: none!important;
	color: #ff0000;
	text-align: center;
}
@media (max-width: 767px) {
	.contact-list {
		padding: 10px 0;
	}
	.contact-list-head {
		width: 100%;
	}
	.contact-list-body {
		width: 100%;
	}
	.contact-name .contact-list-body {
		width: 100%;
	}
}
.contents-thanks {
	padding-top: 200px;
}
.contents-thanks .contents_title {
	background: none;
	padding: 0;
}
.contents-thanks .detail {
	text-align: center;
}
.contents-thanks .detail p {
	margin-bottom: 15px;
}
.contents-thanks .thanks-btn {
	align-items: center;
	background-color: var(--color-main);
	border-radius: 30px;
	border: 2px solid var(--color-main);
	color:white;
	cursor: pointer;
	display: flex;
	font-size: 22px;
	font-weight: 700;
	height: 59px;
	justify-content: center;
	max-width: 313px;
	margin: 40px auto 0;
	padding: 0 20px;
	transition: 0.3s;
	width: 90%;
}
.contents-thanks .thanks-btn:hover {
	background-color: #fff;
	color:  var(--color-main);
}
@media (max-width: 1023px) {
	body {
		padding-bottom: 0;
	}
	.contents-thanks {
	padding-top: 180px;
}
	/* .footer {
			position: static;
	} */
}
@media (max-width: 640px) {
	.contents-thanks {
		padding-top: 160px;
	}
}