@charset "UTF-8";
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");
html {
	font-size: 62.5%;
}

body {
	position: relative;
	margin: 0;
	color: #333;
	font-size: 12px;
	font-size: 1.2rem;
	font-family: 'Hiragino Kaku Gothic Pro', 'Meiryo', 'Helvetica', serif, 'Arial', 'Verdana', 'ＭＳ Ｐゴシック', sans-serif;
	font-weight: 300;
	line-height: 1.5em;
	background-color: #fff;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

hr {
	display: none;
}

p,
h1, h2, h3, h4, h5, h6,
ul, li,
dl, dt, dd,
form {
	margin: 0;
}

ul {
	padding: 0;
	list-style-type: none;
}

h1, h2, h3, h4, h5, h6,
dt,
th {
	color: #000000;
	font-weight: bold;
}

p,
li,
dd,
td {
	color: #000000;
}

img {
	border: 0;
	vertical-align: top;
}

p {
	line-height: 1.8em;
}

a {
	text-decoration: none;
}

/*////////// .altimg //////////*/
.altimg {
	font-size: 0;
	text-indent: -9999px;
}

.altimg a {
	display: block;
	width: 100%;
	height: 100%;
}

/*////////// .clearfix //////////*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
}

@media print, screen and (min-width: 769px) {
	.pc-none {
		display: none !important;
	}
}

@media screen and (max-width: 768px) {
	.sp-none {
		display: none !important;
	}
}

/* ==============
layout
============== */
html, body {
	height: 100%;
}

#all {
	position: relative;
	width: 100%;
}

header,
footer {
	width: 100%;
}

p {
	line-height: 1.8em;
	text-align: justify;
	color: #333;
}

ul {
	list-style-type: none;
}

* {
	box-sizing: border-box;
}

/* ===================== pc ===================== */
@media print, screen and (min-width: 769px) {
	#wrapper {
		min-width: 1280px;
		padding-top: 100px;
	}
	.tel p {
		color: #534741;
	}
	.tel span {
		display: block;
	}
	.tel img,
	.tel strong {
		display: inline-block;
		vertical-align: baseline;
	}
	.tel small {
		display: block;
	}
	.tel img {
		width: auto;
	}
	.entry {
		width: 800px;
		height: 110px;
		margin: 30px auto 0;
		background-color: #d0145a;
		border-radius: 55px;
		text-align: center;
		box-shadow: 4px 5px 0 0 #736357;
		-webkit-transition: transform .15s linear, box-shadow .15s linear, background-color .15s linear;
		transition: transform .15s linear, box-shadow .15s linear, background-color .15s linear;
	}
	.entry:hover {
		transform: translate(4px, 5px);
		-webkit-transform: translate(4px, 5px);
		box-shadow: 4px 5px 0 0 rgba(115, 99, 87, 0);
		background-color: #eb0057;
	}
	.entry a {
		display: block;
		width: 100%;
		height: 100%;
	}
	.entry img {
		width: auto;
		height: 100%;
	}
}

/* ===================== sp ===================== */
@media screen and (max-width: 768px) {
	#wrapper {
		width: 100%;
		padding-top: 6rem;
	}
	.entry {
		width: 90%;
		height: 6rem;
		margin: 2rem auto 0;
		background-color: #d0145a;
		border-radius: 3rem;
		text-align: center;
		box-shadow: 2px 3px 0 0 #736357;
	}
	.entry a {
		display: block;
		width: 100%;
		height: 100%;
	}
	.entry img {
		width: auto;
		height: 100%;
	}
}

header {
	width: 100%;
	background-color: #fff;
	z-index: 100;
}

header .wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
}

header .wrap h1 {
	display: flex;
	align-items: center;
	cursor: pointer;
}

header .wrap h1 img {
	width: auto;
	height: 100%;
}

header .wrap .h_entry_area {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

header .wrap #h_entry a {
	display: block;
	width: 100%;
	height: 100%;
}

/* ============================================================================== PC === */
@media print, screen and (min-width: 769px) {
	header {
		position: fixed;
		left: 0;
		top: 0;
		height: 100px;
		opacity: 0;
		transition: opacity .5s linear;
		-webkit-transition: opacity .5s linear;
	}
	header.fadeIn {
		opacity: 1;
	}
	header .wrap {
		width: 1100px;
		height: 100%;
	}
	header .wrap h1 {
		height: 100%;
	}
	header .wrap h1 span {
		display: inline-block;
		vertical-align: middle;
		width: auto;
		height: 60px;
	}
	header .wrap h1 span:nth-of-type(1) {
		margin-right: 57px;
	}
	header .wrap .tel {
		margin-right: 10px;
	}
	header .wrap .tel p {
		text-align: center;
	}
	header .wrap .tel span {
		font-size: 13px;
	}
	header .wrap .tel small {
		font-size: 12px;
	}
	header .wrap .tel img {
		height: 26px;
		margin-right: 5px;
	}
	header .wrap .tel strong {
		font-size: 30px;
		letter-spacing: -.5px;
	}
	header .wrap .tel strong a {
		color: #534741;
	}
	header .wrap #h_entry {
		width: 380px;
		height: 70px;
		background-color: #d0145a;
		border-radius: 35px;
		transition: background-color .15s linear;
		-webkit-transition: background-color .15s linear;
	}
	header .wrap #h_entry:hover {
		background-color: #eb0057;
	}
}

/* ============================================================================== SP === */
@media screen and (max-width: 768px) {
	header {
		position: fixed;
		left: 0;
		top: 0;
		box-shadow: 0 6px 6px 3px rgba(0, 0, 0, 0.2);
	}
	header .wrap {
		height: 6rem;
		padding: .5rem;
	}
	header .wrap h1 {
		width: 50%;
		height: auto;
	}
	header .wrap h1 span {
		width: auto;
		height: 2.93rem;
	}
	header .wrap h1 span {
		display: inline-block;
		vertical-align: middle;
		width: auto;
		height: 2.7rem;
	}
	header .wrap h1 span:nth-of-type(1) {
		margin-right: 25px;
	}
	header .wrap .tel {
		width: 3.4rem;
		height: 3.4rem;
		margin-right: .5rem;
	}
	header .wrap .tel img {
		height: 100%;
	}
	header .wrap .tel a {
		display: block;
		width: 100%;
		height: 100%;
	}
	header .wrap #h_entry {
		width: auto;
		height: 3.4rem;
	}
	header .wrap #h_entry img {
		width: auto;
		height: 100%;
	}
	/*横向きの際に適用*/
}

/* ============================================================================== PC === */
@media print, screen and (min-width: 769px) {
	footer {
		padding-bottom: 10px;
		background-color: #fafafa;
	}
	footer .tel {
		width: 100%;
		height: auto;
		margin: 60px 0;
		padding: 40px 0;
	}
	footer .tel p {
		text-align: center;
	}
	footer .tel span {
		margin-bottom: 15px;
		font-size: 18px;
	}
	footer .tel strong {
		margin-left: 10px;
		font-size: 50px;
	}
	footer .tel strong a {
		color: #534741;
		pointer-events: none;
	}
	footer .tel small {
		margin-top: 10px;
		font-size: 16px;
	}
	footer .tel img {
		width: 64px;
		height: auto;
	}
	footer #footer-address {
		width: 390px;
		margin: 0 auto;
		font-size: 13px;
		color: #4d4d4d;
	}
	footer address {
		margin-top: 40px;
		text-align: center;
		font-size: 11px;
		color: #666;
		font-style: normal;
		font-family: 'Helvetica', 'Meiryo', 'Hiragino Kaku Gothic Pro', 'Arial', 'Verdana', '�ｭ�ｳ �ｰ繧ｴ繧ｷ繝�け', sans-serif;
		text-align: center;
	}
}

/* ============================================================================== SP === */
@media screen and (max-width: 768px) {
	footer {
		padding-bottom: 1rem;
		background-color: #fafafa;
	}
	footer .tel {
		width: 100%;
		height: auto;
		margin: 3rem 0;
		padding: 2rem 0;
	}
	footer .tel p {
		text-align: center;
	}
	footer .tel span {
		display: block;
		margin-bottom: .5rem;
		font-size: 13px;
	}
	footer .tel strong,
	footer .tel img {
		display: inline-block;
		vertical-align: middle;
	}
	footer .tel strong {
		margin-left: 1rem;
		font-size: 32px;
		letter-spacing: -1px;
	}
	footer .tel strong a {
		color: #534741;
	}
	footer .tel small {
		display: block;
		margin-top: .5rem;
		font-size: 12px;
	}
	footer .tel img {
		width: 50px;
		height: auto;
	}
	footer #footer-address {
		margin: 0 auto;
		padding: 0 5%;
		font-size: 11px;
		color: #4d4d4d;
		text-align: center;
	}
	footer address {
		margin-top: 40px;
		text-align: center;
		font-size: 11px;
		color: #666;
		font-style: normal;
		font-family: 'Helvetica', 'Meiryo', 'Hiragino Kaku Gothic Pro', 'Arial', 'Verdana', '�ｭ�ｳ �ｰ繧ｴ繧ｷ繝�け', sans-serif;
		text-align: center;
	}
}

#mv {
	position: relative;
	width: 100%;
	overflow: hidden;
}

#mv h2 {
	height: 100%;
	margin: 0 auto;
	opacity: 0;
}

#mv h2 img {
	width: auto;
	height: 100%;
}

#mv h2 canvas {
	position: absolute;
	left: 50%;
	top: 0;
	width: 100%;
	height: auto;
	transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
}

/* ============================================================================== PC === */
@media print, screen and (min-width: 769px) {
	#mv {
		height: 800px;
		background: url("../images/mv_bg.jpg") repeat-x center top;
		background-size: auto 100%;
		opacity: 0;
		transition: opacity .15s linear;
		-webkit-transition: opacity .15s linear;
		/*
		&:before {
			right: -30%;
			width: 300px;
			height: 130%;
			transition: .3s;
			animation: move 3s infinite linear;
		}
		*/
	}
	#mv.opened {
		opacity: 1;
	}
	#mv h2 {
		width: 1280px;
	}
	#mv ul {
		display: flex;
		align-items: center;
		position: absolute;
		left: 50%;
		bottom: 20px;
		transform: translate(-50%, 0);
		-webkit-transform: translate(-50%, 0);
	}
	#mv ul li {
		width: 330px;
		height: 330px;
		margin: 0 5px;
	}
	#mv ul li img {
		width: 100%;
		height: auto;
	}
	#mv ul li:nth-child(1) {
		order: 2;
	}
	#mv ul li:nth-child(2) {
		order: 1;
	}
	#mv ul li:nth-child(3) {
		order: 3;
	}
}

/* ============================================================================== SP === */
@media screen and (max-width: 768px) {
	#mv {
		position: relative;
		width: 100%;
		height: auto;
		/*
		&:before {
			right: -130%;
			width: 10rem;
			height: 130%;
			//transition: .3s;
			animation: moveSP 3s infinite linear;
		}
		*/
	}
	#mv h2 {
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	#mv h2 span {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 20;
	}
	#mv h2 img {
		width: 100%;
		height: auto;
	}
	#mv ul {
		position: absolute;
		left: 0;
		bottom: 2rem;
		text-align: center;
	}
	#mv ul li {
		display: inline-block;
		width: 40%;
	}
	#mv ul li:nth-of-type(1) {
		display: block;
		margin: 0 auto -3rem;
	}
	#mv ul li img {
		width: 100%;
		height: auto;
	}
	/*横向きの際に適用*/
}

#block1 {
	position: relative;
	background: url(../images/b1_bg1.png) repeat center top;
}

#block1:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	background-color: #fff;
	z-index: 0;
}

#block1 .wrap {
	position: relative;
	margin: 0 auto;
	z-index: 1;
}

#block1 .wrap h2,
#block1 .wrap #main {
	width: 100%;
	height: auto;
}

#block1 .wrap h2 img,
#block1 .wrap #main img {
	width: 100%;
	height: auto;
}

#block1 .wrap #copy {
	background: url(../images/b1_bg2.png) repeat center top;
}

#block1 .wrap #copy img {
	width: 100%;
	height: auto;
}

/* ============================================================================== PC === */
@media print, screen and (min-width: 769px) {
	#block1:before {
		height: 340px;
	}
	#block1 .wrap {
		width: 1000px;
		padding: 50px 0 80px;
	}
	#block1 .wrap h2 {
		margin-bottom: 20px;
	}
	#block1 .wrap #copy {
		padding: 50px 100px;
	}
}

/* ============================================================================== SP === */
@media screen and (max-width: 768px) {
	#block1:before {
		height: 32.5%;
	}
	#block1 .wrap {
		position: relative;
		width: 100%;
		margin: 0 auto;
		padding: 2rem 0 4rem;
		z-index: 1;
	}
	#block1 .wrap h2 {
		margin-bottom: 0;
	}
	#block1 .wrap #copy {
		width: 90%;
		margin: 0 auto;
	}
	/*横向きの際に適用*/
}

#model {
	width: 100%;
	background: url(../images/m_bg.png) no-repeat center top 30px #fafafa;
}

#model .wrap {
	position: relative;
	margin: 0 auto;
	z-index: 1;
}

#model .wrap h2 {
	width: 100%;
	height: auto;
}

#model .wrap h2 img {
	width: 100%;
	height: auto;
}

#model .wrap #case1 img,
#model .wrap #case2 img,
#model .wrap #case3 img,
#model .wrap #case5 img {
	width: 100%;
	height: auto;
}

#model .wrap #case1,
#model .wrap #case2,
#model .wrap #case3,
#model .wrap #case5 {
	height: auto;
}

#model .wrap #case4 li {
	height: auto;
}

#model .wrap #case4 li img {
	width: 100%;
	height: auto;
}

#model .wrap .ex li {
	position: relative;
	color: #666;
}
#model .wrap .ex li span {
	position: absolute;
	left: 0;
}

/* ============================================================================== PC === */
@media print, screen and (min-width: 769px) {
	#model .wrap {
		width: 1000px;
		padding: 50px 0 80px;
	}
	#model .wrap #case1,
	#model .wrap #case2,
	#model .wrap #case5 {
		width: 530px;
		margin: 0 auto 10px;
	}
	#model .wrap #case3 {
		width: 600px;
		margin: 30px auto;
	}
	#model .wrap #case5 {
		margin: 30px auto;
	}
	#model .wrap #case4 {
		display: flex;
	}
	#model .wrap #case4 li {
		width: 320px;
		margin: 0 10px;
	}
	#model .wrap .ex {
		margin-bottom: 50px;
		font-size: 13px;
		line-height: 2em;
	}
	#model .wrap .ex li {
		padding-left: 35px;
	}
}

/* ============================================================================== SP === */
@media screen and (max-width: 768px) {
	#model {
		background-size: 100% auto;
	}
	#model .wrap {
		width: 100%;
		padding: 3rem 0;
	}
	#model .wrap #case1,
	#model .wrap #case2,
	#model .wrap #case5 {
		width: 100%;
		margin: 0 auto .5rem;
	}
	#model .wrap #case3 {
		width: 100%;
		margin: 1rem auto;
	}
	#model .wrap #case5 {
		margin: 1rem auto;
	}
	#model .wrap #case4 li {
		width: 100%;
	}
	#model .wrap .ex {
		width: 92%;
		margin: 0 auto 1rem;
		font-size: 11px;
		line-height: 1.5em;
		text-align: justify;
	}
	#model .wrap .ex li {
		position: relative;
		margin-bottom: 1rem;
		padding: 0 0 0 3rem;
	}
	/*横向きの際に適用*/
}

#block2 {
	position: relative;
	background: url(../images/b2_bg1.png) repeat center top;
}

#block2 h2 {
	position: relative;
	z-index: 1;
}

#block2 h2 img {
	width: 100%;
	height: auto;
}

#block2 .wrap {
	position: relative;
	background-color: #fff;
}

#block2 .up_pic {
	position: relative;
	margin: 0 auto;
}

#block2 .up_pic img {
	width: 100%;
	height: auto;
}

#block2 .block h3 {
	height: auto;
}

#block2 .block h3 img {
	width: 100%;
	height: auto;
}

#block2 .block span {
	color: #e91e79;
}

#block2 #block2_b1 {
	background: url("../images/line1_pc.png") no-repeat center bottom;
}

#block2 #block2_b2 {
	background: url("../images/line2_pc.png") no-repeat center bottom;
}

#block2 #block2_b3 {
	background: url("../images/line3_pc.png") no-repeat center bottom;
}

#block2 #block2_b1,
#block2 #block2_b2,
#block2 #block2_b3 {
	background-size: 100% auto;
}

/* ============================================================================== PC === */
@media print, screen and (min-width: 769px) {
	#block2 {
		padding: 150px 0 50px;
	}
	#block2 h2 {
		width: 1000px;
		margin: -100px auto 0;
	}
	#block2 .wrap {
		width: 1000px;
		margin: -110px auto 0;
		padding-bottom: 40px;
	}
	#block2 .up_pic {
		top: 40px;
		width: 290px;
		height: 132px;
	}
	#block2 .block {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 860px;
		margin: 0 auto 10px;
	}
	#block2 .block h3 {
		width: 300px;
	}
	#block2 .block p {
		width: 530px;
		font-size: 18px;
	}
}

/* ============================================================================== SP === */
@media screen and (max-width: 768px) {
	#block2 {
		padding: 3rem 0;
	}
	#block2 h2 {
		width: 100%;
		margin: 0 auto;
	}
	#block2 .wrap {
		width: 92%;
		margin: -6rem auto 0;
		padding-bottom: 2rem;
	}
	#block2 .up_pic {
		top: 2rem;
		width: 14rem;
		height: auto;
		margin: 0 auto 1rem;
	}
	#block2 .block {
		width: 92%;
		margin: 4rem auto 0;
		padding-bottom: 3rem;
	}
	#block2 .block h3 {
		width: 20rem;
		margin: 0 auto 2rem;
	}
	#block2 .block p {
		padding: 0 2%;
		font-size: 13px;
		text-align: justify;
	}
	#block2 .block p br {
		display: none;
	}
	#block2 .block p small {
		display: block;
	}
	/*横向きの際に適用*/
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
	#block2 {
		padding-bottom: 30rem;
	}
	#block2 .wrap {
		margin-top: -10rem;
	}
}

#block3 {
	position: relative;
	background: url(../images/b1_bg1.png) repeat center top;
}

#block3 h2 {
	height: auto;
	margin: 0 auto;
}

#block3 h2 img {
	width: 100%;
	height: auto;
}

#block3 #block3-body {
	position: relative;
	margin: 0 auto;
}

#block3 #block3-body .pic {
	height: auto;
}

#block3 #block3-body .pic img {
	width: 100%;
	height: auto;
}

#block3 #block3-body .txt {
	position: absolute;
	box-sizing: border-box;
	font-size: 17px;
	line-height: 1.8em;
	text-align: justify;
	background: url("../images/b3_bg.png") no-repeat center bottom;
}

/* ============================================================================== PC === */
@media print, screen and (min-width: 769px) {
	#block3 {
		padding: 50px 0 160px;
	}
	#block3 h2 {
		width: 1000px;
	}
	#block3 #block3-body {
		width: 1280px;
	}
	#block3 #block3-body .pic {
		width: 695px;
	}
	#block3 #block3-body .txt {
		left: 580px;
		top: 30px;
		width: 550px;
		height: 544px;
		padding: 110px 80px 0 120px;
		font-size: 17px;
		background: url("../images/b3_bg.png") no-repeat center bottom;
	}
}

/* ============================================================================== SP === */
@media screen and (max-width: 768px) {
	#block3 {
		padding-top: 3rem;
	}
	#block3 h2 {
		width: 100%;
	}
	#block3 #block3-body {
		width: 100%;
		margin: 0;
		padding-bottom: 36rem;
	}
	#block3 #block3-body .pic {
		width: 92%;
	}
	#block3 #block3-body .txt {
		left: 50%;
		top: 18rem;
		width: 35rem;
		margin: 0 auto;
		padding: 10rem 5rem;
		font-size: 12px;
		background: url("../images/b3_bg_sp.png") no-repeat center top;
		background-size: 100%;
		z-index: 10;
		transform: translate(-50%, 0);
		-webkit-transform: translate(-50%, 0);
	}
	/*横向きの際に適用*/
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
	#block3 #block3-body {
		padding-bottom: 20rem;
	}
	#block2 #block2_b4 .txt {
		top: 36rem;
		width: 40rem;
		padding: 12rem 6rem 10rem;
		font-size: 13px;
	}
}

#saiyo_flow {
	position: relative;
}

#saiyo_flow h2 {
	height: auto;
	margin: 0 auto;
}

#saiyo_flow h2 img {
	width: 100%;
	height: auto;
}

#saiyo_flow .wrap {
	margin: 0 auto;
}

#saiyo_flow .wrap .wrap-body {
	position: relative;
}

#saiyo_flow .wrap .wrap-body:before {
	content: '';
	display: block;
	position: absolute;
	width: 1px;
	height: 80%;
	background-color: #b3a364;
	z-index: 1;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
}

#saiyo_flow .block {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fafafa;
}

#saiyo_flow .block:after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -30px;
	display: block;
	width: 150px;
	height: 36px;
	background: url("../images/b4_y1.png") no-repeat center top;
	background-size: 100%;
	transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
	z-index: 1;
}

#saiyo_flow .block:nth-of-type(1) h3 {
	position: relative;
}

#saiyo_flow .block:nth-of-type(1) h3:before {
	content: '';
	display: block;
	position: absolute;
	background: url("../images/b4_icon5.png") no-repeat left top;
	background-size: 100% auto;
}

#saiyo_flow .block:nth-of-type(3):after {
	background-image: url("../images/b4_y2.png");
}

#saiyo_flow .block:last-child {
	background-color: #fcf2f3;
}

#saiyo_flow .block:last-child:after {
	display: none;
}

#saiyo_flow .block .icon {
	z-index: 10;
}

#saiyo_flow .block .icon img {
	width: auto;
	height: 100%;
}

#saiyo_flow .block .block-body h3 {
	margin: 0 auto;
}

#saiyo_flow .block .block-body p {
	color: #4d4d4d;
	text-align: center;
}

#saiyo_flow .block .entry-link {
	cursor: pointer;
	transition: opacity .15s linear;
	-webkit-transition: opacity .15s linear;
}

#saiyo_flow .block .entry-link:hover {
	opacity: .7;
}

/* ============================================================================== PC === */
@media print, screen and (min-width: 769px) {
	#saiyo_flow {
		margin: 50px 0 0;
	}
	#saiyo_flow h2 {
		width: 1000px;
	}
	#saiyo_flow .wrap {
		width: 1000px;
	}
	#saiyo_flow .wrap .wrap-body:before {
		left: 190px;
		top: 50%;
		width: 1px;
		height: 80%;
		background-color: #b3a364;
		z-index: 1;
		transform: translate(0, -50%);
		-webkit-transform: translate(0, -50%);
	}
	#saiyo_flow .block {
		height: 180px;
		margin: 0 auto 20px;
	}
	#saiyo_flow .block:nth-of-type(1) h3:before {
		left: -90px;
		top: -20px;
		width: 80px;
		height: 46px;
	}
	#saiyo_flow .block .icon {
		position: relative;
		width: 160px;
		height: 110px;
	}
	#saiyo_flow .block .block-body {
		width: 420px;
		margin-left: 20px;
		margin-right: 180px;
	}
	#saiyo_flow .block .block-body h3 {
		width: 200px;
		height: 46px;
	}
	#saiyo_flow .block .block-body h3 img {
		width: 100%;
		height: auto;
	}
	#saiyo_flow .block .block-body p {
		font-size: 17px;
	}
}

/* ============================================================================== SP === */
@media screen and (max-width: 768px) {
	#saiyo_flow {
		position: relative;
		margin: 3rem 0 0;
	}
	#saiyo_flow h2 {
		width: 100%;
	}
	#saiyo_flow .wrap {
		width: 100%;
	}
	#saiyo_flow .wrap .wrap-body {
		width: 92%;
		margin: 0 auto;
	}
	#saiyo_flow .wrap .wrap-body:before {
		left: 5.5rem;
		top: 50%;
	}
	#saiyo_flow .block {
		height: auto;
		margin: 0 auto 2rem;
		padding: 2rem 0;
	}
	#saiyo_flow .block:after {
		left: 62%;
	}
	#saiyo_flow .block:nth-of-type(1) h3:before {
		left: 0;
		top: -1rem;
		width: 4rem;
		height: 4rem;
		background: url("../images/b4_icon5.png") no-repeat left top;
		background-size: 100% auto;
	}
	#saiyo_flow .block .icon {
		left: .5rem;
		width: auto;
		height: 7rem;
	}
	#saiyo_flow .block .block-body {
		width: 100%;
		padding-right: 5%;
	}
	#saiyo_flow .block .block-body h3 {
		width: auto;
		height: 3rem;
		text-align: center;
	}
	#saiyo_flow .block .block-body h3 img {
		width: auto;
		height: 100%;
	}
	#saiyo_flow .block .block-body p {
		font-size: 11px;
	}
	/*横向きの際に適用*/
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
	#saiyo_flow .block .block-body {
		width: 50%;
	}
	#saiyo_flow .block:nth-of-type(1) h3:before {
		left: 2.5rem;
	}
	#saiyo_flow .wrap .wrap-body:before {
		left: 15.7rem;
	}
	#saiyo_flow .block:after {
		left: 55%;
	}
}

footer .tel {
	background: url(../images/b1_bg2.png) repeat center top;
}

/* ============================================================================== PC === */
/* ============================================================================== SP === */
@media screen and (max-width: 768px) {
	/*横向きの際に適用*/
}
