@charset "utf-8";

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

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

	/*----------------------------------------------------
	elements
	----------------------------------------------------*/

	.sp_hidden {
		display: none !important;
	}

	body {
		font-size: 4vw;
	}

	body:before {
		background: url('../img/resolution-bg-sp.jpg') center center no-repeat;
		background-size: cover;
	}

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

	/*----------------------------------------------------
	head
	----------------------------------------------------*/

	.iconHead h2 small {
		max-width: 9.867vw;
		margin-bottom: 2.667vw;
	}

	.iconHead h2 b {
		font-size: 7.2vw;
		line-height: 1.259;
	}

	.iconHead h2 b span {
		font-size: 8.533vw;
		line-height: 1.214;
	}

	.logoHead h2 {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: 5.333vw;
	}

	.logoHead h2 small {
		width: 100%;
		max-width: 24.8vw;
		margin-bottom: 3.733vw;
	}

	.logoHead h2 b {
		font-size: 7.2vw;
		line-height: 1.259;
		text-align: center;
	}

	.lineHead h2 {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.lineHead h2 small {
		font-size: 7.14vw;
		line-height: 1.489;
		margin-bottom: -2.133vw;
	}

	.lineHead h2 b {
		font-size: 7.969vw;
		font-weight: 700;
		line-height: 1.416;
		letter-spacing: 0.025em;
		color: #fff100;
		margin-bottom: 2.133vw;
	}

	.lineHead h2 b span {
		font-size: 8.883vw;
		letter-spacing: 0.075em;
		display: inline-block;
		-webkit-transform: translateY(0.533vw);
		transform: translateY(0.533vw);
	}

	.lineHead h2 .obj {
		width: 100%;
		max-width: 78.133vw;
	}

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

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

	.formPage #header {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	#header.fixed {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	#header .inner {
		max-width: initial;
		width: calc(100% - 1.6rem);
	}

	#header .headerFlex {
		display: flex;
		justify-content: space-between;
	}

	#header .headerFlex .logoArea {
		display: flex;
		align-items: center;
		flex-direction: column;
		padding: 0.267vw 0 0 0;
	}

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

	#header .headerFlex .logoArea h1 {
		font-size: 2.667vw;
		margin: 0 0 0 0.8vw;
	}

	#header .headerFlex .button {
		max-width: 53.067vw;
		height: 10.667vw;
	}

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

	#goTop {
		max-width: 8.8vw;
		right: 6.4vw;
		bottom: 6.4vw;
	}

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

	#footer {
		padding: 6.4vw 0 5.333vw 0;
	}

	#footer .logoArea {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 9.333vw;
	}

	#footer .logoArea .logo {
		width: 100%;
		max-width: 49.467vw;
		margin: 0 auto 2.133vw;
	}

	#footer .logoArea p {
		font-size: 2.996vw;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	#footer nav {
		margin-bottom: 2.133vw;
		padding: 0;
	}

	#footer nav ul {
		display: flex;
	}

	#footer nav ul li {
		margin-right: 4.8vw;
	}

	#footer nav ul li a {
		display: flex;
		align-items: center;
		color: #fff;
	}

	#footer nav ul li a .text {
		font-size: 2.667vw;
		letter-spacing: 0.02em;
		margin-right: 2.4vw;
		white-space: nowrap;
	}

	#footer nav ul li a .icon {
		width: 100%;
		max-width: 1.6vw;
		line-height: 2.4vw;
	}

	#footer .copy {
		font-size: 2.667vw;
		letter-spacing: 0.075em;
		color: #fff;
		padding: 0 0 0;
	}

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

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

	#visual .inner {
		max-width: 496.8vw;
	}

	#visual .visualFlex {
		display: block;
		margin-bottom: 7.2vw;
	}

	#visual .visualFlex .imageArea {
		width: 97.6%;
    margin: 0 0 2.133vw 1.067vw;
	}

	#visual .visualFlex .imageArea .image {
		width: 100%;
		max-width: 229.333vw;
		margin: 0 0 0;
	}

	#visual .bottomText {
		width: 100%;
		max-width: 125.333vw;
		margin: 0 auto;
		padding: 0 1.867vw 0 2.4vw;
	}

	#visual .bottomText p {
		display: flex;
		margin-bottom: 2.933vw;
	}

	#visual .bottomText p small {
		font-size: 2.667vw;
		line-height: 1.4;
		margin-right: 0.8vw;
	}

	#visual .bottomText p b {
		font-size: 2.667vw;
		line-height: 1.4;
	}

	#visual .bottomObj {
		width: 100%;
		max-width: 39.867vw;
		position: absolute;
		top: 68.533vw;
		bottom: initial;
		left: initial;
		right: 0;
		transform: initial;
		-webkit-transform: initial;
		-ms-transform: initial;
		z-index: 10;
	}

	#visual .visualFlex .conts {
		width: 100%;
		padding: 0 0 0 0;
	}

	#visual .visualFlex .conts .button {
		width: 100%;
		height: 24.533vw;
		margin-bottom: 4.8vw;
		margin-left: -0.8vw;
    max-width: none;
    position: relative;
    left: 3.333vw;
	}

	#visual .rank {
		width: 100%;
		max-width: 77.467vw;
		margin: 0 auto 0;
	}

	/*----------------------------------------------------
	policy
	----------------------------------------------------*/

	#policy {
		padding: 16vw 0 0 0;
	}

	#policy .iconHead {
		margin-bottom: 5.333vw;
	}

	#policy .policyBox {
		background: url('../img/policy-bg-sp.jpg') center center no-repeat;
		background-size: cover;
		padding: 7.467vw 5.333vw 26.4vw;
	}

	#policy .policyBox .boxHead {
		margin-bottom: 5.067vw;
	}

	#policy .policyBox .boxHead p {
		font-size: 4vw;
		line-height: 1.67;
	}

	#policy .policyBox .innerLine {
		position: relative;
		border: 0.267vw solid #fff;
		padding: 5.6vw 0 19.2vw 0;
	}

	#policy .policyBox .innerLine:before {
		content: '';
		width: calc(100% + 2.133vw);
		height: calc(100% + 2.133vw);
		border: 0.267vw solid #fff;
		position: absolute;
		left: -1.333vw;
		top: -1.333vw;
	}

	#policy .policyBox .innerLine h3 {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#policy .policyBox .innerLine h3 small {
		font-size: 5.6vw;
		line-height: 1.4285;
		text-align: center;
		margin-bottom: 1.333vw;
	}

	#policy .policyBox .innerLine h3 b {
		font-size: 6.969vw;
		line-height: 1.3;
		text-align: center;
	}

	#policy .policyBox .obj {
		max-width: 61.467vw;
		position: absolute;
		bottom: 13.6vw;
		right: initial;
		left: 49.5%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	/*----------------------------------------------------
	worries
	----------------------------------------------------*/

	#worries {
		padding: 16vw 0 5.333vw 0;
	}

	#worries .iconHead {
		margin-bottom: 5.067vw;
	}

	#worries .iconHead small {
		margin-bottom: 4.533vw;
	}

	#worries .headConts {
		margin-bottom: 7.467vw;
	}

	#worries .headConts p small {
		font-size: 4vw;
		line-height: 1.46;
		text-align: center;
		margin-bottom: 1.6vw;
	}

	#worries .headConts p b {
		font-size: 4.8vw;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0.075em;
	}

	#worries .worriesFlex {
		display: block;
		width: 100%;
		max-width: 303.467vw;
		margin: 0 auto 0;
	}

	#worries .worriesFlex .box {
		position: relative;
		width: 100%;
		background: #fff;
		margin-bottom: 6.4vw;
		box-shadow: rgba(149, 157, 165, 0.2) 0 1.067vw 3.2vw;
	}

	#worries .worriesFlex .box .bgArea {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0;
	}

	#worries .worriesFlex .box .bgArea p {
		font-size: 5.6vw;
		line-height: 1.436;
	}

	#worries .worriesFlex .box01 .bgArea {
		padding: 7.467vw 0 9.067vw 10.4vw;
	}

	#worries .worriesFlex .box01 .bgArea .icon {
		max-width: 17.733vw;
		margin: 0 13.333vw 0 0;
		padding: 0 0 0;
	}

	#worries .worriesFlex .box02 .bgArea {
		padding: 7.467vw 0 9.067vw 10.4vw;
	}

	#worries .worriesFlex .box02 .bgArea .icon {
		max-width: 18vw;
		margin: 0 13.333vw 0 0;
		padding: 0 0 0;
	}

	#worries .worriesFlex .box03 .bgArea {
		padding: 8.8vw 0 9.067vw 10.4vw;
	}

	#worries .worriesFlex .box03 .bgArea .icon {
		width: 100%;
		max-width: 20.267vw;
		margin: 0 14.933vw 0 0;
		padding: 0 0 0;
	}

	#worries .worriesFlex .box.box03 .conts {
		padding: 5.6vw 10.133vw 10.133vw;
	}

	#worries .worriesFlex .box .conts {
		position: relative;
		padding: 5.6vw 10.133vw 11.733vw;
	}

	#worries .worriesFlex .box .conts p {
		font-size: 4.533vw;
		line-height: 1.647;
		letter-spacing: 0.05em;
		text-align: justify;
	}

	#worries .worriesFlex .box .arrow {
		width: 100%;
		max-width: 18.533vw;
		position: absolute;
		bottom: -7.733vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	/*----------------------------------------------------
	resolution
	----------------------------------------------------*/

	#resolution {
		position: relative;
		padding: 11.2vw 0 12vw 0;
	}

	#resolution .lineHead {
		margin-bottom: 7.467vw;
	}

	#resolution .resolutionBox {
		display: block;
	}

	#resolution .resolutionBox .conts h3 {
		margin-bottom: 4.533vw;
	}

	#resolution .resolutionBox .conts h3 small {
		font-size: 5.867vw;
		line-height: 1.454;
	}

	#resolution .resolutionBox .conts p {
		font-size: 4vw;
		line-height: 1.8666;
	}

	#resolution .resolutionBox .conts p.smallText {
		font-size: 2.667vw;
    margin-top: 5.6vw;
	}

	#resolution .resolutionBox .conts p span {
		border-bottom: 0.267vw solid #eaff00;
	}

	#resolution .resolutionBox.box01 {
		margin-bottom: 3.467vw;
		padding: 0 8.55%;
	}

	#resolution .resolutionBox.box01 .conts {
		width: 100%;
	}

	#resolution .resolutionBox.box01 .conts h3 b {
		max-width: 9.333vw;
		margin-bottom: 2.4vw;
	}

	#resolution .resolutionBox.box01 .image {
		width: calc(100% + 13.067vw);
		margin: 0 0 0 -3.467vw;
		padding: 4vw 0 0 0;
	}

	#resolution .resolutionBox.box02 {
		margin-bottom: 10.667vw;
		padding: 0 8.55%;
	}

	#resolution .resolutionBox.box02 .conts {
		width: 100%;
	}

	#resolution .resolutionBox.box02 .conts h3 b {
		width: 100%;
		max-width: 12vw;
		margin-bottom: 2.4vw;
	}

	#resolution .resolutionBox.box02 .image {
		width: calc(96% + 0px);
		margin: 0 0 0 1.6vw;
		padding: 6.133vw 0 0 0;
	}

	#resolution .resolutionBox.box03 {
		padding: 0 8.55%;
	}

	#resolution .resolutionBox.box03 .conts {
		width: 100%;
		margin-bottom: 2.4vw;
	}

	#resolution .resolutionBox.box03 .conts h3 b {
		width: 100%;
		max-width: 11.733vw;
		margin-bottom: 2.133vw;
	}

	#resolution .resolutionBox.box03 .image {
		width: calc(100% + 9.067vw);
		margin: 0 0 0 -4.267vw;
		padding: 4vw 0 0 0;
	}

	/*----------------------------------------------------
	achievement
	----------------------------------------------------*/

	#achievement {
		padding: 16vw 0;
	}

	#achievement .achievementBox {
		display: block;
		background: url('../img/achievement-bg-sp.jpg') center center no-repeat;
		background-size: cover;
		padding: 12.8vw 7.467vw 16vw 6.667vw;
	}

	#achievement .achievementBox .conts {
		width: 100%;
		margin-bottom: 9.333vw;
	}

	#achievement .achievementBox .conts h3 {
		margin-bottom: 4.533vw;
	}

	#achievement .achievementBox .conts h3 b {
		font-size: 4.533vw;
		line-height: 1.608;
		letter-spacing: 0;
		margin: 0 0 0.267vw;
		padding: 0 0 0 1.6vw;
		white-space: nowrap;
	}

	#achievement .achievementBox .conts h3 .pre {
		font-size: 2.667vw;
		-webkit-transform: translateX(0) translateY(3.733vw);
		transform: translateX(0) translateY(3.733vw);
		margin: 0 -1.867vw;
	}

	#achievement .achievementBox .conts h3 small {
		font-size: 4.533vw;
		line-height: 1.608;
		letter-spacing: 0.07em;
		padding: 0 0 0 1.333vw;
	}

	#achievement .achievementBox .conts .yellowText {
		width: 100%;
		max-width: 70.133vw;
		margin: 0 0 8vw 1.6vw;
	}

	#achievement .achievementBox .conts .smallText {
		margin-bottom: 2.667vw;
		padding: 0 0 0 1.867vw;
	}

	#achievement .achievementBox .conts .smallText small {
		font-size: 2.667vw;
		line-height: 1.4;
		margin-right: 1.067vw;
	}

	#achievement .achievementBox .conts .smallText b {
		font-size: 2.667vw;
		line-height: 1.4;
	}

	#achievement .achievementBox .image {
		width: calc(100% + 1.067vw);
		padding: 0 0 0;
		text-align: center;
	}

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

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

	#conversion .inner {
		display: block;
	}

	#conversion .inner .imageArea {
		width: 100%;
		margin-bottom: 2.133vw;
	}

	#conversion .inner .imageArea .image {
		width: calc(100% + 3.733vw);
		margin: 0 0 0 2vw;
	}

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

	#conversion .inner .conts .imageTex {
		width: 100%;
		max-width: 165.067vw;
		margin: -3.2vw 0 6.4vw -6.667vw;
	}

	#conversion .inner .conts .button {
		position: relative;
		width: 100%;
		max-width: 93.867vw;
		height: 28.533vw;
		margin: 0 auto -1.867vw;
		-webkit-transform: translateX(-0.8vw);
		transform: translateX(-0.8vw);
    position: relative;
    left: 3.333vw;
	}

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

	#conversion .inner .conts .button span:nth-child(1) {
		z-index: 1;
	}

	#conversion .inner .addText {
		font-size: 3.2vw;
		font-weight: 500;
		line-height: 1.666;
		letter-spacing: 0.025em;
		color: #fff;
		padding: 0 2.667vw;
	}

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

	#about {
		padding: 16vw 0 0;
	}

	#about .iconHead {
		margin-bottom: 5.6vw;
	}

	#about .aboutBox {
		display: block;
		background: url('../img/about-bg-sp.jpg') center center no-repeat;
		background-size: cover;
		margin-bottom: 10.933vw;
		padding: 10.667vw 6.933vw 15.2vw;
	}

	#about .aboutBox .image {
		width: 100%;
		max-width: 37.333vw;
		margin: 0 auto 9.6vw;
	}

	#about .aboutBox .conts {
		width: 100%;
		border-top: 0.267vw solid #fff;
		border-left: none;
		padding: 8.533vw 3.2vw 0;
	}

	#about .aboutBox .conts h3 {
		margin-bottom: 5.067vw;
	}

	#about .aboutBox .conts h3 small {
		font-size: 3.733vw;
		font-weight: 700;
		line-height: 1.032;
		letter-spacing: 0.025em;
		margin-bottom: 2.667vw;
	}

	#about .aboutBox .conts h3 b {
		font-size: 6.133vw;
		line-height: 1.2886;
		margin: 0 0 0;
	}

	#about .aboutBox .conts p {
		font-size: 4vw;
		line-height: 1.8666;
		letter-spacing: 0.01em;
	}

	#about .aboutImage {
    max-width: 79.867vw;
    -webkit-transform: translateX(-2.133vw);
    transform: translateX(-2.133vw);
	}

	/*----------------------------------------------------
	function
	----------------------------------------------------*/

	#function {
		padding: 15.733vw 0 13.333vw;
	}

	#function .iconHead {
		margin-bottom: 7.467vw;
	}

	#function .headConts {
		margin-bottom: 9.867vw;
	}

	#function .headConts p small {
		font-size: 4vw;
		font-weight: 500;
		line-height: 1.48;
		letter-spacing: 0.025em;
		margin-bottom: 3.467vw;
		text-align: center;
	}

	#function .headConts p b {
		font-size: 5.333vw;
		font-weight: 700;
		line-height: 1.7;
		text-align: center;
		letter-spacing: 0.025em;
	}

	#function .fuctionFlex {
		display: block;
		margin-bottom: 9.333vw;
	}

	#function .fuctionFlex .leftArea {
		width: 100%;
		margin-bottom: 7.467vw;
	}

	#function .fuctionFlex .leftArea .box {
		position: relative;
		background: #fff;
		box-shadow: rgba(149, 157, 165, 0.2) 0 1.067vw 3.2vw;
	}

	#function .fuctionFlex .leftArea .box .arrow {
		max-width: 10.667vw;
		position: absolute;
		bottom: -4.8vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	#function .fuctionFlex .leftArea .box .boxHead {
		padding: 4.8vw 0;
	}

	#function .fuctionFlex .leftArea .box .boxHead h3 {
		font-size: 4.8vw;
	}

	#function .fuctionFlex .leftArea .box .boxConts {
		padding: 4.533vw 0 6.133vw;
	}

	#function .fuctionFlex .leftArea .box .boxConts ul li p {
		font-size: 3.2vw;
	}

	#function .fuctionFlex .leftArea .box .boxConts ul li:nth-child(1) {
		padding: 3.467vw 0 8vw 0;
	}

	#function .fuctionFlex .leftArea .box .boxConts ul li:nth-child(1) .icon {
    max-width: 19.867vw;
    margin-bottom: 4vw;
	}

	#function .fuctionFlex .leftArea .box .boxConts ul li:nth-child(2) {
		padding: 3.467vw 0 0;
	}

	#function .fuctionFlex .leftArea .box .boxConts ul li:nth-child(2) .icon {
		max-width: 19.867vw;
		margin-bottom: 3.733vw;
	}

	#function .fuctionFlex .leftArea .box .boxConts ul li:nth-child(2):after {
		content: '';
		width: 88%;
		height: 0.267vw;
		background: #ddd;
		position: absolute;
		left: 0;
		bottom: 0;
	}

	#function .fuctionFlex .leftArea .box .boxConts ul li:nth-child(3) {
		padding: 6.933vw 0 2.133vw 0;
	}

	#function .fuctionFlex .leftArea .box .boxConts ul li:nth-child(3) .icon {
		max-width: 19.867vw;
		margin-bottom: 3.733vw;
	}

	#function .fuctionFlex .leftArea .box .boxConts ul li:nth-child(4) {
		padding: 7.2vw 0 0 0;
	}

	#function .fuctionFlex .leftArea .box .boxConts ul li:nth-child(4) .icon {
		max-width: 19.867vw;
		margin-bottom: 3.733vw;
	}

	#function .fuctionFlex .leftArea .arrowBox {
		padding: 9.333vw 0 0;
	}

	#function .fuctionFlex .leftArea .arrowBox p {
		margin-bottom: 3.467vw;
	}

	#function .fuctionFlex .leftArea .arrowBox p b {
		font-size: 4.533vw;
	}

	#function .fuctionFlex .leftArea .arrowBox p small {
		font-size: 3.467vw;
	}

	#function .fuctionFlex .leftArea .arrowBox .flexConts {
		display: flex;
		justify-content: center;
	}

	#function .fuctionFlex .leftArea .arrowBox .flexConts h4 {
		font-size: 4.533vw;
		margin-top: 3.733vw;
		letter-spacing: 0;
		-webkit-transform: translateX(-1.6vw);
		transform: translateX(-1.6vw);
	}

	#function .fuctionFlex .leftArea .arrowBox .flexConts h4 span:nth-child(1) {
		margin: 0 -1.067vw 0 0;
	}

	#function .fuctionFlex .leftArea .arrowBox .flexConts h4 span:nth-child(2) {
		margin: 0 0 0 -1.067vw;
	}

	#function .fuctionFlex .leftArea .arrowBox .flexConts .pcImage {
		width: 100%;
		max-width: 30.533vw;
	}

	#function .fuctionFlex .rightArea {
		width: 100%;
	}

	#function .fuctionFlex .rightArea .box {
		box-shadow: rgba(149, 157, 165, 0.2) 0 1.067vw 3.2vw;
	}

	#function .fuctionFlex .rightArea .box .arrow {
		width: 100%;
		max-width: 18.4vw;
		position: absolute;
		bottom: -9.333vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	#function .fuctionFlex .rightArea .box .boxHead {
		padding: 4.8vw 0;
	}

	#function .fuctionFlex .rightArea .box .boxHead h3 {
		font-size: 4.8vw;
	}

	#function .fuctionFlex .rightArea .box .boxConts {
		padding: 4.533vw 0 5.867vw;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul {
		display: flex;
		flex-wrap: wrap;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li {
		position: relative;
		width: 50%;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li p {
		font-size: 3.2vw;
		line-height: 1.4166;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(1) {
		padding: 1.867vw 0 3.733vw 0;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(1) .icon {
		max-width: 23.867vw;
		margin-bottom: 1.6vw;
		margin-left: 2.667vw;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(1):after {
		content: '';
		width: 88%;
		height: 0.267vw;
		background: #ddd;
		position: absolute;
		right: 0;
		bottom: 0;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(1) p .pre {
		font-size: 2.667vw;
		-webkit-transform: translateX(-0.267vw) translateY(-1.867vw);
		transform: translateX(-0.267vw) translateY(-1.867vw);
		margin: 0 -1.6vw;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(1) p.addTex {
		font-size: 2.667vw;
		text-align: center;
		margin: 2.667vw 0 0 0;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(2) {
		padding: 3.467vw 0 0 0;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(2) .icon {
		max-width: 23.867vw;
		margin-bottom: 1.867vw;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(3) {
		padding: 8vw 0 10.667vw 0;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(3) .icon {
		max-width: 28.4vw;
		margin-bottom: 2.133vw;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(4) {
		padding: 8vw 0 0 0;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(4) .icon {
		max-width: 22.533vw;
		margin-bottom: 4.533vw;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(5) {
		padding: 6.4vw 0 6.933vw 0;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(5) .icon {
		max-width: 20.667vw;
		margin-bottom: 4vw;
		margin-left: 1.867vw;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(6) {
		padding: 6.933vw 0 0 0;
	}

	#function .fuctionFlex .rightArea .box .boxConts ul li:nth-child(6) .icon {
		max-width: 22.267vw;
		margin-bottom: 6.133vw;
	}

	#function .fuctionFull {
		width: 100%;
	}

	#function .fuctionFull .box {
		position: relative;
		background: #fff;
		box-shadow: rgba(149, 157, 165, 0.2) 0 1.067vw 3.2vw;
	}

	#function .fuctionFull .box .arrow {
		width: 100%;
		max-width: 18.4vw;
		position: absolute;
		bottom: -9.333vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	#function .fuctionFull .box .boxHead {
		padding: 4.8vw 0;
	}

	#function .fuctionFull .box .boxHead h3 {
		font-size: 4.8vw;
	}

	#function .fuctionFull .box .boxConts {
		padding: 4.8vw 0 6.4vw;
	}

	#function .fuctionFull .box .boxConts ul {
		display: flex;
		flex-wrap: wrap;
	}

	#function .fuctionFull .box .boxConts ul li {
		width: 50%;
	}

	#function .fuctionFull .box .boxConts ul li p {
		font-size: 3.2vw;
	}

	#function .fuctionFull .box .boxConts ul li p small {
		font-size: 2.667vw;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(1) {
		padding: 2.667vw 0 10.133vw 0;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(1):after {
		content: '';
		width: 88%;
		height: 0.267vw;
		background: #ddd;
		position: absolute;
		right: 0;
		bottom: 0;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(1) .icon {
		max-width: 13.067vw;
		margin-bottom: 3.2vw;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(2) {
		border-right: none;
		padding: 5.333vw 0 0 0;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(2):after {
		content: '';
		width: 88%;
		height: 0.267vw;
		background: #ddd;
		position: absolute;
		left: 0;
		bottom: 0;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(2) .icon {
		max-width: 18.8vw;
		margin-bottom: 3.733vw;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(3) {
		border-right: 0.267vw solid #ddd;
		padding: 9.067vw 0 8vw 0;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(3):after {
		content: '';
		width: 88%;
		height: 0.267vw;
		background: #ddd;
		position: absolute;
		right: 0;
		bottom: 0;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(3) .icon {
		max-width: 14.533vw;
		margin-bottom: 5.333vw;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(4) {
		border-right: none;
		padding: 5.867vw 0 0 0;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(4):after {
		content: '';
		width: 88%;
		height: 0.267vw;
		background: #ddd;
		position: absolute;
		left: 0;
		bottom: 0;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(4) .icon {
		width: 100%;
		max-width: 24vw;
		margin-bottom: 3.2vw;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(5) {
		border-right: 0.267vw solid #ddd;
		padding: 9.867vw 0 2.4vw 0;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(5) .icon {
		max-width: 26.667vw;
		margin-bottom: 2.667vw;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(6) {
		padding: 5.333vw 0 0 0;
	}

	#function .fuctionFull .box .boxConts ul li:nth-child(6) .icon {
		max-width: 14.667vw;
		margin-bottom: 3.2vw;
	}

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

	#product {
		padding: 2.667vw 0 0;
	}

	#product .iconHead {
		margin-bottom: 6.133vw;
	}

	#product .iconHead small {
		margin-bottom: 4vw;
	}

	#product .productTable.table01 {
		margin-bottom: 5.333vw;
	}

	#product .productTable table {
		width: 100%;
		box-shadow: rgba(149, 157, 165, 0.2) 0 1.067vw 3.2vw;
	}

	#product .productTable tr {
		border-bottom: 0.267vw solid #ddd;
    height: auto;
	}

	#product .productTable tr:last-child {
		border-bottom: none;
	}

	#product .productTable th {
		width: 23%;
		font-size: 3.2vw;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-align: center;
		vertical-align: middle;
		background: #e7f2ec;
		border-right: 0.267vw solid #ddd;
	}

	#product .productTable td.full {
		width: 77%;
		padding: 6.4vw 0;
	}

	#product .productTable td.full p {
		font-size: 3.2vw;
		letter-spacing: 0;
	}

	#product .productTable td.full02 {
		width: 77%;
		padding: 4vw 0;
	}

	#product .productTable td.full02 p {
		font-size: 3.2vw;
	}

	#product .productTable td.full02 p small {
		font-size: 2.667vw;
	}

  #product .productTable td.full04 p .pre{
    font-size: 2.667vw;
		-webkit-transform: translate(1.2vw, -0.5vw);
		transform: translate(1.2vw, -0.5vw);
    position: absolute;
  }

	#product .productTable td.full04 {
		width: 77%;
		padding: 8.533vw 0;
	}

	#product .productTable td.full04 p {
		font-size: 3.2vw;
	}

	#product .productTable td.herf {
		width: 77%;
	}

	#product .productTable td.herf01 {
		width: 77%;
		padding: 5.067vw 5.867vw 7.733vw 7.733vw;
		border-right: none;
	}

	#product .productTable td.herf01 p {
		font-size: 3.2vw;
		line-height: 1.8333;
		letter-spacing: 0;
	}

	#product .productTable td.herf02 {
		width: 77%;
		padding: 5.067vw 5.867vw 7.733vw 7.733vw;
		border-right: none;
	}

	#product .productTable td.herf02 p {
		font-size: 3.2vw;
		line-height: 1.8333;
		letter-spacing: 0;
	}

	#product .productTable td.herf04 {
		width: 77%;
		padding: 3.733vw 0 6.4vw;
		vertical-align: middle;
	}

	#product .productTable td.herf04 p.price {
		display: flex;
		justify-content: center;
		align-items: flex-end;
	}

	#product .productTable td.herf04 p.price small {
		font-size: 3.2vw;
		-webkit-transform: translateY(-0.533vw);
		transform: translateY(-0.533vw);
	}

	#product .productTable td.herf04 p.price b {
		font-size: 9.467vw;
	}

	#product .productTable td.herf04 p.price b .yen {
		font-size: 3.733vw;
		-webkit-transform: translateY(-0.267vw);
		transform: translateY(-0.267vw);
		display: inline-block;
	}

	#product .productTable td.bg {
		padding: 7.467vw 0 9.333vw;
	}

	#product .productTable.table02 td.bg {
		padding: 8.533vw 0 9.067vw;
	}

	#product .productTable td .imageTex01 {
		width: 100%;
		max-width: 51.867vw;
		margin: 0 auto 0;
	}

	#product .productTable td .imageTex02 {
		width: 100%;
		max-width: 50.933vw;
		margin: 0 auto 0;
	}

	#product .productTable .addTex {
		font-size: 2.667vw;
    padding-bottom: 5.3333vw;
    padding-top: 0.666vw;
	}

  #product .productTable .addTex p{
    margin-top: 2vw;
  }

  .pinkMarker {
    height: 9.4666vw;
    display: inline-flex;
    align-items: center;
    padding: 0 0.666vw;
  }

  #product .productTable td.full04 p .pinkMarker{
    padding: 0 3.599vw;
  }

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

	#reason {
		padding: 11.2vw 0 0;
		z-index: 1;
	}

	#reason .inner {
		width: 100%;
		max-width: initial;
	}

	#reason .iconHead {
		margin-bottom: 7.2vw;
	}

	#reason .reasonBox {
		display: block;
	}

	#reason .reasonBox .conts {
		width: 100%;
	}

	#reason .reasonBox .conts h3 {
		font-size: 5.867vw;
		line-height: 1.4545;
		margin-bottom: 5.067vw;
	}

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

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

	#reason .reasonBox.box01 .conts {
		padding: 14.133vw 16.8vw 30.8vw 16.8vw;
	}

	#reason .reasonBox.box01 .conts .iconBg {
		width: 100%;
		max-width: 63.2vw;
		position: absolute;
    top: 9.6vw;
		right: initial;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}

	#reason .reasonBox.box01 .image {
		width: 87%;
		position: absolute;
		top: initial;
		bottom: -23.467vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

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

	#reason .reasonBox.box02 .conts {
		padding: 12.533vw 16.8vw 30.467vw 16.8vw;
	}

	#reason .reasonBox.box02 .conts h3 {
		margin-bottom: 6.933vw;
	}

	#reason .reasonBox.box02 .conts .iconBg {
		width: 100%;
		max-width: 63.2vw;
		position: absolute;
    top: 9.6vw;
		right: initial;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}

	#reason .reasonBox.box02 .image {
		width: 87%;
		position: absolute;
		top: initial;
		bottom: -24.267vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	#reason .reasonBox.box03 {
		flex-direction: row-reverse;
		margin-bottom: 0;
	}

	#reason .reasonBox.box03 .conts {
		padding: 12.533vw 16.8vw 30.133vw 16.8vw;
	}

	#reason .reasonBox.box03 .conts h3 {
		margin-bottom: 6.933vw;
	}

	#reason .reasonBox.box03 .conts p.smallTex {
		font-size: 3.2vw;
		margin-top: 7.733vw;
	}

	#reason .reasonBox.box03 .conts .iconBg {
		width: 100%;
		max-width: 63.2vw;
		position: absolute;
    top: 9.6vw;
		right: initial;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}

	#reason .reasonBox.box03 .image {
		width: 87%;
		position: absolute;
		top: initial;
		bottom: -24.267vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

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

	#scene {
		padding: 40vw 0 7.733vw;
	}

	#scene .iconHead {
		margin-bottom: 5.067vw;
	}

	#scene .iconHead p {
		font-size: 4vw;
		margin-top: 6.933vw;
	}

	#scene .sceneFlex {
		display: block;
	}

	#scene .sceneFlex .box {
		position: relative;
		width: 92%;
		margin-bottom: 12.8vw;
	}

	#scene .sceneFlex .box .conts {
		position: absolute;
		right: -7.2vw;
		bottom: -4.8vw;
		width: 87%;
		padding: 2.667vw 0;
	}

	#scene .sceneFlex .box .conts h3 {
		font-size: 3.467vw;
	}

	#scene .sceneFlex .box02,
	#scene .sceneFlex .box04 {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

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

	#flow {
		padding: 15.733vw 0 14.4vw;
	}

	#flow .iconHead {
		margin-bottom: 3.733vw;
	}

	#flow .iconHead small {
		margin-bottom: 4.267vw;
	}

	#flow .flowFlex {
		display: block;
	}

	#flow .flowFlex .arrowArea {
		width: 100%;
		margin: -3.733vw 0 -3.2vw;
	}

	#flow .flowFlex .arrowArea img {
		max-width: 16.8vw;
	}

	#flow .flowFlex .stepBox {
		width: 100%;
	}

	#flow .flowFlex .stepBox .no {
		margin-bottom: 1.333vw;
	}

	#flow .flowFlex .stepBox .innerBox {
		background: #fff;
		box-shadow: rgba(149, 157, 165, 0.2) 0 1.067vw 3.2vw;
	}

	#flow .flowFlex .stepBox .innerBox .conts {
		padding: 5.6vw 0 9.333vw;
	}

	#flow .flowFlex .stepBox.box03 .innerBox .conts {
		padding: 5.6vw 0 9.333vw;
	}

	#flow .flowFlex .stepBox .innerBox .conts p {
		font-size: 5.867vw;
	}

	#flow .flowFlex .stepBox .innerBox .conts p .slash {
		position: relative;
		display: inline-block;
		width: 0.267vw;
		height: 6.133vw;
		background: #222222;
		margin: 0 2.667vw;
		-webkit-transform: rotate(18deg) translate(0.533vw, 0.8vw);
		transform: rotate(18deg) translate(0.533vw, 0.8vw);
	}

	#flow .flowFlex .stepBox.box01 .no {
		max-width: 13.333vw;
	}

	#flow .flowFlex .stepBox.box02 .no {
		width: 100%;
		max-width: 14.667vw;
	}

	#flow .flowFlex .stepBox.box03 .no {
		width: 100%;
		max-width: 14.4vw;
	}

	#flow .flowFlex .stepBox.box04 .no {
		width: 100%;
		max-width: 14.933vw;
	}

	#flow .flowFlex .stepBox.box05 .no {
		width: 100%;
		max-width: 14.667vw;
	}

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

	#voice {
		padding: 16vw 0 6.933vw;
	}

	#voice .iconHead {
		margin-bottom: 8vw;
	}

	#voice .iconHead small {
		margin-bottom: 4.8vw;
	}

	#voice .iconHead b {
		text-align: center;
	}

	#voice .voiceFlex {
		display: block;
	}

	#voice .voiceFlex .box {
		width: 100%;
		box-shadow: rgba(149, 157, 165, 0.2) 0 1.067vw 3.2vw;
		margin-bottom: 9.067vw;
	}

	#voice .voiceFlex .box .whiteBg {
		padding: 5.6vw 7.2vw 6.667vw;
	}

	#voice .voiceFlex .box .whiteBg .image {
		margin-bottom: 5.867vw;
	}

	#voice .voiceFlex .box .whiteBg h3 {
		font-size: 4.533vw;
		line-height: 1.235;
		margin-bottom: 5.067vw;
	}

	#voice .voiceFlex .box .whiteBg dl {
		display: flex;
		margin-bottom: 2.933vw;
	}

	#voice .voiceFlex .box .whiteBg dl dt {
		font-size: 3.752vw;
		letter-spacing: 0.17em;
	}

	#voice .voiceFlex .box .whiteBg dl dd.mark {
		margin: 0 2.4vw;
	}

	#voice .voiceFlex .box .whiteBg dl dd {
		font-size: 3.752vw;
	}

	#voice .voiceFlex .box .gradeBg {
		padding: 8.8vw 7.2vw 19.2vw;
	}

	#voice .voiceFlex .box .gradeBg .yellowHead {
		max-width: 26.133vw;
		left: 5.867vw;
		top: 5.867vw;
	}

	#voice .voiceFlex .box .gradeBg .innerBox {
		padding: 8.267vw 8vw 13.333vw;
	}

	#voice .voiceFlex .box .gradeBg .innerBox p {
		font-size: 4vw;
		line-height: 1.8666;
		letter-spacing: 0;
	}

	#voice .voiceFlex .box01 .logo {
		width: 100%;
		max-width: 23.467vw;
		margin: 0 0 1.067vw -2.4vw;
	}

	#voice .voiceFlex .box01 .serviceName {
		max-width: 61.6vw;
		bottom: 6.667vw;
	}

	#voice .voiceFlex .box02 .logo {
		width: 100%;
		max-width: 20.533vw;
		margin: 4.267vw 0 4.8vw 0;
	}

	#voice .voiceFlex .box02 .whiteBg {
		padding: 5.6vw 7.2vw 4.533vw;
	}

	#voice .voiceFlex .box02 .serviceName {
		max-width: 45.2vw;
		bottom: 5.333vw;
	}

	#voice .voiceFlex .box03 .logo {
    max-width: 18.4vw;
    margin: 0.533vw 0 4vw -0.267vw;
	}

	#voice .voiceFlex .box03 .whiteBg {
		padding: 5.6vw 7.2vw 4.533vw;
	}

	#voice .voiceFlex .box03 .serviceName {
		max-width: 45.2vw;
		bottom: 5.333vw;
	}

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

	#faq {
		padding: 15.467vw 0 7.733vw;
	}

	#faq .inner {
		max-width: 240vw;
	}

	#faq .iconHead {
		margin-bottom: 6.4vw;
	}

	#faq .iconHead small {
		margin-bottom: 4.8vw;
	}

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

	#faq .faqBox .qArea {
		padding: 2.667vw 4.267vw 2.667vw 4.267vw;
	}

	#faq .faqBox .qArea .icon {
		width: 100%;
		max-width: 4.267vw;
	}

	#faq .faqBox .qArea .text {
		width: calc(100% - 6.133vw);
		font-size: 3.733vw;
		line-height: 1.428;
		padding: 0 0 0 1.867vw;
	}

	#faq .faqBox .aArea {
		display: flex;
		padding: 3.2vw 1.333vw 0.533vw 4.267vw;
	}

	#faq .faqBox .aArea .icon {
		width: 100%;
		max-width: 4vw;
	}

	#faq .faqBox .aArea .text {
		width: calc(100% - 6.133vw);
	}

	#faq .faqBox .aArea .text p {
		font-size: 3.733vw;
		line-height: 2;
		padding: 0 0 0 1.867vw;
		-webkit-transform: translateY(-1.867vw);
		transform: translateY(-1.867vw);
	}

	#faq .faqBox .aArea .text p.small {
		font-size: 2.667vw;
		margin-top: 3.2vw;
	}

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

	#contact {
		margin: 0 0 0 0;
		padding: 11.467vw 0 17.067vw;
	}

	#contact:before {
		top: -14.133vw;
	}

	#contact:after {
		bottom: -2.133vw;
	}

	#contact .voiceInner {
		padding: 0 1.867vw 0;
	}

	#contact .iconHead {
		margin-bottom: 5.867vw;
	}

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

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

	#contact .contactTable {
		padding: 0;
	}

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

	#contact .contactTable th .thFlex {
		justify-content: left;
	}

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

	#contact .contactTable th .yellowBox {
		line-height: 4.533vw;
		width: 10.333vw;
		-webkit-transform: scale(0.8) translateX(-1.067vw);
		transform: scale(0.8) translateX(-1.067vw);
	}

	#contact .contactTable th .whiteBox {
		line-height: 4.533vw;
		width: 10.333vw;
		-webkit-transform: scale(0.8) translateX(-1.067vw);
		transform: scale(0.8) translateX(-1.067vw);
	}

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

	#contact .contactTable td.radiaFlex {
		display: flex;
		padding: 0 0 4.533vw 0;
	}

	#contact input[type="text"] {
		width: 100%;
		box-sizing: border-box;
		height: 7.2vw;
		font-size: 3.2vw;
		padding: 0 0 0 2.933vw;
	}

	#contact .radiaFlex i {
		width: 5.867vw;
		height: 5.867vw;
		left: 0.267vw;
		top: calc(2.4vw + 0.7em);
	}

	#contact .radiaFlex label {
		margin: 0 5.067vw 0 0;
		padding-left: 8.267vw;
	}

	#contact .radiaFlex .text {
		font-size: 3.2vw;
		-webkit-transform: translateY(0.533vw);
		transform: translateY(0.533vw);
	}

	#contact select {
		font-size: 3.2vw;
		height: 7.2vw;
		padding: 0 0 0 2.667vw;
	}

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

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

	#contact textarea {
		height: 18.933vw;
		font-size: 3.2vw;
	}

	#contact .textareaDiv #placeholder {
		left: 2.667vw;
		font-size: 3.2vw;
		white-space: nowrap;
	}

	#contact .contactTable table {
		margin: 0 0 0.533vw;
	}

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

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

	#contact .privacyBox .boxConts {
		height: 43.733vw;
	}

	#contact .privacyBox .boxConts .boxInner {
		padding: 6.133vw 3.733vw;
		max-height: 41.067vw;
	}

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

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

	#contact .privacyBox .boxConts .priFlex .no {
		font-size: 3.2vw;
		line-height: 1.58;
	}

	#contact .privacyBox .boxConts .priFlex .priText {
		font-size: 3.2vw;
		line-height: 1.58;
	}

	#contact .privacyBox .boxConts .priFlex {
		margin: 0 0 3.2vw;
	}

	#contact .formCheack label {
		font-size: 3.2vw;
		padding-left: 9.867vw;
	}

	#contact .formCheack label i {
		width: 5.867vw;
		height: 5.867vw;
		border-radius: 0.533vw;
	}

	#contact .formBtFlex {
		display: block;
	}

	#contact .formBtFlex > div {
		width: 81.067vw;
		margin: 0 auto 0;
	}

	#contact .formBtFlex .submitArea {
		margin-top: 7.467vw;
		padding: 0;
	}

	#contact .formBtFlex .button {
		width: 100%;
		margin: auto;
	}

	#contact .formBtFlex .button input {
		font-size: 5.333vw;
		line-height: 21.467vw;
		border-radius: 1.333vw;
		padding: 0;
	}

	#contact .formBtFlex .button:after {
		display: none;
	}

	#contact .recapchBox {
		justify-content: center;
	}

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

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

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

	.formPage #header .headerFlex .logoArea .logo {
		width: 100%;
		max-width: 40.8vw;
		margin: 0 4.8vw 0 2.4vw;
	}

	.formPage #header .headerFlex .logoArea h1 {
		font-size: 3.2vw;
	}

	#contact.confirmPage {
		padding: 26.7vw 0 16.067vw;
	}

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

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

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

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

	#contact.confirmPage .confirmTable td {
		width: 100%;
		font-size: 3.2vw;
		display: block;
		padding: 2.133vw 2.133vw 3.733vw;
		border: none;
	}

	#contact.confirmPage .confirmTable tr:last-child th {
		border-bottom: 0.267vw solid #dddddd;
	}

	#contact.confirmPage .confirmTable table {
		margin: 0 0 11.2vw;
	}

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

	#contact.confirmPage .backArea {
		margin-bottom: 7.733vw;
		padding: 0;
		width: 66.6vw;
	}

	#contact.confirmPage .backButton {
		margin: 0 auto;
	}

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

	#contact.confirmPage .backButton a:after {
		display: none;
	}

	#contact .formButtonsFlex .submitArea {
		width: 66.6vw;
    padding: 0 0 0 0;
	}

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

	#contact .formButtonsFlex .button:after {
		display: none;
	}

	#contact.confirmPage .formBtFlex .button {
		width: 73.6vw;
		margin: auto;
	}

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

	#contact_footer {
		font-size: 2.667vw;
	}

	#contact.thanksPage .head h2 {
		top: 10.4vw;
	}

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

	#contact.thanksPage .contactText p {
		text-align: center;
		line-height: 1.9;
		margin:0 0 5.333vw;
	}

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

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

	#contact.thanksPage .buttonArea {
		width: 100%;
		max-width: 70.667vw;
		margin: 0 auto 0;
	}

	#contact.thanksPage .buttonArea a {
		line-height: 15.267vw;
		width: 94%;
		margin: 0 auto;
		font-size: 5.333vw;
		border-radius: 0.533vw;
		padding: 0 0 0;
	}

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

	#contact.thanksPage {
		padding: 31.933vw 0 17.867vw;
	}

}
