#flow h2,
#voice h2 {
	margin: 0;
	padding: 1.5em;
	background-color: #f59300;
	font-size: inherit;
	line-height: 1;
}

@media all and (max-width: 640px) {
	#flow h2 img,
	#voice h2 img {
		width: auto;
		height: 1.25em;
	}
}

@media all and (min-width: 641px) {
	#flow h2 img,
	#voice h2 img {
		width: auto;
		height: 1.5em;
	}
}

/*==================== タイトル ====================*/

main h1 {
	margin: 0;
}

@media all and (max-width: 640px) {
	main h1 {
		background: url(../images/appli/title_bg_sp.png) no-repeat;
		background-size: 100% 100%;
	}
}

@media all and (min-width: 641px) {
	main h1 {
		position: relative;
		height: 31.2rem;
		background: url(../images/appli/title_bg_pc.png) no-repeat;
		background-size: 100% 100%;
	}
	main h1 img {
		display: none;
	}
	main h1::before {
		content: '';
		width: 64rem;
		height: 31.2rem;
		position: absolute;
		left: 50%;
		top: 0;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
		background: url(../images/appli/title_pc.png) no-repeat left top;
		background-size: auto 100%;
	}
}

@media all and (max-width: 1280px) {
	main h1::before {
		left: 0;
		width: 100%;
		-webkit-transform: none;
		transform: none;
	}
}

/*==================== ON DIARYとは？ ====================*/

#about h2 {
	font-size: inherit;
}
#about .body .text {
	font-weight: bold;
}
#about .body .text strong {
	color: #d5007f;
	font-size: 120%;
}
#about .body .text small {
	font-weight: normal;
}

@media all and (max-width: 640px) {
	#about {
		margin: 2em 0;
	}
	#about h2 img {
		width: auto;
		height: 1.5em;
	}
	#about .body {
		margin-top: 2em;
		padding: 0 3%;
	}
	#about .image img {
		width: 80%;
	}
	#about .text {
		text-align: justify;
	}
	#about .text br {
		display: none;
	}
	#about .text small {
		display: block;
	}
}

@media all and (min-width: 641px) {
	#about {
		padding: 3em 0;
		background-color: #FFF;
	}
	#about h2 img {
		width: auto;
		height: 2em;
	}
	#about .body {
		width: 1000px;
		display: inline-table;
		border-spacing: 1em 0;
		margin-top: 2em;
	}
	#about .body > div {
		display: table-cell;
		vertical-align: middle;
	}
	#about .body .image img {
		width: 100%; /* for IE */
	}
	#about .body .text {
		white-space: nowrap;
		text-align: left;
	}
}

/*==================== 活用イメージ ====================*/

#flow .body {
	background-color: #fff3cc;
}
#flow .body > div:nth-of-type(odd) {
	background-color: #ffe799;
}

#goal {
	background: url(../images/appli/bg_yellow.png) no-repeat;
	background-size: 100% 100%;
}
#flow .image span {
	position: relative;
	display: inline-block;
}

#flow .image2_2::after,
#flow .image2_3::after,
#flow .image3_2::after,
#flow .image3_3::after {
	content: '';
	display: block;
	position: absolute;
	background: url(../images/appli/flow_arrow.png) no-repeat center center;
	background-size: contain;
}

#flow img[src*="flow_image2_2_2"] {
	position: absolute;
	left: 100%;
	top: 0;
	-webkit-transform: translate(-80%, 120%);
	transform: translate(-80%, 120%);
}

#goal {
	position: relative;
	box-sizing: border-box;
}
#goal::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../images/appli/flow_goal_image.png) no-repeat right bottom;
}

@media all and (max-width: 640px) {
	#flow .body {
		margin-top: 4em;
	}
	#flow .body > div {
		position: relative;
		padding-top: 5em;
		padding-bottom: 5em;
	}
	#flow .body > div:last-child {
		padding-bottom: 2em;
	}
	#flow .body h3 {
		position: absolute;
		left: 50%;
		top: 0;
		margin: 0;
		-webkit-transform: translate(-50%, -40%);
		transform: translate(-50%, -40%);
		font-size: inherit;
	}
	#flow .body h3 img {
		width: 8em;
	}
	/* text */
	#flow .text br {
		display: none;
	}
	#flow .text {
		padding: 0 3%;
	}
	#flow .text p {
		text-align: justify;
	}

	#flow .text small {
		display: block;
		text-align: right;
	}
	/* image */
	#flow img[src*="flow_image"] {
		width: 45vw;
	}
	/* flow1 */
	#flow img[src*="flow_image1_1"] {
		width: 80%;
	}
	#flow1 .image img {
		margin-top: 1em;
	}
	/* flow2, flow3 */
	#flow2 .image,
	#flow3 .image {
		position: relative;
		overflow: hidden;
		padding-left: 3%;
		padding-right: 30%;
		text-align: left;
	}
	#flow2 .image img,
	#flow3 .image img {
	}
	#flow img[src*="flow_image2_1"],
	#flow img[src*="flow_image3_1"] {
		position: absolute;
		right: 0;
		top: 50%;
		width: 48vw;
		-webkit-transform: translate(5%, -50%);
		transform: translate(5%, -50%);
	}
	#flow .image2_2::after,
	#flow .image2_3::after,
	#flow .image3_2::after,
	#flow .image3_3::after {
		width: 6vw;
		height: 6vw;
		right: 0;
		top: 45%;
		top: calc(45vw/2);
		-webkit-transform: translate(100%, -50%);
		transform: translate(100%, -50%);
	}
	#flow img[src*="flow_image2_2_2"] {
		width: 22vw;
	}
	#flow .image2_3,
	#flow .image3_3 {
		margin-top: 1em;
	}
	/* flow5 */
	#flow img[src*="flow_image5_2"] {
		width: 90%;
		margin-top: 1em;
	}
	/* goal */
	#goal {
		margin-top: 2em;
		padding: 0.5em 3% 8em;
	}
	#goal h3,
	#goal p {
		position: relative;
		z-index: 1;
	}
	#goal h3 img {
		width: 50vw;
	}
	#goal::after {
		opacity: 0.6;
		background-size: 100% auto;
	}
}

@media all and (min-width: 641px) {
	#flow .body {
		position: relative;
	}
	#flow .body > div {
		position: relative;
		padding: 1px calc((100% - 50rem) / 2) 1.5rem;
	}
	#flow .body > div:nth-of-type(1) {
		padding-top: 5.5rem;
	}
	/* cap */
	#flow .body::after {
		content: '';
		display: block;
		position: absolute;
		z-index: 0;
		left: calc(50% - 25rem + 5rem);
		top: 7.5rem;
		width: 0.5rem;
		height: 100%;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
		background-color: #ffd54c;
	}
	#flow .body h3 {
		position: absolute;
		z-index: 1;
		left: calc(50% - 25rem + 5rem);
		width: 8.6rem;
		margin: 0;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}
	#flow1::before {
		top: 7.5rem !important;
	}
	#flow .body > div:nth-of-type(n+2) h3 {
		top: -2rem;
	}
	/* text */
	#flow .text {
		margin-top: 1.5rem;
		padding-left: 11rem;
	}
	#flow .text p {
		text-align: left;
	}
	#flow1 .text {
		margin-top: 2rem;
	}
	/* image */
	#flow .image {
		margin-top: 1.5rem;
		padding-left: 11rem;
	}
	#flow img[src*="flow"] {
		display: inline-block;
		vertical-align: middle;
	}
	#flow img[src*="flow_image"],
	#flow img[src*="flow_image"],
	#flow img[src*="flow_image"],
	#flow img[src*="flow_image"] {
		width: 12.5rem;
	}
	/* flow1 */
	#flow1 .image {
		text-align: left;
		margin-top: 7rem;
	}
	#flow img[src*="flow_image1_1"] {
		position: absolute;
		right: 50%;
		top: 2rem;
		-webkit-transform: translate(25rem, 0);
		transform: translate(25rem, 0);
		width: 23.4rem;
	}
	/* flow2, flow3 */
	#flow2 .image,
	#flow3 .image {
		padding-left: 0;
		text-align: right;
	}
	#flow .image2_2::after,
	#flow .image2_3::after,
	#flow .image3_2::after,
	#flow .image3_3::after {
		width: 2.25rem;
		height: 2.25rem;
	}
	#flow .image2_2::after,
	#flow .image3_2::after {
		right: 0;
		top: calc(12.6rem/2);
		-webkit-transform: translate(100%, -50%);
		transform: translate(100%, -50%);
	}
	#flow .image2_3::after,
	#flow .image3_3::after {
		left: 0;
		top: calc(12.6rem/2);
		-webkit-transform: translate(-100%, -50%) scale(-1, 1);
		transform: translate(-100%, -50%) scale(-1, 1);
	}
	#flow img[src*="flow_image2_1"],
	#flow img[src*="flow_image3_1"] {
		width: 12rem;
		margin: 0 2rem;
	}
	#flow img[src*="flow_image2_2_2"] {
		width: 6.35rem;
	}
	/* flow5 */
	#flow5 .image {
		text-align: right;
		padding-left: 0;
	}
	#flow img[src*="flow_image5_2"] {
		width: 29.5rem;
		margin-left: 0.5rem;
	}
	/* goal */
	#goal {
		position: relative;
		height: 17.1rem;
		padding:
	}
	#goal::after {
		background-size: contain;
	}
	#goal h3 {
		position: absolute;
		left: calc(50% - 25rem + 5rem);
		top: 50%;
		width: 15.25rem;
		margin: 0;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	#goal p {
		text-align: center;
		position: relative;
		z-index: 1;
		left: 0;
		top: 50%;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}
	#goal p img {
		width: 24rem;
	}
}

/*==================== お客様の声 ====================*/

#voice .body > div {
	box-sizing: border-box;
	background-color: #FFF;
}

#voice h3 {
	margin: 0;
	font-size: 120%;
	font-feature-settings: 'palt';
}
#voice h4 {
	margin: 0.5em 0 0;
	font-size: 100%;
}
#voice p {
	margin: 0.5em 0 0;
	text-align: justify;
}
#voice .body > div:nth-of-type(odd) h3 {
	color: #d5007f;
}
#voice .body > div:nth-of-type(even) h3 {
	color: #0065a6;
}

@media all and (max-width: 640px) {
	#voice {
		margin-top: 3em;
	}
	#voice .body > div {
		margin: 0 3%;
		padding: 1em;
		border-bottom: 1px solid #fbd499;
	}
}

@media all and (min-width: 641px) {
	#voice {
		margin-top: 3em;
		background-color: #FFF;
	}
	#voice .body {
		position: relative;
		width: 50rem;
		margin: 2em auto 0;
	}
	#voice .body > div {
		display: inline-block;
		width: 50%;
		padding: 1.5em;
	}
	#voice .body > div:nth-of-type(3)::before {
		content: '';
		display: block;
		position: absolute;
		width: 100%;
		height: 0;
		border-top: 1px solid #fbd499;
		-webkit-transform: translate(-1.5em, -1.5em);
		transform: translate(-1.5em, -1.5em);
	}
	#voice .body::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 0;
		width: 0;
		height: 100%;
		border-right: 1px solid #fbd499;
	}
}

/*==================== 問い合わせ ====================*/

#entry {
	background: url(..	/images/appli/bg_yellow.png) no-repeat;
	background-size: 100% 100%;
}

@media all and (max-width: 640px) {
	#entry {
		margin-top: 2em;
		padding: 1.5em 1em;
	}
}

@media all and (min-width: 641px) {
	#entry {
		padding: 3em;
		background-color: #FFF;
	}
	#entry img {
		width: 40em;
	}
}
