/*----------------------------------------------------
 SP
----------------------------------------------------*/

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

	.inner {
    width: calc(100% - 5rem);
	}

	body {
		padding:13.8666vw 0 0 0;
	}

	/*-----------------------------------
	 header
	-----------------------------------*/

	#header {
		padding: 2.4vw 1.867vw 1.6vw 1.867vw;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	#header .headerFlex .logoArea {
    align-items: flex-start;
    flex-direction: column;
	}

	#header .headerFlex .logoArea .logo {
    max-width: 36.533vw;
    margin: 0 0 0 0;
	}

	#header .headerFlex .logoArea h1 {
    font-size: 2.667vw;
		letter-spacing: 0.05em;
	}

	#header .headerFlex .button {
    max-width: 52vw;
    height: 9.867vw;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
	}

	.formPage #header {
    padding: 4.533vw 0 3.467vw 3.733vw;
	}

	.formPage #header .headerFlex .logoArea {
		align-items: center;
		flex-direction: row;
	}

	.formPage #header .headerFlex .logoArea .logo {
    max-width: 40.533vw;
    margin: 0 4.533vw 0 0;
	}

	.formPage #header .headerFlex .logoArea h1 {
    font-size: 3.2vw;
		transform: translate(0, -0.8vw);
		-webkit-transform: translate(0, -0.8vw);
		-moz-transform: translate(0, -0.8vw);
	}

	/*-----------------------------------
		goTop
	-----------------------------------*/

	#goTop {
		max-width: 9.867vw;
		right: 6.667vw;
		bottom: 6.933vw;
	}


	/*-----------------------------------
		footer
	-----------------------------------*/

	#footer {
		padding: 5.867vw 0 6.4vw 0;
		background: url('../img/footer-bg-sp.jpg') center bottom no-repeat;
		background-size: cover;
	}

	#footer .footerFlex {
		flex-direction: column;
		padding: 0 0 0;
	}

	#footer .footerFlex .image {
		max-width: 60.4vw;
		transform: translateX(-2.667vw);
		-webkit-transform: translateX(-2.667vw);
		-moz-transform: translateX(-2.667vw);
	}

	#footer .footerFlex .conts {
		width: 100%;
		margin: -2.133vw 0 0;
	}

	#footer .footerFlex .conts .logo {
		width: 44.267vw;
		margin: 0 auto 0;
	}

	#footer .footerFlex .conts p {
		font-size: 3.733vw;
		text-align: center;
		margin: 2.133vw 0;
	}

	#footer .footerNav {
		margin: 6.667vw 0 2.133vw;
	}

	#footer .footerNav nav ul li {
		margin: 0 5.333vw 0 0;
	}

	#footer .footerNav nav ul li a .text {
		font-size: 2.667vw;
		line-height: 1;
		margin: 0 2.133vw 0 0;
	}

	#footer .footerNav nav ul li a .icon {
		max-width: 1.333vw;
		line-height: 2.133vw;
	}

	#footer .footerCopy p {
		font-size: 2.667vw;
	}


	/*-----------------------------------
	 visual
	-----------------------------------*/

	#visual {
		padding: 0 0 0 0;
		height: 124.267vw;
		background: url('../img/visual-bg-sp.jpg') center bottom no-repeat;
		background-size: cover;
	}

	#visual .catch {
		position: relative;
		left: initial;
		top: initial;
		width: 99.467vw;
		margin: 0 auto 0;
		transform: translate(-6.133vw, -12.267vw);
		-webkit-transform: translate(-6.133vw, -12.267vw);
		-moz-transform: translate(-6.133vw, -12.267vw);
	}

	#visual .desc {
    width: 94vw;
    margin: -32vw auto 0;
    transform: translateX(-6.667vw);
    -webkit-transform: translateX(-6.667vw);
    -moz-transform: translateX(-6.667vw);
	}

	/*-----------------------------------
	 about
	-----------------------------------*/

	#about {
    padding: 7.467vw 0 13.333vw 0;
    background: url('../img/about-bg-sp.jpg') center bottom no-repeat;
		background-size: cover;
	}

	#about .headFlex {
		align-items: center;
    flex-direction: column-reverse;
    margin-bottom: 0.8vw;
	}

	#about .headFlex .conts h2 {
    font-size: 4.928vw;
    line-height: 1.42;
    margin: 0 0 1.867vw;
	}

	#about .headFlex .conts p {
    max-width: 61.867vw;
		margin: 0 0 0 0.8vw;
	}

	#about .headFlex .image {
    max-width: 43.867vw;
    margin: 0 0 0 2.933vw;
	}

	#about .aboutRank {
    margin-bottom: 8vw;
	}

	#about .aboutRank .image {
    max-width: 80.667vw;
    margin: 0 auto 5.333vw;
	}

	#about .aboutRank .conts {
    padding: 0 0.533vw;
	}

	#about .aboutRank .conts p {
    font-size: 2.667vw;
    line-height: 1.4;
    letter-spacing: 0.05em;
		margin-bottom: 2.667vw;
	}

	#about .aboutArrow p {
    font-size: 4.8vw;
    line-height: 1.3333;
    letter-spacing: 0.06em;
	}

	#about .aboutArrow .image {
    max-width: 77.6vw;
    margin: -15.467vw auto 0;
    transform: translateX(-0.267vw);
    -webkit-transform: translateX(-0.267vw);
    -moz-transform: translateX(-0.267vw);
	}

	#about .aboutList {
		max-width: 86.667vw;
		height: 103.733vw;
		margin: 0 auto 1.6vw;
	}

	#about .aboutList .box01 {
		width: 56.933vw;
		height: 38.667vw;
		background: url('../img/fukidashi01-sp.png') no-repeat;
		background-size: 100% auto;
		left: 3.2vw;
		top: 0;
		padding: 7.2vw 0 0 8.267vw;
	}

	#about .aboutList .box02 {
		width: 56.933vw;
		height: 38.667vw;
		background: url('../img/fukidashi02-sp.png') no-repeat;
		background-size: 100% auto;
		right: -1.867vw;
		left: initial;
		top: 20.8vw;
		padding: 7.2vw 0 0 11.467vw;
		z-index: 3;
	}

	#about .aboutList .box03 {
		width: 56.933vw;
		height: 38.667vw;
		background: url('../img/fukidashi03-sp.png') no-repeat;
		background-size: 100% auto;
		left: 6.4vw;
		top: 44.533vw;
		padding: 6.667vw 0 0 9.867vw;
		z-index: 5;
	}

	#about .aboutList .box04 {
		width: 56.933vw;
		height: 38.667vw;
		background: url('../img/fukidashi04-sp.png') no-repeat;
		background-size: 100% auto;
		right: 3.2vw;
		left: initial;
		top: 68.267vw;
		padding: 6.667vw 0 0 8.533vw;
		z-index: 7;
	}

	#about .aboutList .box p {
    font-size: 4vw;
    line-height: 1.326;
	}

	#about .aboutPrice .boxHead {
    margin-bottom: 2.933vw;
	}

	#about .aboutPrice .boxHead .whiteTex {
    font-size: 4vw;
    margin-bottom: 2.4vw;
	}

	#about .aboutPrice .boxHead .yellowTex {
    flex-wrap: wrap;
	}

	#about .aboutPrice .boxHead .yellowTex span:nth-child(1) {
    font-size: 7.733vw;
    letter-spacing: 0.07em;
		display: block;
		width: 100%;
		text-align: center;
	}

	#about .aboutPrice .boxHead .yellowTex span:nth-child(2) {
		font-size: 6.667vw;
		display: block;
		width: 100%;
		margin-bottom: 1.867vw;
		text-align: center;
		transform: translate(0.533vw, 0.8vw);
		-webkit-transform: translate(0.533vw, 0.8vw);
		-moz-transform: translate(0.533vw, 0.8vw);
	}

	#about .aboutPrice .boxHead .yellowTex span:nth-child(3) {
    font-size: 6.133vw;
    transform: translate(1.333vw, 0);
    -webkit-transform: translate(1.333vw, 0);
    -moz-transform: translate(1.333vw, 0);
	}

	#about .aboutPrice .boxHead .yellowTex span:nth-child(4) {
		font-size: 4vw;
		margin: 0 -2.133vw;
		transform: translate(3.467vw, 0.533vw);
		-webkit-transform: translate(3.467vw, 0.533vw);
		-moz-transform: translate(3.467vw, 0.533vw);
	}

	#about .aboutPrice .image {
    width: 100vw;
    margin: 0 auto 0.8vw;
    transform: translateX(-6.4vw);
    -webkit-transform: translateX(-6.4vw);
    -moz-transform: translateX(-6.4vw);
	}

	/*-----------------------------------
	 scene
	-----------------------------------*/

	#scene {
		padding: 13.333vw 0 8vw 0;
	}

	#scene .head {
		margin-bottom: 5.333vw;
	}

	#scene .head .icon {
		max-width: 29.067vw;
		margin: 0 auto 1.867vw;
	}

	#scene .head h2 {
		font-size: 5.867vw;
		margin-bottom: 1.067vw;
	}

	#scene .head p {
		font-size: 3.467vw;
		letter-spacing: 0.035em;
	}

	#scene .scenelist {
		padding: 0 5.867vw;
		flex-direction: column;
	}

	#scene .scenelist .conts {
		padding: 6.133vw 0 6.667vw;
	}

	#scene .scenelist .conts h3 {
		font-size: 4.533vw;
	}

	#scene .scenelist .box {
    width: 100%;
    max-width: 149.6vw;
    margin: 0 auto 5.067vw;
	}

	#scene .scenelist .box01 .enHead {
    max-width: 45.067vw;
    top: -4.8vw;
    left: 50%;
	}

	#scene .scenelist .box02 .enHead {
		max-width: 47.467vw;
		top: -5.067vw;
    left: 50%;
	}

	#scene .scenelist .box03 .enHead {
		max-width: 52.267vw;
		top: -5.067vw;
    left: 50%;
	}

	/*-----------------------------------
	features
	-----------------------------------*/

	#features {
		padding: 12.533vw 0 13.067vw 0;
	}

	#features .head {
		margin-bottom: 5.333vw;
	}

	#features .head .icon {
		max-width: 45.467vw;
		margin: 0 auto 2.933vw;
	}

	#features .head h2 {
		font-size: 5.333vw;
		line-height: 1.5;
		letter-spacing: 0.06em;
		margin-bottom: 0;
		white-space: nowrap;
	}

	#features .charaBox {
		width: calc(100% + 5rem);
		margin: 0 0 11.467vw -2.5rem;
		padding: 6.667vw 6.667vw 9.333vw 38.933vw;
	}

	#features .charaBox .obj {
		max-width: 34vw;
		left: 0;
		top: 5.067vw;
	}

	#features .charaBox .conts p {
		font-size: 4vw;
		line-height: 1.5333;
	}

	#features .featuresList .box01 {
		flex-direction: column;
		margin: 0 auto -0.267vw;
		padding: 0 10.133vw;
	}

	#features .featuresList .box01 .image {
		width: 88.533vw;
		margin: 0 auto 0;
		padding: 7.733vw 0 0 0;
		transform: translateX(-10.933vw);
		-webkit-transform: translateX(-10.933vw);
		-moz-transform: translateX(-10.933vw);
	}

	#features .featuresList .box01 .conts {
		width: 100%;
		margin-bottom: 1.333vw;
	}

	#features .featuresList .box01 .conts h3 {
		margin-bottom: 3.2vw;
		padding: 0 0 0 10.133vw;
		white-space: nowrap;
	}

	#features .featuresList .box01 .conts h3:before {
		width: 9.067vw;
		height: 8.933vw;
		background: url('../img/check-icon-sp.png') no-repeat;
		background-size: 100% auto;
		left: -0.533vw;
    top: -0.533vw;
	}

	#features .featuresList .box01 .conts h3 b {
		font-size: 5.067vw;
		line-height: 1.473;
	}

	#features .featuresList .box01 .conts h3 small {
    max-width: 21.6vw;
    left: 22.133vw;
    top: -0.8vw;
	}

	#features .featuresList .box01 .conts p {
		font-size: 4vw;
    line-height: 1.8666;
    letter-spacing: 0.035em;
    padding: 0 0 0;
	}

	#features .featuresList .box01 .conts p small {
		font-size: 3.2vw;
		line-height: 1.415;
		display: block;
		padding: 5.333vw 0 0 0;
	}

	#features .featuresList .box02 {
		flex-direction: column;
		margin: 0 auto 0;
		padding: 0 10.133vw;
	}

	#features .featuresList .box02 .image {
		width: 72vw;
		margin: 0 auto 0;
		padding: 0 0 0 0;
		transform: translateX(-2.667vw);
		-webkit-transform: translateX(-2.667vw);
		-moz-transform: translateX(-2.667vw);
	}

	#features .featuresList .box02 .conts {
		width: 100%;
		margin-bottom: 4.8vw;
		padding: 16.533vw 0 0 0;
	}

	#features .featuresList .box02 .conts h3 {
		margin-bottom: 11.2vw;
		padding: 0 0 0 10.933vw;
		white-space: nowrap;
	}

	#features .featuresList .box02 .conts h3:before {
		width: 9.067vw;
		height: 8.933vw;
		background: url('../img/check-icon-sp.png') no-repeat;
		background-size: 100% auto;
		left: -0.533vw;
    top: -0.533vw;
	}

	#features .featuresList .box02 .conts h3 b {
		font-size: 5.067vw;
		line-height: 1.473;
	}

	#features .featuresList .box02 .conts h3 small {
		max-width: 24.8vw;
		left: 22.4vw;
		top: -7.733vw;
	}

	#features .featuresList .box02 .conts p {
		font-size: 4vw;
    line-height: 1.8666;
    letter-spacing: 0.035em;
    padding: 0 0 0;
	}

	#features .featuresList .box03 {
		flex-direction: column;
		margin: 0 auto 0;
		padding: 0 10.133vw;
	}

	#features .featuresList .box03 .image {
		width: 72vw;
		margin: 0 auto 0;
		padding: 0 0 0 0;
		transform: translateX(-2.667vw);
		-webkit-transform: translateX(-2.667vw);
		-moz-transform: translateX(-2.667vw);
	}

	#features .featuresList .box03 .conts {
		width: 100%;
		margin-bottom: 4.8vw;
		padding: 12.8vw 0 0 0;
	}

	#features .featuresList .box03 .conts h3 {
		margin-bottom: 7.2vw;
		padding: 0 0 0 10.933vw;
		white-space: nowrap;
	}

	#features .featuresList .box03 .conts h3:before {
		width: 9.067vw;
		height: 8.933vw;
		background: url('../img/check-icon-sp.png') no-repeat;
		background-size: 100% auto;
		left: -0.533vw;
    top: -0.533vw;
	}

	#features .featuresList .box03 .conts h3 b {
		font-size: 5.067vw;
		line-height: 1.473;
	}

	#features .featuresList .box03 .conts h3 small {
		max-width: 24.933vw;
		left: 22.4vw;
		top: -4.267vw;
	}

	#features .featuresList .box03 .conts p {
		font-size: 4vw;
    line-height: 1.8666;
    letter-spacing: 0.035em;
    padding: 0 0 0;
	}

	/*-----------------------------------
	conversion
	-----------------------------------*/

	#conversion {
		padding: 0 0 16vw 0;
		background: url('../img/conversion-bg-sp.jpg') center bottom no-repeat;
		background-size: cover;
	}

	#conversion .logoBg {
		position: relative;
		left: initial;
		top: initial;
		width: 100vw;
		margin: 0 auto -2.933vw;
		transform: translateX(-6.4vw);
		-webkit-transform: translateX(-6.4vw);
		-moz-transform: translateX(-6.4vw);
	}

	#conversion .conts {
		padding: 0 0 0 0;
		width: 100%;
		margin: 0 0 0 auto;
	}

	#conversion .conts p {
		font-size: 4.533vw;
		line-height: 1.4705;
		letter-spacing: 0.035em;
		margin-bottom: 3.2vw;
	}

	#conversion .conts .price {
		width: 100vw;
		transform: translateX(-6.667vw);
		-webkit-transform: translateX(-6.667vw);
		-moz-transform: translateX(-6.667vw);
		margin-bottom: 5.067vw;
	}

	#conversion .conts .boxList {
		max-width: 85.2vw;
		margin: 0 auto 4.8vw;
	}

	#conversion .conts .catch {
		margin-bottom: 7.467vw;
		padding: 0 0 0;
	}

	#conversion .conts .catch p {
		display: flex;
		justify-content: center;
		align-items: center;
		line-height: 1;
		color: #fff;
	}

	#conversion .conts .catch p span:nth-child(1) {
		font-size: 4vw;
		white-space: nowrap;
		transform: translate(2.133vw, -0.8vw);
		-webkit-transform: translate(2.133vw, -0.8vw);
		-moz-transform: translate(2.133vw, -0.8vw);
	}

	#conversion .conts .catch p span:nth-child(2) {
		font-size: 7.549vw;
		white-space: nowrap;
	}

	#conversion .conts .catch p span:nth-child(2) small.left {
		font-size: 5.033vw;
		transform: translate(-0.267vw, -3.733vw);
		-webkit-transform: translate(-0.267vw, -3.733vw);
		-moz-transform: translate(-0.267vw, -3.733vw);
	}

	#conversion .conts .catch p span:nth-child(2) small.right {
		font-size: 5.033vw;
		transform: translate(0.267vw, 1.333vw);
		-webkit-transform: translate(0.267vw, 1.333vw);
		-moz-transform: translate(0.267vw, 1.333vw);
	}

	#conversion .conts .catch p span:nth-child(3) {
		font-size: 4vw;
		white-space: nowrap;
		transform: translate(-1.867vw, -0.267vw);
		-webkit-transform: translate(-1.867vw, -0.267vw);
		-moz-transform: translate(-1.867vw, -0.267vw);
	}

	#conversion .conts .button {
		max-width: 84.8vw;
		height: 18.8vw;
		margin: 0 auto 0;
		transform: translateX(2.4vw);
		-webkit-transform: translateX(2.4vw);
		-moz-transform: translateX(2.4vw);
	}

	#conversion .conts .button span {
		position: absolute;
		width: 100%;
		right: 0;
		top: 0;
		transition: all 0.3s ease;
	}

	#conversion .conts .addTex p {
		font-size: 2.667vw;
		margin: -2.133vw 0 0 -0.267vw;
	}

	/*-----------------------------------
	recommend
	-----------------------------------*/

	#recommend {
		padding: 13.333vw 0 13.067vw 0;
	}

	#recommend .head {
		margin-bottom: 6.4vw;
	}

	#recommend .head .icon {
		max-width: 57.467vw;
		margin: 0 auto 2.667vw;
	}

	#recommend .head h2 {
		font-size: 5.333vw;
		line-height: 1.5;
		letter-spacing: 0.06em;
		margin-bottom: 0;
		white-space: nowrap;
	}

	#recommend .strengthsHead {
		width: calc(100% + 5rem);
		margin-left: -2.5rem;
		margin-bottom: 5.067vw;
	}

	#recommend .strengthsHead h3 {
		margin-bottom: 4vw;
		padding: 5.867vw 0 5.867vw 14.933vw;
	}

	#recommend .strengthsHead h3 small {
		max-width: 13.6vw;
		transform: translateX(2.4vw);
		-webkit-transform: translateX(2.4vw);
		-moz-transform: translateX(2.4vw);
	}

	#recommend .strengthsHead h3 b {
		font-size: 5.067vw;
		line-height: 1.473;
		margin: 0 0 0 6.133vw;
	}

	#recommend .strengthsHead p {
		font-size: 3.467vw;
    line-height: 1.6;
    text-align: justify;
    padding: 0 10.933vw;
	}

	#recommend .strengthsList {
		width: 100%;
		margin: 0 auto 8.533vw;
	}

	#recommend .strengthsList .box {
		margin-bottom: 2.133vw;
		padding: 0 0 1.333vw;
		width: 49%;
		min-height: 38.133vw;
	}

	#recommend .strengthsList .box:before {
		left: -11.2vw;
	}

	#recommend .strengthsList .box p {
		font-size: 3.2vw;
		line-height: 1.333;
		margin-bottom: 0.267vw;
	}

	#recommend .strengthsList .box p .pre {
		position: absolute;
		margin: -2.4vw 0 0 -1.067vw;
		font-size: 2.667vw;
		transform: scale(0.7);
		-webkit-transform: scale(0.7);
		-moz-transform: scale(0.7);
	}

	#recommend .strengthsList .box p small {
		display: inline-block;
		font-size: 2.667vw;
		transform: scale(0.8);
		-webkit-transform: scale(0.8);
		-moz-transform: scale(0.8);
	}

	#recommend .strengthsList .box01 .image {
		max-width: 21.733vw;
		margin: 2.4vw auto 1.333vw;
		transform: translateX(-1.067vw);
		-webkit-transform: translateX(-1.067vw);
		-moz-transform: translateX(-1.067vw);
	}

	#recommend .strengthsList .box02 .image {
		max-width: 21.733vw;
		margin: 4.267vw auto 1.867vw;
	}

	#recommend .strengthsList .box03 .image {
    max-width: 28.8vw;
    margin: 7.2vw auto 2.933vw;
	}

	#recommend .strengthsList .box04 .image {
		max-width: 22.267vw;
		margin: 8.267vw auto 3.2vw;
	}

	#recommend .strengthsList .box05 .image {
    max-width: 20.933vw;
    margin: 4.267vw auto 2.4vw;
		transform: translateX(0.8vw);
		-webkit-transform: translateX(0.8vw);
		-moz-transform: translateX(0.8vw);
	}

	#recommend .strengthsList .box06 .image {
		max-width: 32.4vw;
		margin: 7.467vw auto 1.867vw;
	}

	#recommend .strengthsList .box06 p {
		margin-bottom: -0.267vw;
	}

	#recommend .strengthsList .box07 .image {
		max-width: 21.2vw;
		margin: 4.533vw auto 2.4vw;
	}

	#recommend .strengthsList .box08 .image {
    max-width: 25.333vw;
    margin: 4.8vw auto 2.667vw;
	}

	#recommend .strengthsList .box09 .image {
		max-width: 15.6vw;
		margin: 5.333vw auto 1.867vw;
	}

	#recommend .strengthsList .box09 p {
		margin-bottom: -0.533vw;
	}

	#recommend .yamadaHead {
		width: calc(100% + 5rem);
		margin-left: -2.5rem;
		margin-bottom: 6.667vw;
	}

	#recommend .yamadaHead h3 {
		position: relative;
		margin-bottom: 4vw;
		padding: 7.733vw 8.533vw 8.8vw 6.4vw;
	}

	#recommend .yamadaHead h3 small {
		max-width: 13.6vw;
		transform: translateX(2.4vw);
		-webkit-transform: translateX(2.4vw);
		-moz-transform: translateX(2.4vw);
	}

	#recommend .yamadaHead h3 b {
		font-size: 5.067vw;
		line-height: 1.473;
		margin: 0 0 0 4.533vw;
	}

	#recommend .yamadaHead h3 b span:nth-child(1) {
		font-size: 5.067vw;
		line-height: 1.473;
		margin-bottom: 0.533vw;
	}

	#recommend .yamadaHead h3 b span:nth-child(2) {
		font-size: 2.667vw;
		line-height: 1.4;
	}

	#recommend .yamadaHead h3 .logo {
		position: absolute;
		right: 11.2vw;
		bottom: 3.2vw;
		width: 100%;
		max-width: 16.267vw;
		transform: initial;
		-webkit-transform: initial;
		-moz-transform: initial;
	}

	#recommend .yamadaHead p {
		font-size: 3.467vw;
    line-height: 1.6;
		letter-spacing: 0.065em;
    text-align: justify;
    padding: 0 10.933vw;
	}

	#recommend .yamadaList {
		margin-bottom: 3.2vw;
		padding: 0 1.6vw;
	}

	#recommend .yamadaList .box {
		width: 47%;
		margin-bottom: 4.267vw;
	}

	#recommend .yamadaList .box .image {
		margin-bottom: 2.933vw;
	}

	#recommend .yamadaList .box p {
		font-size: 3.2vw;
		line-height: 1.333;
	}

	#recommend .yamadaList .box p small {
		display: inline-block;
		font-size: 2.667vw;
		transform: scale(0.9);
		-webkit-transform: scale(0.9);
		-moz-transform: scale(0.9);
		white-space: nowrap;
	}

	#recommend .yamadaPrice {
		flex-direction: column;
		align-items: center;
	}

	#recommend .yamadaPrice .image {
		max-width: 82.8vw;
		margin: 0 auto 0;
		transform: translateX(-1.333vw);
		-webkit-transform: translateX(-1.333vw);
		-moz-transform: translateX(-1.333vw);
	}

	#recommend .yamadaPrice .conts {
		width: 100%;
		padding: 4.8vw 0 0 0;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
	}
	#recommend .yamadaPrice .conts .function {
		width: 100%;
		max-width: 42.533vw;
		margin: 0 auto 0;
	}

  #recommend .yamadaPrice .conts img{
    width: 100%;
  }

	/*-----------------------------------
	 reason
	-----------------------------------*/

	#reason {
		padding: 0 0 11.2vw 0;
	}

	#reason .head {
		margin-bottom: 6.933vw;
	}

	#reason .head .icon {
		max-width: 35.733vw;
		margin: 0 auto 2.667vw;
	}

	#reason .head h2 {
		font-size: 5.333vw;
		margin-bottom: 0;
	}

	#reason .reasonBox.box01 {
		margin-bottom: 8.8vw;
	}

	#reason .reasonBox.box01:before {
		width: 100%;
		height: 86.5%;
	}

	#reason .reasonBox.box01 .inner {
		padding: 0;
		position: relative;
		flex-direction: column;
	}

	#reason .reasonBox.box01 .conts {
		width: 100%;
		padding: 9.867vw 10.133vw 7.467vw;
	}

	#reason .reasonBox.box01 .conts h3 {
		font-size: 5.867vw;
		line-height: 1.454;
		margin-bottom: 5.6vw;
	}

	#reason .reasonBox.box01 .conts p {
		font-size: 4vw;
		line-height: 1.86666;
	}

	#reason .reasonBox.box01 .conts .bg {
		width: 100vw;
		left: -6.667vw;
	}

	#reason .reasonBox.box02 {
		margin-bottom: 9.333vw;
	}

	#reason .reasonBox.box02:before {
		width: 100%;
		height: 85%;
	}

	#reason .reasonBox.box02 .inner {
		padding: 0;
		position: relative;
		flex-direction: column;
	}

	#reason .reasonBox.box02 .conts {
		width: 100%;
		padding: 8.533vw 10.133vw 4.533vw;
	}

	#reason .reasonBox.box02 .conts h3 {
		font-size: 5.867vw;
		line-height: 1.454;
		margin-bottom: 4.533vw;
	}

	#reason .reasonBox.box02 .conts p {
		font-size: 4vw;
		line-height: 1.86666;
	}

	#reason .reasonBox.box02 .conts .bg {
		width: 100vw;
		left: -6.667vw;
	}

	#reason .reasonBox.box03 {
		margin-bottom: 8.8vw;
	}

	#reason .reasonBox.box03:before {
		width: 100%;
		height: 85%;
	}

	#reason .reasonBox.box03 .inner {
		padding: 0;
		position: relative;
		flex-direction: column;
	}

	#reason .reasonBox.box03 .conts {
		width: 100%;
		padding: 8.533vw 10.133vw 6.667vw;
	}

	#reason .reasonBox.box03 .conts h3 {
		font-size: 5.867vw;
		line-height: 1.454;
		margin-bottom: 6.133vw;
	}

	#reason .reasonBox.box03 .conts p {
		font-size: 4vw;
		line-height: 1.86666;
	}

	#reason .reasonBox.box03 .conts .bg {
		width: 100vw;
		left: -6.667vw;
	}

	/*-----------------------------------
	product
	-----------------------------------*/

	#product {
		padding: 0 0 6.933vw 0;
	}

	#product .head {
		margin-bottom: 7.467vw;
	}

	#product .head .icon {
		max-width: 42.4vw;
		margin: 0 auto 2.667vw;
	}

	#product .head h2 {
		font-size: 5.333vw;
		margin-bottom: 0;
	}

	#product .strengthBox {
		text-align: center;
		margin-bottom: 7.467vw;
		-webkit-box-shadow: 0 0 8vw 0 rgba(214,214,214,0.3);
		-moz-box-shadow: 0 0 8vw 0 rgba(214,214,214,0.3);
		box-shadow: 0 0 8vw 0 rgba(214,214,214,0.3);
	}

	#product .strengthBox .imageHead .imageBox {
		right: 9.6vw;
		bottom: 8.533vw;
		width: 77.4%;
		padding: 3.2vw 0 4.267vw 4.8vw;
	}

	#product .strengthBox .imageHead .imageBox h3 {
		font-size: 3.2vw;
		line-height: 1.416;
		text-align: left;
	}

	#product .strengthBox table th {
		width: 19.467vw;
		border-right: none;
		border-bottom: 0.267vw solid #d3d3d3;
		font-size: 3.2vw;
		line-height: 1.1666;
		padding: 5.333vw 0;
	}

	#product .strengthBox table tr:last-child th {
		border-bottom: none;
	}

	#product .strengthBox table td {
		width: calc(100% - 19.467vw);
		border-bottom: 0.267vw solid #d3d3d3;
		padding: 2.933vw 0;
	}

	#product .strengthBox table tr:last-child td {
		border-bottom: none;
	}

	#product .strengthBox table td.addTd {
		padding: 4.8vw 0;
	}

	#product .strengthBox table td.spTd {
		padding: 2.933vw 0 7.2vw;
	}

	#product .strengthBox table td p {
		font-size: 3.2vw;
		line-height: 1.8333;
	}

	#product .strengthBox table td p small {
		font-size: 2.667vw;
	}

	#product .strengthBox table td p.centerTex {
    max-width: 50.4vw;
	}

	#product .yamadaBox {
		text-align: center;
		margin-bottom: 7.467vw;
		-webkit-box-shadow: 0 0 8vw 0 rgba(214,214,214,0.3);
		-moz-box-shadow: 0 0 8vw 0 rgba(214,214,214,0.3);
		box-shadow: 0 0 8vw 0 rgba(214,214,214,0.3);
	}

	#product .yamadaBox .imageHead .imageBox {
		right: 9.6vw;
		bottom: 8.533vw;
		width: 77.4%;
		padding: 2.133vw 0 2.933vw 8vw;
		text-align: left;
	}

	#product .yamadaBox .imageHead .imageBox h3 {
		font-size: 4vw;
		line-height: 1.4396;
	}

	#product .yamadaBox table th {
		width: 19.467vw;
		border-right: none;
		border-bottom: 0.267vw solid #d3d3d3;
		font-size: 3.2vw;
		line-height: 1.1666;
		padding: 5.333vw 0;
	}

	#product .yamadaBox table td {
		width: calc(100% - 19.467vw);
		border-bottom: 0.267vw solid #d3d3d3;
		padding: 6.933vw 0;
	}

	#product .yamadaBox table td p {
		font-size: 3.2vw;
		line-height: 1.8333;
	}
	#product .yamadaBox table td p.centerTex {
		max-width: 50.4vw;
	}

	/*-----------------------------------
	voice
	-----------------------------------*/

	#voice {
		padding: 13.6vw 0 13.333vw 0;
	}

	#voice .head {
		margin-bottom: 4.267vw;
	}

	#voice .head .icon {
		max-width: 26.533vw;
		margin: 0 auto 2.933vw;
	}

	#voice .head h2 {
		font-size: 5.333vw;
		margin-bottom: 0;
	}

	#voice .voiceBox {
		width: calc(100% + 5rem);
		margin-left: -2.5rem;
		padding: 6.4vw 6.667vw 6.667vw;
	}

	#voice .voiceBox .boxInner {
		padding: 6.4vw 0;
	}

	#voice .voiceBox .boxInner .boxHead {
		flex-direction: column;
		margin-bottom: 4.267vw;
		padding: 0 0;
	}

	#voice .voiceBox .boxInner .boxHead .logo {
		margin: 0 auto 2.933vw;
		max-width: 60.8vw;
	}

	#voice .voiceBox .boxInner .boxHead .conts {
		width: 78%;
	}

	#voice .voiceBox .boxInner .boxHead .conts dl {
		display: flex;
		border: 0.267vw solid #afaead;
		margin-bottom: 1.333vw;
	}

	#voice .voiceBox .boxInner .boxHead .conts dl dd {
		font-size: 3.376vw;
		width: 30.4vw;
		padding: 0.533vw 0;
	}

	#voice .voiceBox .boxInner .boxHead .conts dl dt {
		font-size: 3.376vw;
		width: calc(100% - 30.4vw);
		padding: 0.533vw 0 0.533vw 3.467vw;
	}

	#voice .voiceBox .boxInner .boxConts {
		width: 80%;
		margin: 0 auto 0;
	}

	#voice .voiceBox .boxInner .boxConts p {
		font-size: 4vw;
		line-height: 1.8666;
		letter-spacing: 0.05em;
	}

	/*-----------------------------------
	flow
	-----------------------------------*/

	#flow {
		padding: 13.333vw 0 11.467vw 0;
	}

	#flow .head {
		margin-bottom: 7.733vw;
	}

	#flow .head .icon {
		width: 100%;
		max-width: 24.8vw;
		margin: 0 auto 2.667vw;
	}

	#flow .head h2 {
		font-size: 5.333vw;
	}

	#flow .flowList {
		flex-direction: column;
		margin-bottom: 5.333vw;
	}

	#flow .flowList .arrow {
		max-width: 5.333vw;
		margin: 1.867vw auto 2.4vw;
		transform: translateY(0);
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
	}

	#flow .flowList .box {
		width: 100%;
		max-width: initial;
	}

	#flow .flowList .box .image {
		margin-bottom: 5.333vw;
	}

	#flow .flowList .box .conts h3 .icon {
		max-width: 6.667vw;
		margin: 0 2.667vw 0 0;
		transform: translate(0.533vw, 0);
		-webkit-transform: translate(0.533vw, 0);
		-moz-transform: translate(0.533vw, 0);
	}

	#flow .flowList .box .conts h3 .text {
		font-size: 5.333vw;
		font-weight: 700;
		line-height: 1.22;
		letter-spacing: 0.075em;
		text-align: center;
		color: #fff;
	}

	#flow .flowAdd {
		text-align: center;
	}

	#flow .flowAdd p {
		font-size: 3.467vw;
		line-height: 1.461;
	}

	/*-----------------------------------
	faq
	-----------------------------------*/

	#faq {
		padding: 13.333vw 0 4.533vw 0;
	}

	#faq .head {
		margin-bottom: 6.933vw;
	}

	#faq .head .icon {
		max-width: 16.4vw;
		margin: 0 auto 3.2vw;
	}

	#faq .head h2 {
		font-size: 5.333vw;
	}

	#faq .faqBox {
		margin-bottom: 0.267vw;
	}

	#faq .faqBox .boxHead .iconArea {
		width: 7.467vw;
		padding: 1.867vw 0 0 0;
	}

	#faq .faqBox .boxHead .iconArea .icon {
		max-width: 2.667vw;
	}

	#faq .faqBox .boxHead .textArea {
		width: calc(100% - 7.467vw);
		padding: 2.933vw 2.933vw 2.4vw 2.933vw;
	}

	#faq .faqBox .boxHead .textArea h3 {
		font-size: 3.733vw;
		line-height: 1.4285714;
	}

	#faq .faqBox .boxConts {
		display: flex;
	}

	#faq .faqBox .boxConts .iconArea {
		width: 7.467vw;
		padding: 3.2vw 0 0 0;
	}

	#faq .faqBox .boxConts .iconArea .icon {
		max-width: 2.667vw;
	}

	#faq .faqBox .boxConts .textArea {
		width: calc(100% - 7.467vw);
		padding: 2.133vw 2.133vw 5.067vw 2.933vw;
	}

	#faq .faqBox .boxConts .textArea p {
		font-size: 3.733vw;
		font-weight: 500;
		margin-bottom: 1.067vw;
	}

	#faq .faqBox .boxConts .textArea p small {
		font-size: 2.667vw;
		letter-spacing: 0;
	}

	/*-----------------------------------
		contact
	-----------------------------------*/

	#contact {
		padding: 12.8vw 0 18.667vw 0;
	}

	#contact .head {
		margin-bottom: 5.067vw;
	}

	#contact .head .icon {
		max-width: 24.533vw;
		margin: 0 auto 2.667vw;
	}

	#contact .head h2 {
		font-size: 5.333vw;
	}

	#contact .contactText {
		margin: 0 0 6.667vw;
		padding: 0 2.4vw;
	}

	#contact .contactText p {
		font-size: 3.733vw;
		line-height: 2;
		text-align: justify;
	}

	#contact .contactTable table {
		width: 100%;
		margin: 0 0 5.6vw;
	}

	#contact .contactTable th {
		width: 100%;
		display: block;
	}

	#contact .contactTable th.vat {
		padding: 0 0 0 0;
	}

	#contact .contactTable th .thFlex {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	#contact .contactTable th .thHead {
		font-size: 3.2vw;
	}

	#contact .contactTable th .yellowBox {
		max-width: 8vw;
		line-height: 3.733vw;
		margin: 0.533vw 0 0 2.4vw;
	}

	#contact .contactTable th .whiteBox {
		max-width: 8vw;
		line-height: 3.733vw;
		margin: 0.533vw 0 0 2.4vw;
	}

	#contact .contactTable td {
		width: 100%;
		display: block;
		padding: 2.4vw 0 5.333vw;
	}

	#contact .contactTable .red {
		font-size: 3.2vw;
		font-weight: 700;
		color: #ff6000;
		padding: 0.8vw 0 0 0;
	}

	#contact .contactTable .red.redAdd {
		line-height: 1;
		display: block;
		width: 100%;
	}

	#contact .selectBox {
		position: relative;
	}

	#contact .selectBox:after {
		border-width: 1.333vw 0.8vw 0 0.8vw;
		right: 2.667vw;
	}

	#contact .textareaDiv {
		position: relative;
		background: #fff;
		border-radius: 0.533vw;
	}

	#contact .textareaDiv #placeholder {
		left: 3.2vw;
		font-size: 3.2vw;
    line-height: 1.6666;
	}

	#contact .textareaDiv #placeholder.none {
	display: none;
	}

	#contact .contactTable td.radiaFlex {
		display: flex;
		flex-wrap: wrap;
		padding: 0.8vw 0 3.467vw;
	}

	#contact .contactTable td.radiaFlex label {
		position: relative;
		z-index: 1;
		display: flex;
		align-items: center;
		line-height: 1.4;
		padding-top: 2.933vw;
		padding-bottom: 2.933vw;
		padding-left: 8vw;
		margin: 0 5.333vw 0 0;
		font-size: 3.2vw;
	}

	#contact .radiaFlex [type="radio"] {
		position: absolute;
		z-index: 1;
		opacity: 0;
		top: 0;
		left: 0;
	}

	#contact .radiaFlex label > i::after {
		width: 2.133vw;
		height: 2.133vw;
	}

	#contact .radiaFlex i {
		display: block;
		width: 5.867vw;
		height: 5.867vw;
		margin-right: 1.067vw;
		transition-duration: .3s;
		transition-property: background-color, color;
		border: 0.533vw solid #ffffff;
		background: #fff;
		box-sizing: border-box;
		position: absolute;
		z-index: 1;
		top: calc(2.933vw + 0.7em);
		left: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	#contact .radiaFlex .text {
		display: block;
		font-weight: normal;
	}

	#contact input[type="text"] {
		width: 97%;
    height: 7.467vw;
    border-radius: 0.533vw;
    padding: 0 0 0 2.933vw;
    font-size: 3.2vw;
	}

	#contact select {
		width: 100%;
		height: 7.467vw;
		border-radius: 0.533vw;
		padding: 0 0 0 4.533vw;
		font-size: 3.2vw;
	}

	#contact input::placeholder {
		color: #dddddd;
	}

	/* IE */
	#contact input:-ms-input-placeholder {
		color: #dddddd;
	}

	/* Edge */
	#contact input::-ms-input-placeholder {
		color: #dddddd;
	}

	#contact textarea {
		height: 18.933vw;
		border-radius: 0.533vw;
		padding: 4.533vw;
		font-size: 3.2vw;
	}

	#contact .privacyBox {
		margin: 0 0 5.6vw;
	}

	#contact .privacyBox .boxHead {
		font-size: 3.2vw;
		text-align: left;
		border-radius: 0.533vw 0.533vw 0 0;
		padding: 2.133vw 4.267vw;
	}

	#contact .privacyBox .boxConts {
		height: 43.733vw;
		border-radius: 0 0 0.533vw 0.533vw;
	}

	#contact .privacyBox .boxConts .boxInner {
		padding: 5.867vw 3.467vw;
		max-height: 38.4vw;
	}

	#contact .privacyBox .boxConts .centerText {
		font-size: 3.2vw;
		margin: 0 0 3.2vw;
	}

	#contact .privacyBox .boxConts .leftText {
		font-size: 3.2vw;
		line-height: 1.583;
		margin: 0 0 2.4vw;
	}

	#contact .privacyBox .boxConts .priFlex {
		display: flex;
		margin: 0 0 2.4vw;
	}

	#contact .privacyBox .boxConts .priFlex .no {
		font-size: 3.2vw;
		letter-spacing: 0;
		text-align: left;
		color: #1c1c1c;
	}

	#contact .privacyBox .boxConts .priFlex .priText {
		font-size: 3.2vw;
		font-weight: 500;
		line-height: 2;
		text-align: left;
		color: #1c1c1c;
	}

	#contact .formCheack {
		display: flex;
		align-items: center;
		flex-direction: column;
		margin: 0 0 4.533vw;
	}

	#contact .formCheack label {
		padding-top: 2.933vw;
		padding-bottom: 2.933vw;
		padding-left: 10.4vw;
		font-size: 3.2vw;
	}

	#contact .formCheack label i {
		width: 5.867vw;
		height: 5.867vw;
		border-radius: 0.267vw;
		top: calc(1.6vw + 0.7em);
		left: 1.067vw;
	}

	#contact .formCheack [type="checkbox"] {
		position: absolute;
		z-index: 1;
		opacity: 0;
		top: 0;
		left: 0;
	}

	#contact .formCheack label > i::after {
		content: "";
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 50%;
		width: 4.267vw;
		height: 3.467vw;
		background-image: url('../img/check.svg');
		background-size: 100% 100%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		opacity: 0;
		transition: all 0.3s ease;
	}

	#contact .formCheack label.dis > i::after {
		opacity: 1;
	}

	#contact .formCheack label .text {
		display: inline-block;
		transform: translateY(-1.067vw);
		-webkit-transform: translateY(-1.067vw);
		-moz-webkit-transform: translateY(-1.067vw);
	}

	#contact .formBtFlex {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#contact .recapchArea  {
		max-width: 81.067vw;
		margin-bottom: 7.467vw;
	}

	#contact .formBtFlex .submitArea {
		width: 100%;
		max-width: 141.333vw;
		padding: 0 0 0 0;
	}

	#contact .formBtFlex .button {
		position: relative;
		width: 100%;
	}

	#contact .formBtFlex .button:after {
		width: 4.667vw;
		height: 4vw;
		background: url('../img/nextArrow-sp.png') no-repeat;
		background-size: 100% auto;
		top: 50%;
		right: 5.867vw;
	}

	#contact .formBtFlex .button input {
		font-size: 5.333vw;
		line-height: 18.667vw;
	}


	#contact .formButtonsFlex {
		flex-direction: column;
	}

	#contact .formButtonsFlex > div {
		width: 77%;
		margin: 0 auto 0;
	}

	#contact .formButtonsFlex .submitArea {
		padding: 0 0 0;
	}

	#contact .formButtonsFlex .button {
		position: relative;
		width: 100%;
		max-width: 106.667vw;
	}

	#contact .formButtonsFlex .button:after {
		width: 4.667vw;
		height: 4vw;
		background: url('../img/nextArrow-sp.png') no-repeat;
		background-size: 100% auto;
		right: 8vw;
	}

	#contact .formButtonsFlex .button input {
		font-size: 5.333vw;
		padding: 0 0 0 0;
		line-height: 16vw;
	}

	/*-----------------------------------
	confirmPage
	-----------------------------------*/

	#contact.confirmPage {
		padding: 11.733vw 0 18.667vw;
	}

	#contact.confirmPage .head {
		margin-bottom: 5.067vw;
	}

	#contact.confirmPage .head .enTitle {
		padding-top: 5.333vw;
	}

	#contact.confirmPage .head h2 {
		top: 20.267vw;
	}

	#contact.confirmPage .contactText {
		margin: 0 0 8.8vw;
	}

	#contact.confirmPage .confirmTable table {
		width: 100%;
		margin: 0 0 5.333vw;
	}

	#contact.confirmPage .confirmTable th {
		font-size: 3.2vw;
		width: 100%;
		display: block;
		padding: 0 2.667vw 1.867vw 2.667vw;
	}

	#contact.confirmPage .confirmTable td {
		font-size: 3.2vw;
		border-bottom: none;
		width: 100%;
		display: block;
		padding: 1.333vw 2.667vw 6.133vw;
	}

	#contact.confirmPage .formBtFlex .button {
		max-width: 77.333vw;
	}

	#contact.confirmPage .formBtFlex .button input {
		line-height: 22.933vw;
	}

	#contact.confirmPage .backArea {
		padding: 0 0 0;
	}

	#contact.confirmPage .backButton {
		margin: 0 0 8vw;
	}

	#contact.confirmPage .backButton a {
		font-size: 5.333vw;
		line-height: 16vw;
		padding: 0 0 0 0.533vw;
	}

	#contact.confirmPage .backButton a:after {
    width: 4.8vw;
    height: 4vw;
    background: url('../img/prevArrow-sp.png') no-repeat;
    background-size: 100% auto;
    left: 8.267vw;
	}

	/*-----------------------------------
	thanksmPage
	-----------------------------------*/

	#contact.thanksPage {
		padding: 11.733vw 0 18.667vw;
	}

	#contact.thanksPage:before {
		display: none;
	}

	#contact.thanksPage:after {
		display: none;
	}

	#contact.thanksPage .head .enTitle {
		padding-top: 5.333vw;
	}

	#contact.thanksPage .contactText {
		margin: 5.333vw 0 11.467vw;
	}

	#contact.thanksPage .head {
		margin: 0 0 4.533vw;
	}

	#contact.thanksPage .contactText p {
		margin: 0 0 3.733vw;
		line-height: 2;
	}

	#contact.thanksPage .contactText p small {
		font-size: 3.733vw;
	}

	#contact.thanksPage .buttonArea {
		width: 78%;
	}

	#contact.thanksPage .buttonArea a {
		font-size: 5.333vw;
		line-height: 16vw;
		padding: 0 0.8vw 0 0;
	}

	#contact.thanksPage .buttonArea a:after {
		width: 4.667vw;
		height: 4vw;
		background: url('../img/nextArrow-sp.png') no-repeat;
		background-size: 100% auto;
		right: 8vw;
	}

}
