@charset "utf-8";

body > .wrapper {
	overflow: hidden;
}

/* ===================================================================== */
/* Main Visual * /
/* ===================================================================== */
#main-visual {
	width: 100%;
	height: 90vh;
	background: url("img/mv-01.jpg") no-repeat center center;
	background-size: cover;
	background-color: #0c6c84;
	background-blend-mode: multiply;
	position: relative;
}
#main-visual::before,
#main-visual::after {
	content: "";
	position: absolute;
}
#main-visual::before {
	background: url("img/deco-01.png") no-repeat top center;
	background-size: cover;
	mix-blend-mode: soft-light;
	filter: opacity(.5);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

#main-visual .container {
	position: relative;
	z-index: 2;
}
.top-catch {
	display: -webkit-flex;
  -webkit-flex-flow: column-reverse nowrap;
  display: flex;
  flex-flow: column-reverse nowrap;
	position: absolute;
	top: 55%;
  left: 5%;
  transform: translateY(-50%);
  color: #fff;
  text-align: center;
  text-shadow: 0 0 12px rgba(0,0,0,.2);
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}
.lp-a .top-catch {
	font-family: 'Josefin Sans', 'Noto Sans JP', sans-serif;
}
.top-catch h1 {
	font-size: 4rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: pre;
	margin-bottom: 3.2rem;
}
.top-catch h1 span {
	font-size: 1.25em;
}
.top-catch p {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.2;
	white-space: pre;
	margin-bottom: 2rem;
}
.top-catch p span {
	font-size: 1.45em;
}
.top-img {
	position: absolute;
	top: 55%;
  right: 2%;
  transform: translateY(-50%);
	bottom: 6rem;
	width: 352px;
	height: 360px;
	z-index: 1;
}

.scroll-down {
  position: absolute;
  bottom: 4rem;
  left: 0;
  right: 0;
  margin: auto;
  width: 2rem;
  text-align: center;
  z-index: 1;
}
.scroll-down a {
	font-family: 'Josefin Sans', sans-serif;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-decoration: none;
  margin-right: 3px;
}
.scroll-down a:hover {
  color: #0c6c84;
  text-decoration: none;
}

@media only screen and (min-width: 1379px) {

	.top-catch {
		left: 0;
	}

}

@media only screen and (max-width: 1180px) {

	.top-catch {
		left: 0;
	}
	.top-img {
	  right: 0;
	}

}

@media only screen and (max-width: 1000px) {

	.top-catch {
		width: 100%;
	}
	.top-img {
		width: 196px;
		height: 200px;
		top: auto;
		bottom: -180px;
	}

}

@media only screen and (max-width: 767px) {

	.top-catch h1 {
		font-size: 4.2vw;
	}
	.top-catch p {
		font-size: 3vw;
	}
	.top-img {
		width: 118px;
		height: 120px;
		bottom: -100px;
	}

}

@media only screen and (max-width: 560px) {

	.top-catch h1 {
		font-size: 6vw;
	}
	.top-catch p {
		font-size: 4.8vw;
	}

}

/* ===================================================================== */
/* Intro * /
/* ===================================================================== */
#intro {
	padding-bottom: 12.8rem;
}
#intro .title-1 {
	margin-bottom: 2.4rem;
}
#intro .img-box {
	width: 100%;
	max-width: 480px;
	margin: 0 auto 4.8rem;
}

.merit-list {
	position: relative;
}
.merit-list::before {
	content: "";
	width: 100%;
	height: 65%;
	background-size: auto auto;
	background-color: rgba(255, 255, 255, 0);
	background-image: repeating-linear-gradient(
		-45deg, transparent, transparent 8px, #006b85 8px, #006b85 16px);
	position: absolute;
	left: 0;
	bottom: -5%;
	z-index: -1;
}
.merit-list ul {
	width: 90%;
	margin: 0 auto;
}
.merit-list li {
	width: 30%;
	padding: 4.8rem 3.6rem;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 12px;
	box-shadow:  0 0 24px rgb(0, 0, 0, .2);
	margin-right: 5%;
	margin-bottom: 4.8rem;
	position: relative;
}
.merit-list li:last-child {
	margin-right: 0;
}
.merit-list li::before {
	content: "";
	position: absolute;
	top: -3.2rem;
	left: 0;
	right: 0;
	margin: auto;
	width: 6.4rem;
	height: 6.4rem;
	background: #0c6c84 url("img/pig-icon-white.svg") no-repeat center center;
	background-size: cover;
	border-radius: 50%;
}
.merit-list li h3 {
	color: #0c6c84;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
	margin-bottom: .8rem;
}
.merit-list li p {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.6;
}

@media only screen and (max-width: 980px) {

	.merit-list ul {
		width: 95%;
	}

	.merit-list li {
		width: 30.6666%;
		margin-right: 4%;
	}

}

@media only screen and (max-width: 840px) {

	.merit-list ul {
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;
	}

	.merit-list li {
		width: 48%;
	}
	.merit-list li:nth-child(2) {
		margin-right: 0;
	}

}

@media only screen and (max-width: 560px) {

	.merit-list::before {
		height: 90%;
	}

	.merit-list li {
		width: 100%;
	}
	.merit-list li {
		margin-right: 0;
	}

}

/* ===================================================================== */
/* Trouble * /
/* ===================================================================== */
#trouble {
	padding-top: 0;
	padding-bottom: 0;
}
#trouble .wrapper {
	width: 100%;
	height: 100%;
	background: url("img/trouble_img-01.jpg") no-repeat center center;
	background-size: cover;
	padding-bottom: 6.4rem;
	position: relative;
}
#trouble .wrapper::before,
#trouble .wrapper::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#trouble .wrapper::before {
	background-color: #000;
	mix-blend-mode: color;
}
#trouble .wrapper::after {
	background-color: #2a2f3c;
	mix-blend-mode: hard-light;
	filter: brightness(.75);
}

#trouble .title-2 {
	color: #dc3e50;
	position: relative;
	z-index: 1;
}

#trouble .container {
	position: relative;
	z-index: 1;
}

.trouble-list {
	width: 70%;
	margin: 0 auto;
	text-align: center;
}
.trouble-list > div {
	display: inline-block;
	box-sizing: border-box;
	margin-bottom: 4.8rem;
}
.trouble-list > div h3 {
	color: #fff;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: left;
	padding-left: 2.8rem;
	text-indent: -3.4rem;
}
.trouble-list > div h3::before {
	font-family: "Material Icons";
	content: "\e86c";
	vertical-align: -2px;
	font-weight: normal;
	margin-right: 4px;
}
.trouble-list > div h3 span.marker {
	background: linear-gradient(transparent 70%, #dd3b4b 30%);
}

.trouble-list > div ul {
	display: inline-block;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: left;
}
.trouble-list > div li {
	border-bottom: 1px solid #fff;
	margin-bottom: .8rem;
}
.trouble-list > div li::before {
	font-family: "Material Icons";
	content: "\e876";
	vertical-align: -3px;
	margin-right: 4px;
}

@media only screen and (max-width: 640px) {

	.trouble-list {
		width: 100%;
	}

}

/* ===================================================================== */
/* About * /
/* ===================================================================== */
#about {
	padding-top: 0;
}

#about .title-2 {
	background-color: #0c6c84;
}
#about .title-2::after {
  border-color: #0c6c84 transparent transparent transparent;
}

.about-list li {
	margin-bottom: 9.6rem;
	counter-increment: num;
	position: relative;
}
.about-list li:nth-child(odd)::before,
.about-list li:nth-child(even)::before {
	content: "";
	width: 48%;
	height: 138px;
	background-color: #0c6c84;
	position: absolute;
	bottom: -4.8rem;
	z-index: -1;
}
.about-list li:nth-child(odd)::before {
	left: -10%;
	transform:skewX(30deg);
}
.about-list li:nth-child(even)::before {
	right: -10%;
	transform:skewX(-30deg);
}
.about-list li > div {
	-webkit-align-items: center;
	align-items: center;
}
.about-list li .img-box {
	width: 314px;
	position: relative;
}
.about-list li:nth-child(odd) .img-box {
	margin-right: 10%;
}
.about-list li:nth-child(even) .img-box {
	margin-left: 10%;
}
.about-list li .img-box::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #0c6c84;
	mix-blend-mode: soft-light;
	z-index: 1;
}
.about-list li img {
	width: 100%;
	height: 100%;
	box-shadow: 0 0 24px rgba(0,0,0,.2);
}
.about-list li .text-box {
	flex: 1;
	width: auto;
	margin: 0;
}
.about-list li h3 {
	color: #0c6c84;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 1.6rem;
	position: relative;
}
.about-list li h3::before {
	content: counter(num, decimal-leading-zero);
	font-family: 'Josefin Sans', sans-serif;
	color: #0c6c84;
	font-size: 12.8rem;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	top: -3.2rem;
	left: 0;
	opacity: .2;
	z-index: -1;
}
.about-list li p {
	font-weight: bold;
}

@media only screen and (max-width: 767px) {

	.about-list li:nth-child(odd)::before,
	.about-list li:nth-child(even)::before {
		display: none;
	}

	.about-list li > div {
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	.about-list li .img-box {
		width: 100%;
		margin-bottom: 4rem;
	}
	.about-list li:nth-child(odd) .img-box {
		margin-right: 0;
	}
	.about-list li:nth-child(even) .img-box {
		margin-left: 0;
	}
	.about-list li .text-box {
		width: 100%;
	}

}

/* ===================================================================== */
/* Solution * /
/* ===================================================================== */
.solution-list ul {
	font-weight: bold;
	width: 90%;
	margin: 0 auto;
}
.solution-list li {
	width: 48%;
	padding: 5.6rem 3.6rem 4.8rem;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 12px;
	box-shadow:  0 0 24px rgb(0, 0, 0, .2);
	margin-right: 4%;
	margin-bottom: 6.4rem;
	counter-increment: num;
	position: relative;
}
.solution-list li:nth-child(even) {
	margin-right: 0;
}
.solution-list li::before {
	font-family: 'Josefin Sans', sans-serif;
	content: counter(num, decimal-leading-zero);
	color: #0c6c84;
	font-size: 8rem;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	top: -3.6rem;
	left: 0;
	width: 100%;
	text-align: center;
}
.solution-list li h3 {
	color: #0c6c84;
	font-size: 2.8rem;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 1.6rem;
}
.solution-list li img {
	width: 100%;
	max-width: 160px;
	margin: auto auto 2.4rem;
}

@media only screen and (max-width: 560px) {

	.solution-list li {
		width: 100%;
		margin-right: 0;
	}

}

/* ===================================================================== */
/* Client * /
/* ===================================================================== */
#client {
	padding-top: 9.6rem;
}

#client .title-1 {
	margin-bottom: 0;
}
.slide-list {
	background-color: #fff;
	margin-bottom: 4.8rem;
}

/* ===================================================================== */
/* Case * /
/* ===================================================================== */
#case .title-2 {
	background-color: #0c6c84;
}
#case .title-2::after {
  border-color: #0c6c84 transparent transparent transparent;
}

.case-list ul {
	font-weight: bold;
}
.case-list li {
	width: 30%;
	padding: 4.8rem 3.6rem;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 12px;
	box-shadow:  0 0 24px rgb(0, 0, 0, .2);
	margin-right: 5%;
	margin-bottom: 6.4rem;
	counter-increment: num;
	position: relative;
}
.case-list li:nth-child(3),
.case-list li:nth-child(5) {
	margin-right: 0;
}
.case-list li p {
	font-family: 'Josefin Sans', sans-serif;
	color: #0c6c84;
	font-size: 4rem;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	top: -2.8rem;
	left: 0;
	width: 100%;
	text-align: center;
}
.case-list li p span {
	font-size: 1.5em;
}
.case-list li img {
	width: 100%;
	max-width: 160px;
	border-radius: 12px;
	margin: auto auto 2.4rem;
}
.case-list li h3 {
	color: #0c6c84;
	font-size: 2.4rem;
	line-height: 1.6;
	text-align: center;
}

@media only screen and (max-width: 560px) {

	.case-list li {
		width: 100%;
		margin-right: 0;
	}

}

/* ===================================================================== */
/* Example * /
/* ===================================================================== */
.example-list li {
	width: 30%;
	background-color: #fff;
	box-shadow:  0 0 24px rgb(0, 0, 0, .2);
	margin-right: 5%;
	margin-bottom: 4.8rem;
}
.example-list li:last-child {
	margin-right: 0;
}
.example-list li h3 {
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
	background-color: #0c6c84;
	padding: .8rem 1.6rem;
}
.example-list li p {
	font-weight: bold;
	padding: .8rem 1.6rem;
}

@media only screen and (max-width: 767px) {

	.example-list ul {
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	.example-list li {
		width: 100%;
		max-width: 400px;
		margin-right: 0;
	}

}

.case-study {
	width: 80%;
	padding: 4.8rem;
	padding-top: 1.6rem;
	box-sizing: border-box;
	margin: 0 auto;
}
.case-study h3 {
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
	padding: .6rem 2.4rem;
	background-color: #0c6c84;
	border-radius: 40px;
	margin-bottom: 2.4rem;
	position: relative;
}
.case-study .img-box {
	width: 180px;
	font-size: 1.3rem;
	text-align: center;
	margin-top: 1.6rem;
	margin-right: 5%;
}
.case-study .img-box img {
	border-radius: 50%;
	margin: 0 auto .8rem;
}

.case-study .text-box {
	flex: 1;
	width: auto;
	max-width: 100%;
	margin: 0;
}
.case-study .text-box .logo-wrap {
	-webkit-align-items: center;
	align-items: center;
	border-bottom: 1px solid;
}
.case-study .text-box .logo-wrap span {
	display: inline-block;
	font-size: 1.8rem;
	font-weight: bold;
	padding-top: 12px;
	padding-left: 10px;
}
.case-study .text-box h4 {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.6;
	margin-top: 1.6rem;
	margin-bottom: .8rem;
}

@media only screen and (max-width: 980px) {

	.case-study {
		width: 100%;
		padding: 0;
		margin-bottom: 4.8rem;
	}

}

@media only screen and (max-width: 860px) {

	.case-study .text-box .logo-wrap {
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	.case-study .text-box .logo-wrap span {
		display: block;
		width: 100%;
		padding: 0;
	}

}

@media only screen and (max-width: 560px) {

	.case-study > div.flex-L {
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	.case-study .img-box {
		width: 100%;
		max-width: 180px;
		margin: 0 auto;
	}
	.case-study .text-box {
		flex: auto;
		width: 100%;
	}

}

/* ===================================================================== */
/* Utility * /
/* ===================================================================== */
#utility .title-1 {
	margin-bottom: 2.4rem;
}

.utility-list ul {
	width: 82%;
	margin: 0 auto;
}
.utility-list li {
	display: -webkit-flex;
  -webkit-flex-flow: column nowrap;
  display: flex;
  flex-flow: column nowrap;
	width: 47%;
	margin-right: 6%;
	margin-bottom: 4.8rem;
}
.utility-list li:last-child {
	margin-right: 0;
}
.utility-list li h3 {
	color: #0c6c84;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
	padding: .8rem 0;
	border-top: 2px solid #0c6c84;
	border-bottom: 2px solid #0c6c84;
	margin-bottom: .8rem;
}
.utility-list li p {
	margin-bottom: 1.6rem;
}

@media only screen and (max-width: 860px) {

	.utility-list ul {
		width: 100%;
	}

}

.example-area {
	display: -webkit-flex;
  -webkit-justify-content: flex-start;
  -webkit-flex-flow: row nowrap;
  display: flex;
  justify-content: flex-start;
  flex-flow: row nowrap;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 2.4rem 2.4rem 2rem;
	background-color: #f2f2f2;
	margin-top: auto;
}
.example-area p.example {
	display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-align-items: center;
  -webkit-flex-flow: column nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column nowrap;
	width: 80px;
	height: 80px;
	background-color: #0c6c84;
	border-radius: 50%;
	margin-right: 1.6rem;
  color: #fff;
  letter-spacing: 0;
  white-space: nowrap;
}
.example-area p.text {
	flex: 1;
	width: auto;
}

@media only screen and (max-width: 640px) {

	.utility-list ul {
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	.utility-list li {
		width: 100%;
		margin-right: 0;
	}

}

/* ===================================================================== */
/* Price * /
/* ===================================================================== */
#price .title-1 {
	margin-bottom: 2.4rem;
}

.price-list table {
	width: 75%;
	border: 2px solid #0c6c84;
  border-collapse: separate;
  overflow: hidden;
  border-spacing: 0;
  border-radius: 12px;
  border: 2px solid #0c6c84;
	margin: 0 auto 4.8rem;
}
.price-list th,
.price-list td {
	font-weight: bold;
	text-align: center;
	padding: 2.4rem 1.6rem;
}
.price-list th {
	width: 50%;
	color: #fff;
	font-size: 2rem;
	background-color: #0c6c84;
}
.price-list th:first-child {
	border-right: 2px solid #fff;
}
.price-list td:first-child {
	border-right: 2px solid #0c6c84;
}
.price-list .price td {
	font-size: 2rem;
	vertical-align: middle;
	line-height: 1.6;
}
.price-list .price td span {
	color: #d63d5f;
	font-size: 2em;
}
.price-list .price-descr td {
	text-align: left;
	background-color: #f2f2f2;
}

@media only screen and (max-width: 980px) {

	.price-list table {
		width: 100%;
	}

}

@media only screen and (max-width: 560px) {

	.price-list .price td {
		font-size: 1.6rem;
	}

}

/* ===================================================================== */
/* FAQ * /
/* ===================================================================== */
#faq .title-1 {
	margin-bottom: 2.4rem;
}

.faq-list {
	width: 70%;
	margin: 0 15% 4.8rem;
}

.faq-list dl {
	text-align: left;
}
.faq-list dl > div {
	margin-bottom: 1.6rem;
}
.faq-list dt {
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	background: #0c6c84;
	padding: 1.6rem 6.4rem;
	padding-right: 5.6rem;
	border-radius: 12px 12px 0 0;
	cursor: pointer;
	position: relative;
}
.faq-list dt::before,
.faq-list dt::after {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0;
	text-align: center;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 3.2rem;
	height: 3.2rem;
}
.faq-list dt::before {
	content: "Ｑ";
	color: #0c6c84;
	left: 1.6rem;
	background: #fff;
	border-radius: 50%;
}
/* .faq-list dt::after {
	font-family: 'Material Icons';
	content: "\e145";
	color: #fff;
	font-size: 3.2rem;
	line-height: 1;
	right: 1.6rem;
}
.faq-list dt.open::after {
	font-family: 'Material Icons';
	content: "\e5cd";
} */

.faq-list dd {
	/* display: none; */
	color: #4d4d4d;
	font-weight: bold;
	padding: 1.6rem 2.4rem 3.2rem 6.4rem;
	background: #fff;
	position: relative;
}
.faq-list dd::before {
	content: "Ａ. ";
	font-weight: bold;
	position: absolute;
	top: 1.6rem;
	left: 2.4rem;
	bottom: 0;
	margin: auto;
}

@media only screen and (max-width: 767px) {

	.faq-list {
		width: 100%;
		margin: 0 0 4.8rem;
	}

}

/* ===================================================================== */
/* Flow * /
/* ===================================================================== */
#flow .title-1 {
	margin-bottom: 2.4rem;
}

.flow-list ol {
	width: 70%;
	margin: 0 auto 4.8rem;
}
.flow-list li {
	border-bottom: 2px solid #0c6c84;
	margin-bottom: 1.6rem;
}
.flow-list p.step {
	display: -webkit-flex;
  -webkit-flex-flow: column nowrap;
  -webkit-justify-content: center;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
	min-width: 160px;
	font-family: 'Josefin Sans', sans-serif;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
	padding-top: 1.2rem;
  background-color: #0c6c84;
}
.flow-list p.step span {
	font-size: 1.8em;
}
.flow-list .flow-data {
	font-weight: bold;
	padding: 1.6rem 2.4rem;
}
.flow-list .flow-data h3 {
	color: #0c6c84;
	font-size: 2rem;
}

@media only screen and (max-width: 767px) {

	.flow-list ol {
		width: 100%;
		margin: 0 0 4.8rem;
	}

}

@media only screen and (max-width: 460px) {

	.flow-list p.step {
		min-width: 120px;
	}

}

/* ===================================================================== */
/* CTA * /
/* ===================================================================== */
.cta {
	padding: 0;
	border-bottom: none;
	background: #fff;
	position: relative;
}
.cta .wrapper {
	padding: 9.6rem 0 6.4rem;
}
.cta .wrapper::before,
.cta .wrapper::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.cta .wrapper::before {
	background: url("img/cta_img-01.jpg") no-repeat center center;
	background-size: cover;
	filter: grayscale(1.0);
}
.cta .wrapper::after {
	background-color: #0c6c84;
	mix-blend-mode: multiply;
}

.cta .container {
	position: relative;
	z-index: 1;
}

.cv-area {
	font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
	color: #fff;
	text-shadow: 0 0 12px rgba(0,0,0,.2);
	text-align: center;
}
.cv-area h2 {
	font-size: 4.8rem;
	font-weight: bold;
	line-height: 1.2;
	white-space: pre;
	margin-bottom: 1.6rem;
	opacity: 0;
}
.cv-area h2.animated {
	opacity: 1.0;
}
.cv-area p {
	font-size: 2.8rem;
	font-weight: bold;
	white-space: pre;
	margin-bottom: 3.2rem;
}

@media only screen and (max-width: 767px) {

	.cv-area h2 {
		font-size: 6vw;
	}
	.cv-area p {
		font-size: 3.8vw;
	}

}

/* ===================================================================== */
/* Form * /
/* ===================================================================== */
#dl-form .title-1 {
	margin-bottom: 0;
}

.form-descr {
	font-weight: bold;
	text-align: center;
}

.satori__custom_form_0d675a8ba2c2cca6_css {
	width: 80%;
	margin: 0 auto 4.8rem;
}

.satori__custom_form_0d675a8ba2c2cca6_css .satori__require {
	font-size: .8em;
	background-color: #d63d5f;
}

.satori__custom_form_0d675a8ba2c2cca6_css .satori__submit_group .satori__btn {
	padding: 2rem 6.4rem;
}
.satori__custom_form_0d675a8ba2c2cca6_css .satori__btn {
	font-size: 1.8rem;
	font-weight: bold;
	background-color: #d63d5f;
}

/* ===================================================================== */
/* Thanks * /
/* ===================================================================== */
.sub-header {
	width: 100%;
	height: 30vh;
	min-height: 300px;
	background: url("img/mv-01.jpg") no-repeat center center;
	background-size: cover;
	background-color: #0c6c84;
	background-blend-mode: multiply;
	position: relative;
}
.sub-header .container {
	position: relative;
	z-index: 1;
}
.sub-header h1 {
	width: 100%;
	position: absolute;
	top: 55%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  color: #fff;
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  text-shadow: 0 0 12px rgba(0,0,0,.2);
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

#thanks {
	height: 70vh;
	text-align: center;
	padding-top: 12.8rem;
}
#thanks p {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 4.8rem;
}











