@charset "utf-8";

/*----------------------------------------------------
 elements
----------------------------------------------------*/
html {
	font-size: 62.5%;
}

body {
	color: #000;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.020em;
	line-height: 2;
	background: #fff;
}

div {
	box-sizing: border-box;
}

img{
	vertical-align:top;
	max-width: 100%;
	height: auto;
}

a {
	outline: none;
	color: #000;
	text-decoration: none;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

a:focus, *:focus {
	outline:none;
}

a:visited {
	color: #212121;
}

a img {
	-webkit-transition: opacity .5s ease-out;
	-moz-transition: opacity .5s ease-out;
	-ms-transition: opacity .5s ease-out;
	transition: opacity .5s ease-out;
}

.post, .page {
	margin: 0;
}

.center {
	text-align: center;
}

.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}

.clear {
	clear:both;
	height: 0;
}

small {
	font-weight: 500;
}

ul, ol {
	padding: 0;
	margin: 0;
}

li > ul, li > ol {
	margin-left: 0;
}

ul li {
	list-style: none;
	box-sizing: border-box;
}

dl {
	margin: 0;
}

dt {
	font-weight: 500;
	box-sizing: border-box;
}

dd {
	margin: 0;
	box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

table th,
table td {
	box-sizing: border-box;
}

h1, h2, h3, h4, h5 {
	font-weight: 500;
}

p {
	margin: 0;
}

.wpcf7-list-item {
	margin: 0;
}

/*----------------------------------------------------
 @keyframes
----------------------------------------------------*/

@keyframes transformTopBottom {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes transformBottomTop {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(100%);
  }
}

@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes transformRightLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes reverseRightLeft {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes reverseLeftRight {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

/*----------------------------------------------------
 fadeIn
----------------------------------------------------*/

.fadeIn {
	transform: translate3d(0, -10px, 0);
	transition: 1s;
	opacity: 0;
}

.fadeIn.animated {
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

/*----------------------------------------------------
 inner
----------------------------------------------------*/

.inner {
	width: calc(100% - 3.6rem);
	max-width: 1094px;
	margin: 0 auto;
}

/*----------------------------------------------------
 button
----------------------------------------------------*/

.button {
	width: 309px;
	height: 72px;
}

.button a {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0 14px 0 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	background: #DA0505;
	background: -webkit-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: -moz-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#DA0505", endColorstr="#FB5757", GradientType=1);
}

.button a .tex {
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}

.button a .arrow {
	width: 100%;
	max-width: 27px;
	height: 12px;
	overflow: hidden;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.button a .arrow:before {
	content: '';
	width: 27px;
	height: 12px;
	background: url('../img/rightArrow-Big.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	animation-delay: 0s;
	animation-duration: 0.6s;
}

.button a .arrow:after {
	content: '';
	width: 27px;
	height: 12px;
	background: url('../img/rightArrow-Big.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	animation-fill-mode: forwards;
	animation-duration: 0.6s;
	transform: translateX(-100%);
	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
}

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

#header {
	width: 100%;
	height: 92px;
	background: #fff;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
}

#header .inner {
	max-width: initial;
}

#header .headerFlex {
	display: flex;
	justify-content: space-between;
	padding: 18px 18px 0 19px;
}

#header .headerFlex .logoArea a {
	display: flex;
	align-items: center;
}

#header .headerFlex .logoArea a .logo {
	width: 100%;
	max-width: 105px;
	margin-right: 29px;
}

#header .headerFlex .logoArea a .tex {
	display: flex;
	flex-direction: column;
	font-family: "Noto Sans", sans-serif;
	white-space: nowrap;
}

#header .headerFlex .logoArea a .tex small {
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.01em;
	margin-bottom: 9px;
}

#header .headerFlex .logoArea a .tex b {
	display: flex;
	align-items: flex-end;
	letter-spacing: -0.01em;
}

#header .headerFlex .logoArea a .tex b .small {
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

#header .headerFlex .logoArea a .tex b .big {
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
}

#header .headerFlex .infoArea {
	display: flex;
	justify-content: flex-end;
}

#header .headerFlex .infoArea .telBox {
	margin-right: 31px;
	padding: 3px 0 0 0;
}

#header .headerFlex .infoArea .telBox .telNo {
	display: flex;
	flex-direction: column;
}

#header .headerFlex .infoArea .telBox .telNo a {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}

#header .headerFlex .infoArea .telBox .telNo a .icon {
	width: 100%;
	max-width: 22px;
	line-height: 21px;
	margin-right: 6px;
}

#header .headerFlex .infoArea .telBox .telNo a .tex {
	font-size: 26px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.025em;
	color: #333333;
	font-family: "Inter", sans-serif;
}

#header .headerFlex .infoArea .telBox .time {
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	color: #333333;
	font-family: "Noto Sans", sans-serif;
}

#header .headerFlex .infoArea .button {
	width: 202px;
	height: 52px;
}

#header .headerFlex .infoArea .button a {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0 19px 0 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	background: #DA0505;
	background: -webkit-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: -moz-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#DA0505", endColorstr="#FB5757", GradientType=1);
}

#header .headerFlex .infoArea .button a .tex {
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}

#header .headerFlex .infoArea .button a .arrow {
	width: 100%;
	max-width: 17px;
	height: 8px;
	position: absolute;
	top: 50%;
	right: 18px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#header .headerFlex .infoArea .button a .arrow:before {
	max-width: 17px;
	height: 8px;
	background: url('../img/rightArrow.svg') no-repeat;
	background-size: 100% auto;
}

#header .headerFlex .infoArea .button a .arrow:after {
	max-width: 17px;
	height: 8px;
	background: url('../img/rightArrow.svg') no-repeat;
	background-size: 100% auto;
}

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

#footer {
	position: relative;
	padding: 120px 0 32px 0;
	background: #F4F4F4;
	z-index: 1;
}

#footer .inner {
	max-width: 1100px;
}

#footer .footerFlex {
	display: flex;
	margin-bottom: 103px;
}

#footer .footerFlex .logoArea {
	width: 428px;
}

#footer .footerFlex .logoArea .logo {
	width: 100%;
	max-width: 199px;
	margin-bottom: 60px;
}

#footer .footerFlex .logoArea .footTex {
	width: 100%;
	max-width: 320px;
}

#footer .footerFlex .conts {
	width: calc(100% - 428px);
}

#footer .footerFlex .conts p {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0;
	color: #222222;
}

#footer .footerNav {
	margin-bottom: 38px;
}

#footer .footerNav nav ul {
	display: flex;
	justify-content: flex-end;
}

#footer .footerNav nav ul li {
	margin-left: 51px;
}

#footer .footerNav nav ul li a {
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	font-family: "Noto Sans", sans-serif;
	color: #222222;
}

#footer .copy p {
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	font-family: "Noto Sans", sans-serif;
	text-align: center;
	color: #333333;
}

/*----------------------------------------------------
 #movie
----------------------------------------------------*/

#movie {
	position: fixed;
	left: 0;
	top: 0;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	background: url('../img/movieBg.jpg') center center no-repeat;
	background-size: cover;
	z-index: 1000;
}

#movie::after{
  content: '';
  width: 100%;
  height: 100%;
  background-color: #000000;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .5;
}

#movie video {
	max-width: initial;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
}

#movie .movieTex {
	width: 100%;
	max-width: 780px;
	position: absolute;
	top: 51.5%;
	left: 49.5%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	opacity: 0;
	z-index: 1;
	transition: all 0.3s ease 0s;
}

#movie.active .movieTex {
	animation-name: movieTexfadeIn;
	animation-duration: 3s;
	animation-timing-function: ease;
	animation-delay: 0s;
	animation-iteration-count: 1;
	animation-direction: alternate;
	animation-fill-mode: forwards;
}

@keyframes movieTexfadeIn {
  0% {
    opacity: 0;
  }

	25% {
    opacity: 1;
  }

	75% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

#movie .bottomTex {
	width: 100%;
	max-width: 989px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 1;
	transition: all 0.3s ease 0s;
}

#movie .bottomTex img {
	opacity: 0.4;
}

#movie .slipTex {
	position: absolute;
	right: 91px;
	bottom: 49px;
	width: 100%;
	max-width: 46px;
	line-height: 17px;
	cursor: pointer;
	z-index: 1;
	transition: all 0.3s ease 0s;
}

#movie .countFlex {
	width: 1137px;
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 1;
}

#movie .countFlex .box {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 379px;
	opacity: 0;
	transition: all 0.3s ease 0s;
}

#movie.active .countFlex .box.box01 {
	animation-name: boxfadeIn;
	animation-duration: 0.6s;
	animation-timing-function: ease;
	animation-delay: 3s;
	animation-iteration-count: 1;
	animation-direction: alternate;
	animation-fill-mode: forwards;
}

#movie.active .countFlex .box.box02 {
	animation-name: boxfadeIn;
	animation-duration: 0.6s;
	animation-timing-function: ease;
	animation-delay: 4s;
	animation-iteration-count: 1;
	animation-direction: alternate;
	animation-fill-mode: forwards;
}

#movie.active .countFlex .box.box03 {
	animation-name: boxfadeIn;
	animation-duration: 0.6s;
	animation-timing-function: ease;
	animation-delay: 5s;
	animation-iteration-count: 1;
	animation-direction: alternate;
	animation-fill-mode: forwards;
}

@keyframes boxfadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#movie .countFlex .box .head h3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	white-space: nowrap;
	font-family: "Noto Sans", sans-serif;
}

#movie .countFlex .box .head h3 b {
	font-size: 28px;
	font-weight: 700;
	line-height: 2;
	text-align: center;
	margin-bottom: 18px;
}

#movie .countFlex .box .head h3 small {
	font-size: 20px;
	font-weight: 700;
	line-height: 2;
	text-align: center;
}

#movie .countFlex .box .coutNo .noTop {
	display: flex;
	justify-content: center;
	margin-bottom: 33px;
}

#movie .countFlex .box .coutNo .noTop p {
	display: flex;
	align-items: flex-end;
	color: #fff;
	white-space: nowrap;
}

#movie .countFlex .box .coutNo .noTop p b {
	font-size: 100px;
	font-weight: 600;
	line-height: 1;
	font-family: "Inter", sans-serif;
}

#movie .countFlex .box .coutNo .noTop p small {
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	font-family: "Noto Sans", sans-serif;
	transform: translateY(-13px);
	-webkit-transform: translateY(-13px);
	-moz-transform: translateY(-13px);
}

#movie .countFlex .box .coutNo .arrow {
	width: 100%;
	max-width: 56px;
	margin: 0 auto 19px;
}

#movie .countFlex .box .coutNo .countBottom {
	display: flex;
	justify-content: center;
}

#movie .countFlex .box .coutNo .countBottom p {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	color: #fff;
	white-space: nowrap;
}

#movie .countFlex .box.box01 .coutNo .countBottom p {
	width: 287.89px;
}

#movie .countFlex .box.box02 .coutNo .countBottom p {
	width: 329.2px;
}

#movie .countFlex .box.box03 .coutNo .countBottom p {
	width: 300.83px;
}

#movie .countFlex .box .coutNo .countBottom p b {
	font-size: 130px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.006em;
	font-family: "Inter", sans-serif;
}

#movie .countFlex .box .coutNo .countBottom p small {
	font-size: 36px;
	font-weight: 700;
	line-height: 1;
	font-family: "Noto Sans", sans-serif;
	transform: translateY(-18px);
	-webkit-transform: translateY(-18px);
	-moz-transform: translateY(-18px);
}

#movie .countFlex .box.box01 .coutNo .arrow {
	transform: translateX(-9px);
	-webkit-transform: translateX(-9px);
	-moz-transform: translateX(-9px);
}

#movie .countFlex .box.box01 .coutNo .countBottom p b {
	letter-spacing: 0;
}

#movie .countFlex .box.box02 .coutNo .noTop p {
	padding: 0 0 0 46px;
}

#movie .countFlex .box.box02 .coutNo .countBottom p {
	padding: 0 0 0 22px;
}

#movie .countFlex .box.box03 .head h3 small {
	transform: translateX(9px);
	-webkit-transform: translateX(9px);
	-moz-transform: translateX(9px);
}

#movie .countFlex .box.box03 .coutNo .noTop p {
	padding: 0 0 0 11px;
}

#movie .countFlex .box.box03 .coutNo .arrow {
	transform: translateX(6px);
	-webkit-transform: translateX(6px);
	-moz-transform: translateX(6px);
}

#movie .countFlex .box.box03 .coutNo .countBottom p {
	padding: 0 0 0 22px;
}

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

#visual {
	position: relative;
	padding: 197px 0 0 0;
}

#visual .inner {
	max-width: 1159px;
}

#visual .visualFlex {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

#visual .visualFlex .contents {
	position: relative;
	width: 500px;
	z-index: 2;
}

#visual .visualFlex .contents .subHead {
	display: flex;
	flex-direction: column;
	color: #222222;
	margin-bottom: 19px;
}

#visual .visualFlex .contents .subHead small {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	margin-bottom: 15px;
}

#visual .visualFlex .contents .subHead b {
	display: flex;
	align-items: flex-end;
	letter-spacing: 0;
}

#visual .visualFlex .contents .subHead b .small {
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

#visual .visualFlex .contents .subHead b .big {
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
}

#visual .visualFlex .contents h2 {
	color: #222222;
	margin-bottom: 32px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#visual .visualFlex .contents h2 .top {
	display: flex;
	align-items: flex-end;
	margin-bottom: 20px;
}

#visual .visualFlex .contents h2 .top .tex01 {
	font-size: 75.74px;
	font-weight: 700;
	line-height: 1;
}

#visual .visualFlex .contents h2 .top .tex02 {
	font-size: 38.84px;
	font-weight: 700;
	line-height: 1;
}

#visual .visualFlex .contents h2 .top .tex03 {
	font-size: 66.03px;
	font-weight: 700;
	line-height: 1;
}

#visual .visualFlex .contents h2 .bottom .tex04 {
	font-size: 66.03px;
	font-weight: 700;
	line-height: 1;
}

#visual .visualFlex .contents .oracleTex {
	margin-bottom: 52px;
	width: 100%;
	max-width: 320px;
}

#visual .visualFlex .texArea {
	position: relative;
	padding: 0 5px 0 0;
	transform: translateY(76px);
	-webkit-transform: translateY(76px);
	-moz-transform: translateY(76px);
	z-index: 1;
}

#visual .visualFlex  .texArea p {
	display: flex;
	flex-direction: column;
	color: #222222;
	letter-spacing: -0.001em;
}

#visual .visualFlex .texArea p .tex01 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 18px;
}

#visual .visualFlex .texArea p .tex02 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 18px;
}

#visual .visualFlex .texArea p .tex02 .grade {
	font-size: 30px;
	background: linear-gradient(90deg, #DA0505 0%, #FB5757 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#visual .visualFlex .texArea p .tex03 {
	font-size: 38px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 17px;
}

#visual .visualFlex .texArea p .tex03 .grade {
	background: linear-gradient(90deg, #DA0505 0%, #FB5757 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#visual .visualFlex .texArea p .tex03 .grade span {
	margin: 0 -16px;
}

#visual .visualFlex .texArea p .tex04 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 19px;
}

#visual .visualFlex .texArea p .tex04 .grade {
	font-size: 38px;
	letter-spacing: -0.18em;
	padding: 0 7px 0 0;
	background: linear-gradient(90deg, #DA0505 0%, #FB5757 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#visual .visualFlex .texArea p .tex05 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}

#visual .visualFlex .triangleArea {
	width: 529px;
	position: absolute;
	top: -48px;
	left: 54.5%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 0;
}

#visual .visualFlex .triangleArea:before {
	content: '';
	width: 2px;
	height: 635px;
	background: #ffffff;
	position: absolute;
	right: 319px;
	top: 0;
}

#visual .visualFlex .triangleArea:after {
	content: '';
	width: 2px;
	height: 635px;
	background: #ffffff;
	position: absolute;
	right: -1px;
	top: 0;
}

#visual .visualFlex .triangleArea .triangle01 {
	width: 100%;
	max-width: 380.5px;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

#visual .visualFlex .triangleArea .triangle02 {
	width: 100%;
	max-width: 320px;
	position: absolute;
	overflow: hidden;
	right: 0;
	top: 2px;
}

#visual .visualFlex .triangleArea .triangle02 video {
	max-width: initial;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	background: #000000;
	z-index: -1;
}

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

#about {
	position: relative;
	padding: 251px 0 0 0;
}

#about .texArea {
	display: flex;
	justify-content: center;
	padding: 0 0 0 14px;
}

#about .texArea .texPosition {
	width: 812px;
}

#about .texArea p {
	font-size: 44px;
	font-weight: 700;
	line-height: 1.82;
	color: #000;
	overflow: hidden;
}

#about .texArea p .grade {
	font-size: 46px;
	background: linear-gradient(90deg, #DA0505 0%, #FB5757 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#about .texArea p .grade.big {
	font-size: 62px;
	position: relative;
	overflow: hidden;
	transition: all 0.8s ease 0s;
	color: #da0505;
	background: initial;
	-webkit-background-clip: initial;
	-webkit-text-fill-color: initial;
}

#about .texArea p .grade.big.is-active {
  --y: 0;
}

#about .texArea p .grade.big .char {
  display: inline-block;
  transform: translateY(var(--y, 110%));
  transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transition-delay: calc(0.06s * var(--char-index));
}

#about .texArea p .grade.big::before {
  background-color: #fff;
}

#about .texArea p .grade.big::after {
  background-color: #bce9ec;
  transition-delay: 0.16s;
}

#about .texArea p .grade .position {
	margin: 0 -29px;
}

#about .texArea p .texHeight {
	display: inline-block;
	transform: translateY(-13px);
	-webkit-transform: translateY(-13px);
	-moz-transform: translateY(-13px);
	overflow: hidden;
}

#about .texArea p .leftM {
	display: inline-block;
	transform: translateX(-22px);
	-webkit-transform: translateX(-22px);
	-moz-transform: translateX(-22px);
}

#about .texArea p .leftM2 {
	display: inline-block;
	transform: translateX(-14px);
	-webkit-transform: translateX(-14px);
	-moz-transform: translateX(-14px);
}

#about .texArea p .letterM {
	letter-spacing: 0.0479em;
}

/*----------------------------------------------------
 #whats
----------------------------------------------------*/

#whats {
	position: relative;
	padding: 140px 0 0 0;
}

#whats .inner {
	max-width: 1051px;
}

#whats .whatsFlex {
	display: flex;
	justify-content: space-between;
	margin-bottom: 214px;
}

#whats .whatsFlex .head {
	width: 180px;
}

#whats .whatsFlex .head h2 {
	font-size: 32px;
	font-weight: 600;
	line-height: 1.4;
	color: #000;
	font-family: "Inter", sans-serif;
	position: sticky;
  top: 10px;
}

#whats .whatsFlex .conts {
	width: 744px;
  padding: 2px 0 0 0;
}

#whats .whatsFlex .conts p {
	font-size: 22px;
	font-weight: 600;
	line-height: 2;
	color: #000;
	font-family: "Noto Sans", sans-serif;
	margin-bottom: 44px;
}

#whats .whatsFlex .conts p.big {
	font-size: 58px;
	font-weight: 700;
	line-height: 1.7;
	color: #000;
	font-family: "Zen Kaku Gothic New", sans-serif;
	white-space: nowrap;
	margin-top: 56px;
	margin-bottom: 0;
}

#whats .whatsFlex .conts p.big span:nth-child(5) {
	margin: 0 0 0 -20px;
}

#whats .whatsFlex .conts p.big span:nth-child(12) {
	margin: 0 -9px 0 -16px;
}

#whats .whatsFlex .conts p.big span:nth-child(14) {
	margin: 0 -24px 0 -2px;
}

#whats .slideTex {
	display: flex;
	justify-content: center;
}

#whats .slideTex .slide {
	width: 100%;
	max-width: 1213px;
	margin: 0 30px;
}

/*----------------------------------------------------
 #service
----------------------------------------------------*/

#service {
	position: relative;
	padding: 160px 0 308px 0;
	padding: 12.5vw 0 24.063vw 0;
	background: url('../img/serviceBg.png') top center no-repeat;
	background-size: cover;
}

#service .serviceFlex {
	display: flex;
	justify-content: space-between;
	margin-bottom: 83px;
	padding: 0 37px 0 0;
}

#service .serviceFlex .conts {
	width: calc(100% - 420px);
}

#service .serviceFlex .conts .head {
	margin-bottom: 62px;
}

#service .serviceFlex .conts .head h2 {
	font-size: 32px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.03em;
	color: #DC0017;
	font-family: "Inter", sans-serif;
	margin-bottom: 104px;
}

#service .serviceFlex .conts .head p {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.9;
	color: #fff;
}

#service .serviceFlex .conts .subHead h3 {
	display: flex;
	flex-direction: column;
	margin-bottom: 42px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#service .serviceFlex .conts .subHead h3 small {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
	margin-bottom: 5px;
}

#service .serviceFlex .conts .subHead h3 small span {
	font-size: 21px;
}

#service .serviceFlex .conts .subHead h3 b {
	font-size: 72px;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
	display: inline-block;
	transform: translateX(-48px);
	-webkit-transform: translateX(-48px);
	-moz-transform: translateX(-48px);
}

#service .serviceFlex .conts .subHead h3 b span {
	margin: 0 -21px 0 -15px;
}

#service .serviceFlex .conts .subHead p {
	font-size: 17px;
	font-weight: 600;
	line-height: 2.2;
	letter-spacing: -0.01em;
	color: #fff;
	font-family: "Noto Sans", sans-serif;
}

#service .serviceFlex .conts .subHead p strong {
	font-weight: 700;
}

#service .serviceFlex .image {
	width: 400px;
	margin-top: 67px;
}

#service .choose .head {
	margin-bottom: 36px;
}

#service .choose .head h3 {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: center;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #fff;
}

#service .choose .chooseFlex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#service .choose .chooseFlex .box {
	width: 48.2%;
	height: 234px;
}

#service .choose .chooseFlex .box a {
	display: block;
	width: 100%;
	height: 100%;
	background: #ffffff;
	padding: 47px 43px 0 30px;
	box-sizing: border-box;
	border-radius: 12px;
	box-shadow: 0 20px 32px rgba(0,0,0,0.25);
}

#service .choose .chooseFlex .box a .texFlex {
	margin-bottom: 30px;
}

#service .choose .chooseFlex .box a .texFlex h4 {
	display: flex;
	align-items: flex-start;
}

#service .choose .chooseFlex .box a .texFlex h4 b {
	font-size: 36px;
	font-weight: 600;
	line-height: 1;
	color: #DC0017;
	font-family: "Inter", sans-serif;
	margin-right: 24px;
}

#service .choose .chooseFlex .box a .texFlex h4 small {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.6;
	color: #000;
	transform: translateY(-7px);
	-webkit-transform: translateY(-7px);
	-moz-transform: translateY(-7px);
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#service .choose .chooseFlex .box a .texFlex h4 small .grade {
	margin: 0 -11px 0 0;
	background: linear-gradient(90deg, #DA0505 0%, #FB5757 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#service .choose .chooseFlex .box a .texFlex h4 small .grade span {
	margin: 0 -9px 0 -5px;
}

#service .choose .chooseFlex .box a .linkNav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

#service .choose .chooseFlex .box a .linkNav .tex {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	color: #000;
	margin-right: 17px;
}

#service .choose .chooseFlex .box a .linkNav .arrow {
	position: relative;
	overflow: hidden;
	width: 13px;
	line-height: 28px;
}

#service .choose .chooseFlex .box a .linkNav .arrow img {
	animation-fill-mode: forwards;
  animation-duration: 0.6s;
	transform: translateY(-100%);
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
}

#service .choose .chooseFlex .box a .linkNav .arrow:after {
	content: '';
	width: 13px;
	height: 28px;
	background: url('../img/bottomArrow.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
  animation-delay: 0s;
	animation-duration: 0.6s;
}



/*----------------------------------------------------
 #strengths
----------------------------------------------------*/

#strengths {
	position: relative;
	margin-top: -187px;
	padding: 128px 0 83px 0;
	border-radius: 200px 20px 20px 20px;
	background: #FBF4F5;
}

#strengths .head {
	margin-bottom: 28px;
}

#strengths .head h2 {
	font-size: 32px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.03em;
	color: #DC0017;
	font-family: "Inter", sans-serif;
	margin-bottom: 56px;
}

#strengths .head p {
	font-size: 44px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: -0.01em;
	color: #000;
}

#strengths .strengthsList .listHead {
	margin-bottom: 18px;
}

#strengths .strengthsList .listHead h3 {
	transform: translateX(-12px);
	-webkit-transform: translateX(-12px);
	-moz-transform: translateX(-12px);
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#strengths .strengthsList .listHead h3 > small {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: -0.01em;
	color: #000;
}

#strengths .strengthsList .listHead h3 > small span {
	margin: 0 -10px 0 0;
}

#strengths .strengthsList .listHead h3 .bottom b {
	font-size: 44px;
	font-weight: 700;
	line-height: 1.7;
	color: #DC0017;
}

#strengths .strengthsList .listHead h3 .bottom small {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: -0.01em;
	color: #000;
}

#strengths .strengthsList .scrollList {
	margin-bottom: 58px;
}

#strengths .strengthsList .scrollList .listFlex {
	display: flex;
	justify-content: space-between;

}

#strengths .strengthsList .scrollList .listFlex .box {
	width: 206px;
	height: 391px;
	background: #fff;
	border: 2px solid #000;
	border-radius: 248px;
	padding: 50px 0 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#strengths .strengthsList .scrollList .listFlex .box .no {
	font-size: 26px;
	font-weight: 600;
	line-height: 1;
	color: #DC0017;
	font-family: "Inter", sans-serif;
	margin-bottom: 35px;
}

#strengths .strengthsList .scrollList .listFlex .box h4 {
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: #000;
	margin-bottom: 51px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#strengths .strengthsList .scrollList .listFlex .box p {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
	color: #222222;
}

#strengths .strengthsList .listArrow {
	width: 100%;
	max-width: 56px;
	margin: 0 auto 32px;
}

#strengths .strengthsList .afterTex {
	display: flex;
	justify-content: center;
}

#strengths .strengthsList .afterTex p {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.8;
	text-align: left;
	color: #000000;
}

#strengths .strengthsList .afterTex p .grade {
	font-size: 40px;
	background: linear-gradient(90deg, #DA0505 0%, #FB5757 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/*----------------------------------------------------
 #problem
----------------------------------------------------*/

#problem {
	position: relative;
	padding: 76px 0 308px 0;
	background: #ffffff;
}

#problem .faqHead {
	margin-bottom: 117px;
}

#problem .faqHead h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#problem .faqHead h2 b {
	font-size: 160px;
	font-weight: 700;
	line-height: 1;
	color: #DC0017;
	margin-bottom: 22px;
	opacity: 0;
}

#problem .faqHead h2 b.is-active {
  animation: text08 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	animation-fill-mode: forwards;
	animation-delay: 0.3s;
}

@keyframes text08 {
	0% {
		opacity: 0;
		transform: scale(0.3) translateY(150%);
	}
	30% {
		opacity: 1;
	}
	75% {
		opacity: 1;
		transform: scale(1.5) translateY(-30%);
	}
	100% {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}

#problem .faqHead h2 small {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.7;
	color: #DC0017;
	text-align: center;
}

#problem .head {
	margin-bottom: 60px;
}

#problem .head h3 {
	font-size: 32px;
	font-weight: 600;
	line-height: 1.4;
	color: #000000;
	font-family: "Inter", sans-serif;
	margin-bottom: 56px;
}

#problem .head p.smallTex {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.9;
	color: #000000;
	margin: 0 0 14px -4px;
}

#problem .head p.bigTex {
	font-size: 44px;
	font-weight: 700;
	line-height: 1.7;
	color: #000000;
	margin: 0 0 0 15px;
}

#problem .head p.bigTex span {
	margin: 0 -22px 0 -43px;
}

#problem .problemListArea {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 918px;
	margin: 0 auto 0;
}

#problem .problemListArea .listHead {
	margin-bottom: 29px;
}

#problem .problemListArea .listHead h4 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.9;
	color: #000000;
	text-align: center;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#problem .problemListArea .listImage {
	width: 100%;
	max-width: 294px;
	margin: 0 auto 309px;
}

#problem .problemListArea .problemList .box h5 {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	color: #000000;
	margin-bottom: 9px;
}

#problem .problemListArea .problemList .box p {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	color: #DC0017;
}

#problem .problemListArea .problemList .box.box01 {
	width: 220px;
	height: 220px;
	padding: 47px 0 0 26px;
	border: 2px solid #DC0017;
	background: #fff;
	border-radius: 60px 60px 12px 60px;
	display: flex;
	flex-direction: column;
	position: absolute;
	left: 55px;
	top: 48px;
}

#problem .problemListArea .problemList .box.box02 {
	width: 220px;
	height: 220px;
	padding: 47px 0 0 26px;
	border: 2px solid #DC0017;
	background: #fff;
	border-radius: 60px 60px 60px 12px;
	display: flex;
	flex-direction: column;
	position: absolute;
	right: 51px;
	top: 99px;
}

#problem .problemListArea .problemList .box.box03 {
	width: 220px;
	height: 220px;
	padding: 31px 0 0 26px;
	border: 2px solid #DC0017;
	background: #fff;
	border-radius: 60px 12px 60px 60px;
	display: flex;
	flex-direction: column;
	position: absolute;
	left: 2px;
	top: 314px;
}

#problem .problemListArea .problemList .box.box04 {
	width: 220px;
	height: 220px;
	padding: 35px 0 0 26px;
	border: 2px solid #DC0017;
	background: #fff;
	border-radius: 12px 60px 60px 60px;
	display: flex;
	flex-direction: column;
	position: absolute;
	right: 115px;
	top: 374px;
}

#problem .problemListArea .problemList .box.box05 {
	width: 220px;
	height: 220px;
	padding: 33px 0 0 26px;
	border: 2px solid #DC0017;
	background: #fff;
	border-radius: 60px 12px 60px 60px;
	display: flex;
	flex-direction: column;
	position: absolute;
	left: 260px;
	top: 424px;
}

#problem .listArrow {
	width: 100%;
	max-width: 56px;
	margin: 0 auto 40px;
}

#problem .afterTex {
	display: flex;
	justify-content: center;
}

#problem .afterTex p {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.7;
	text-align: left;
	color: #000000;
}

#problem .afterTex p .grade {
	font-size: 40px;
	background: linear-gradient(90deg, #DA0505 0%, #FB5757 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/*----------------------------------------------------
 #method
----------------------------------------------------*/

#method {
	position: relative;
	margin-top: -192px;
	padding: 125px 0 97px 0;
	border-radius: 20px 200px 20px 20px;
	background: #FBF4F5;
}

#method .head {
	margin-bottom: 63px;
}

#method .head h2 {
	display: flex;
	flex-direction: column;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#method .head h2 small {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.9;
	color: #000000;
	letter-spacing: -0.002em;
	margin: 0 0 11px -4px;
}

#method .head h2 b {
	font-size: 40px;
	font-weight: 700;
	line-height: 1.5;
	text-align: left;
	color: #000000;
}

#method .head h2 b .grade {
	font-size: 52px;
	background: linear-gradient(90deg, #DA0505 0%, #FB5757 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#method .head h2 b .grade span {
	margin: 0 -16px;
}

#method .head h2 b .grade span:last-child {
	margin: 0 -11px;
}

#method .methodList {
	display: flex;
	justify-content: space-between;
	margin-bottom: 79px;
}

#method .methodList .box {
	width: 353px;
	padding: 48px 0 57px 0;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 20px 24px rgba(0,0,0,0.04);
}

#method .methodList .box .boxHead {
	margin-bottom: 29px;
}

#method .methodList .box .boxHead h3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 23px;
	font-family: "Noto Sans", sans-serif;
}

#method .methodList .box .boxHead h3 small {
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	margin-bottom: 20px;
}

#method .methodList .box .boxHead h3 b {
	font-size: 52px;
	font-weight: 700;
	line-height: 1;
	color: #DC0017;
	text-align: center;
}

#method .methodList .box .boxHead p {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
	font-family: "Noto Sans", sans-serif;
}

#method .methodList .box .boxArrow {
	width: 100%;
	max-width: 33px;
	margin: 0 auto 21px;
}

#method .methodList .box .boxConts p {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.8;
	color: #DC0017;
	text-align: center;
	font-family: "Noto Sans", sans-serif;
}

#method .afterTex {
	display: flex;
	justify-content: center;
}

#method .afterTex p {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.6;
	text-align: left;
	color: #000000;
}

#method .afterTex p .grade {
	font-size: 40px;
	margin: 0 -14px 0 -28px;
	background: linear-gradient(90deg, #DA0505 0%, #FB5757 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/*----------------------------------------------------
 #menu
----------------------------------------------------*/

#menu {
	position: relative;
	padding: 115px 0 100px 0;
	z-index: 1;
}

#menu .head {
	margin-bottom: 80px;
}

#menu .head h2 {
	font-size: 32px;
	font-weight: 600;
	line-height: 1.4;
	color: #000000;
	font-family: "Inter", sans-serif;
	margin-bottom: 52px;
}

#menu .head h3 {
	font-size: 44px;
	font-weight: 700;
	line-height: 1.7;
	color: #000000;
	margin-bottom: 29px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#menu .head p {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	color: #000000;
}

#menu .menuList {
	display: flex;
	justify-content: space-between;
}

#menu .menuList .box {
	width: 48.2%;
  height: 576px;
}

#menu .menuList .box a {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	background: #ffffff;
	padding: 47px 43px 0 30px;
	box-sizing: border-box;
	border-radius: 12px;
	box-shadow: 0 20px 32px rgba(220,15,0,0.2);
}

#menu .menuList .box a .boxConts .noTex {
	font-size: 48px;
	font-weight: 600;
	line-height: 1;
	color: #DC0017;
	font-family: "Inter", sans-serif;
	margin-bottom: 15px;
}

#menu .menuList .box a .boxConts .boxHead {
	margin-bottom: 21px;
}

#menu .menuList .box a .boxConts .boxHead h4 {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.5;
	color: #000;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#menu .menuList .box a .boxConts .boxHead h4 .grade {
	margin: 0 -10px 0 0;
	background: linear-gradient(90deg, #DA0505 0%, #FB5757 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#menu .menuList .box a .boxConts .boxHead h4 .grade span {
	margin: 0 -9px 0 -8px;
}

#menu .menuList .box a .boxConts p {
	font-size: 15px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0;
	color: #000000;
}

#menu .menuList .box a .boxConts .exampleTex {
	margin-bottom: 37px;
}

#menu .menuList .box a .boxConts .exampleTex p {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0;
	color: #DC0017;
	white-space: nowrap;
}

#menu .menuList .box a .linkNav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	border-top: 1px solid #cccccc;
	padding: 33px 0 41px;
}

#menu .menuList .box a .linkNav .tex {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	color: #000;
	margin-right: 22px;
}

#menu .menuList .box a .linkNav .arrow {
	position: relative;
	overflow: hidden;
	width: 13px;
	line-height: 28px;
}

#menu .menuList .box a .linkNav .arrow img {
	animation-fill-mode: forwards;
  animation-duration: 0.6s;
	transform: translateY(-100%);
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
}

#menu .menuList .box a .linkNav .arrow:after {
	content: '';
	width: 13px;
	height: 28px;
	background: url('../img/bottomArrow.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
  animation-delay: 0s;
	animation-duration: 0.6s;
}

/*----------------------------------------------------
 #message
----------------------------------------------------*/

#message {
	position: relative;
	padding: 141px 0 281px 0;
}

#message .bg01 {
	width: 100%;
	max-width: 102px;
	height: 188px;
	position: absolute;
	right: 137px;
	top: 83px;
	transition: all 0.5s ease 0s;
}

#message .bg01.blur {
	filter: blur(4px);
}

#message .bg02 {
	width: 100%;
	max-width: 150px;
	position: absolute;
	left: 99px;
	top: 497px;
	transition: all 0.5s ease 0s;
}

#message .bg02.blur {
	opacity: 0.7;
	filter: blur(10px);
}

#message .bg03 {
	width: 100%;
	max-width: 270px;
	position: absolute;
	right: 50px;
	bottom: 15px;
	transition: all 0.5s ease 0s;
}

#message .bg03.blur {
	opacity: 0.3;
	filter: blur(16px);
}

#message .inner {
	position: relative;
	max-width: 755px;
	z-index: 1;
}

#message .head {
	margin-bottom: 98px;
}

#message .head h2 {
	font-size: 32px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.03em;
	color: #000000;
	font-family: "Inter", sans-serif;
}

#message .conts p {
	font-size: 24px;
	font-weight: 700;
	line-height: 2.2;
	color: #000000;
	margin-bottom: 53px;
}

#message .conts p.bigtex {
	font-size: 46px;
	font-weight: 700;
	line-height: 1.8;
	color: #000000;
	margin-top: 63px;
	margin-bottom: 0;
	white-space: nowrap;
}

#message .conts p.bigtex span {
	margin: 0 -19px 0 -18px;
}

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

#contact {
	position: relative;
	padding: 0 0 120px 0;
}

#contact .inner {
	position: relative;
	z-index: 1;
}

#contact .bg {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 0;
}

#contact .head {
	margin-bottom: 60px;
}

#contact .head h2 {
	display: flex;
	flex-direction: column;
	margin-bottom: 39px;
}

#contact .head h2 b {
	font-size: 140px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.03em;
	transform: translateX(-9px);
	-webkit-transform: translateX(-9px);
	-moz-transform: translateX(-9px);
	color: #000000;
	font-family: "Inter", sans-serif;
	margin-bottom: 16px;
}

#contact .head h2 small {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.9;
	color: #000000;
	transform: translateX(-4px);
	-webkit-transform: translateX(-4px);
	-moz-transform: translateX(-4px);
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#contact .head p {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	color: #000000;
	transform: translateX(-4px);
	-webkit-transform: translateX(-4px);
	-moz-transform: translateX(-4px);
}

#contact .formBox {
	width: 940px;
	margin: 0 auto 0;
	padding: 83px 100px 100px;
	background: #ffffff;
	box-sizing: border-box;
	border-radius: 12px;
	box-shadow: 0 20px 32px rgba(220,15,0,0.2);
}

#contact .formBox dl.formSec01 {
	padding: 0 0 34px 0;
}

#contact .formBox dl.formSec02 {
	padding: 0 0 43px 0;
}

#contact .formBox dl.formSec03 {
	padding: 0 0 43px 0;
}

#contact .formBox dl.formSec04 {
	padding: 0 0 43px 0;
}

#contact .formBox dl.formSec05 {
	padding: 0 0 44px 0;
}

#contact .formBox dl.formSec06 {
	padding: 0 0 29px 0;
}

#contact .formBox dl dt {
	display: flex;
	padding: 0 0 9px 0;
}

#contact .formBox dl dt .boxTex {
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	font-family: "Noto Sans", sans-serif;
	color: #000000;
}

#contact .formBox dl dt .required {
	width: 47px;
	height: 23px;
	border-radius: 4px;
	background: #DC0017;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 11px;
	transform: translateY(-3px);
	-webkit-transform: translateY(-3px);
	-moz-transform: translateY(-3px);
}

#contact .formBox dl dt .required span {
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	font-family: "Noto Sans", sans-serif;
	color: #fff;
}

#contact .formBox dl dd {
	display: flex;
	flex-direction: column;
}

#contact .formBox dl dd.radioList .type {
	display: flex;
	flex-direction: column;
}

#contact .formBox dl dd input[type="text"],
#contact .formBox dl dd input[type="tel"],
#contact .formBox dl dd input[type="email"] {
	width: 100%;
	height: 67px;
	background: #fff;
	border: 1px solid #000;
	box-sizing: border-box;
	border-radius: 8px;
	font-family: "Noto Sans", sans-serif;
	padding: 0 0 0 16px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.004em;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

#contact .formBox dl dd textarea {
	width: 100%;
	height: 200px;
	background: #fff;
	border: 1px solid #000;
	box-sizing: border-box;
	border-radius: 8px;
	font-family: "Noto Sans", sans-serif;
	padding: 16px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.004em;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

#contact .formBox ::placeholder {
	color: #BBBBBB;
}

#contact .formBox dl dd .checkLabel {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 67px;
	background: #fff;
	border: 1px solid #000;
	box-sizing: border-box;
	border-radius: 8px;
	display: flex;
	align-items: center;
	margin-bottom: 8px;
	padding: 0 0 0 55px;
	cursor: pointer;
}

#contact .formBox dl dd .checkLabel.active {
	border: 2px solid #DC0017;
}

#contact .formBox dl dd .checkLabel .tex {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.02em;
	font-family: "Noto Sans", sans-serif;
}

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

#contact .formBox dl dd .checkLabel > i {
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	margin-right: 4px;
	transition-duration: .3s;
	transition-property: background-color, color;
	border: 1px solid #000000;
	background: #ffffff;
	box-sizing: border-box;
	position: absolute;
	z-index: 1;
	top: calc(21px + 0.7em);
	left: 18px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

#contact .formBox dl dd .checkLabel [type="radio"]:checked + i {
	border-color: #DC0017;
}

#contact .formBox dl dd .checkLabel [type="radio"]:checked + i::after {
	opacity: 1;
}

#contact .formBox dl dd .checkLabel > i::after {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	background: #DC0017;
	border-radius: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0;
	transition-duration: .3s;
	transition-property: opacity;
}

#contact .formBox dl dd.radioList label {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 67px;
	background: #fff;
	border: 1px solid #000;
	box-sizing: border-box;
	border-radius: 8px;
	display: flex;
	align-items: center;
	margin-bottom: 8px;
	padding: 0 0 0 55px;
	cursor: pointer;
}

#contact .formBox dl dd.radioList label.active {
	border-color: #DC0017;
}

#contact .formBox dl dd.radioList label .wpcf7-list-item-label {
	position: relative;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.02em;
	font-family: "Noto Sans", sans-serif;
}

#contact .formBox dl dd.radioList label .wpcf7-list-item-label:before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	margin-right: 4px;
	transition-duration: .3s;
	transition-property: background-color, color;
	border: 1px solid #000000;
	background: #ffffff;
	box-sizing: border-box;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: -37px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

#contact .formBox dl dd.radioList label [type="radio"]:checked + .wpcf7-list-item-label::before {
	border-color: #DC0017;
}

#contact .formBox dl dd.radioList label [type="radio"]:checked + .wpcf7-list-item-label::after {
	opacity: 1;
}

#contact .formBox dl dd.radioList label .wpcf7-list-item-label::after {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: -32px;
	width: 10px;
	height: 10px;
	background: #DC0017;
	border-radius: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	opacity: 0;
	transition-duration: .3s;
	transition-property: opacity;
}

#contact .formBox .policyCheck {
	display: flex;
	justify-content: center;
	margin-bottom: 49px;
}

#contact .formBox .policyCheck label {
	position: relative;
	z-index: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	padding-top: 11px;
	padding-bottom: 11px;
	padding-left: 37px;
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6;
	font-family: "Noto Sans", sans-serif;
	color: #000;
}

#contact .formBox .policyCheck label i {
  display: block;
  width: 21px;
  height: 21px;
  background: #fff;
  transition-duration: .3s;
  transition-property: border-color, background-color, color;
  box-sizing: border-box;
  border: 1px solid #000;
  position: relative;
  z-index: 1;
  border-radius: 4px;
  position: absolute;
  z-index: 1;
	top: calc(24px + 0.7em);
	left: 2px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  box-sizing: border-box;
}

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

#contact .formBox .policyCheck label > i::after {
	content: "";
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	width: 11px;
	height: 8px;
	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 .formBox .policyCheck label.dis > i {
	background: #DC0017;
	border-color: #DC0017;
}

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

#contact .formBox .policyCheck label .tex {
  display: block;
  font-size: 16px;
  font-weight: 500;
	letter-spacing: 0;
  line-height: 1.6;
	font-family: "Noto Sans", sans-serif;
  color: #000;
}

#contact .formBox .policyCheck label .tex a {
	text-decoration: underline;
}

#contact .formBox .policyCheck label .tex .icon {
	width: 100%;
	max-width: 18px;
	display: inline-block;
	margin: 0 2px 0 5px;
	transform: translateY(4px);
	-webkit-transform: translateY(4px);
	-moz-transform: translateY(4px);
}

#contact .formBox .policyCheck label .wpcf7-list-item-label {
	position: relative;
	font-family: "Noto Sans", sans-serif;
}

#contact .formBox .policyCheck label .wpcf7-list-item-label:before {
	content: '';
  display: block;
  width: 21px;
  height: 21px;
  background: #fff;
  transition-duration: .3s;
  transition-property: border-color, background-color, color;
  box-sizing: border-box;
  border: 1px solid #000;
  position: relative;
  z-index: 1;
  border-radius: 4px;
  position: absolute;
  z-index: 1;
	top: 50%;
	left: -35px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  box-sizing: border-box;
}

#contact .formBox .policyCheck label .wpcf7-list-item-label::after {
	content: "";
	position: absolute;
	z-index: 1;
	top: 50%;
	left: -30px;
	width: 11px;
	height: 8px;
	background-image: url('../img/check.svg');
	background-size: 100% 100%;
	transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
	opacity: 0;
	transition: all 0.3s ease;
}

#contact .formBox .policyCheck label.dis .wpcf7-list-item-label:before {
	background: #DC0017;
	border-color: #DC0017;
}

#contact .formBox .policyCheck label.dis .wpcf7-list-item-label::after {
	opacity: 1;
}

#contact .formBox .policyCheck label a {
	text-decoration: underline;
}

#contact .formBox .policyCheck label .icon {
	width: 100%;
	max-width: 18px;
	display: inline-block;
	margin: 0 2px 0 5px;
	transform: translateY(2px);
	-webkit-transform: translateY(2px);
	-moz-transform: translateY(2px);
}

#contact .formBox .policyCheck label .icon svg {
	max-width: 100%;
}

#contact .formBox #confirm {
  position: relative;
	width: 430px;
  height: 106px;
  margin: 0 auto 0;
	padding: 0;
  cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #DA0505;
	background: -webkit-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: -moz-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#DA0505", endColorstr="#FB5757", GradientType=1);
	border-radius: 8px;
  border: initial;
  transition: all 0.3s ease 0s;
}

#contact .formBox #confirm .tex {
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #fff;
  transform: translateX(-7px) translateY(-1px);
	-webkit-transform: translateX(-7px) translateY(-1px);
  -moz-transform: translateX(-7px) translateY(-1px);
}

#contact .formBox #confirm .arrow {
	width: 100%;
	max-width: 33px;
	height: 16px;
	overflow: hidden;
	position: absolute;
	top: 50%;
	right: 32px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#contact .formBox #confirm .arrow:before {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/rightArrow-Big.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	animation-delay: 0s;
	animation-duration: 0.6s;
}

#contact .formBox #confirm .arrow:after {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/rightArrow-Big.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	animation-fill-mode: forwards;
	animation-duration: 0.6s;
	transform: translateX(-100%);
	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
}

#contact .formBox .confirm {
	position: relative;
	width: 430px;
  height: 106px;
	margin: 0 auto 0;
}

#contact .formBox .confirm input {
  position: relative;
	width: 100%;
  height: 106px;
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #fff;
  margin: 0 auto 0;
	padding: 0;
  cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #DA0505;
	background: -webkit-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: -moz-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#DA0505", endColorstr="#FB5757", GradientType=1);
	border-radius: 8px;
  border: initial;
  transition: all 0.3s ease 0s;
}

#contact .formBox .confirm:before {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/rightArrow-Big.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: 50%;
	right: 32px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	animation-delay: 0s;
	animation-duration: 0.6s;
	transition: all 0.3s ease 0s;
	z-index: 1;
}

/*----------------------------------------------------
 #confirm
----------------------------------------------------*/

#confirm {
	position: relative;
	padding: 156px 0 120px 0;
}

#confirm .inner {
	position: relative;
	z-index: 1;
}

#confirm .head {
	margin-bottom: 60px;
}

#confirm .head h2 {
	display: flex;
	flex-direction: column;
	margin-bottom: 22px;
}

#confirm .head h2 b {
	font-size: 32px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05em;
	transform: translateX(-3px);
	-webkit-transform: translateX(-3px);
	-moz-transform: translateX(-3px);
	color: #000000;
	font-family: "Inter", sans-serif;
	margin-bottom: 56px;
}

#confirm .head h2 small {
	font-size: 44px;
	font-weight: 700;
	line-height: 1.7;
	color: #000000;
	transform: translateX(-4px);
	-webkit-transform: translateX(-4px);
	-moz-transform: translateX(-4px);
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#confirm .head p {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	color: #000000;
	transform: translateX(-4px);
	-webkit-transform: translateX(-4px);
	-moz-transform: translateX(-4px);
}

#confirm .formBox {
	width: 940px;
	margin: 0 auto 0;
	padding: 83px 100px 100px;
	background: #ffffff;
	box-sizing: border-box;
	border-radius: 12px;
	box-shadow: 0 20px 32px rgba(220,15,0,0.2);
}

#confirm .formBox dl.formSec01 {
	padding: 0 0 46px 0;
}

#confirm .formBox dl.formSec02 {
	padding: 0 0 46px 0;
}

#confirm .formBox dl.formSec03 {
	padding: 0 0 46px 0;
}

#confirm .formBox dl.formSec04 {
	padding: 0 0 46px 0;
}

#confirm .formBox dl.formSec05 {
	padding: 0 0 46px 0;
}

#confirm .formBox dl.formSec06 {
	padding: 0 0 78px 0;
}

#confirm .formBox dl dt {
	display: flex;
	padding: 0 0 18px 0;
}

#confirm .formBox dl dt .boxTex {
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	font-family: "Noto Sans", sans-serif;
	color: #000000;
}

#confirm .formBox dl dd .boxTex {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
	font-family: "Noto Sans", sans-serif;
	color: #000000;
}

#confirm .formBox dl.formSec06 dd .boxTex {
	line-height: 1.7;
}

#confirm .formBox .buttonsArea {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#confirm .formBox .buttonsArea #send {
  position: relative;
	width: 430px;
  height: 106px;
  margin: 0 auto 30px;
  cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #DA0505;
	background: -webkit-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: -moz-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#DA0505", endColorstr="#FB5757", GradientType=1);
	border-radius: 8px;
  border: initial;
  transition: all 0.3s ease 0s;
}

#confirm .formBox .buttonsArea #send .tex {
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #fff;
  transform: translateX(0) translateY(-1px);
	-webkit-transform: translateX(0) translateY(-1px);
  -moz-transform: translateX(0) translateY(-1px);
}

#confirm .formBox .buttonsArea #send .arrow {
	width: 100%;
	max-width: 33px;
	height: 16px;
	overflow: hidden;
	position: absolute;
	top: 50%;
	right: 32px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#confirm .formBox .buttonsArea #send .arrow:before {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/rightArrow-Big.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	animation-delay: 0s;
	animation-duration: 0.6s;
}

#confirm .formBox .buttonsArea #send .arrow:after {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/rightArrow-Big.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	animation-fill-mode: forwards;
	animation-duration: 0.6s;
	transform: translateX(-100%);
	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
}

#confirm .formBox .buttonsArea .send {
  position: relative;
	width: 430px;
  height: 106px;
	margin: 0 auto 30px;
}

#confirm .formBox .buttonsArea .send input {
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #fff;
	width: 100%;
	height: 106px;
  cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #DA0505;
	background: -webkit-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: -moz-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	background: linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#DA0505", endColorstr="#FB5757", GradientType=1);
	border-radius: 8px;
  border: initial;
  transition: all 0.3s ease 0s;
}

#confirm .formBox .buttonsArea .send:before {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/rightArrow-Big.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: 50%;
	right: 32px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	animation-delay: 0s;
	animation-duration: 0.6s;
	transition: all 0.3s ease 0s;
	z-index: 1;
}

#confirm .formBox .buttonsArea #back {
  position: relative;
	width: 430px;
  height: 83px;
  margin: 0 auto 0;
	padding: 0 0 0 18px;
  cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #777777;
	border-radius: 8px;
  border: initial;
  transition: all 0.3s ease 0s;
}

#confirm .formBox .buttonsArea #back .tex {
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #fff;
  transform: translateX(10px) translateY(-1px);
	-webkit-transform: translateX(10px) translateY(-1px);
  -moz-transform: translateX(10px) translateY(-1px);
}

#confirm .formBox .buttonsArea #back .arrow {
	width: 100%;
	max-width: 33px;
	height: 16px;
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 45px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#confirm .formBox .buttonsArea #back .arrow:before {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/leftArrow.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	animation-delay: 0s;
	animation-duration: 0.6s;
}

#confirm .formBox .buttonsArea #back .arrow:after {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/leftArrow.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	animation-fill-mode: forwards;
	animation-duration: 0.6s;
	transform: translateX(100%);
	-webkit-transform: translateX(100%);
	-moz-transform: translateX(100%);
}

#confirm .formBox .buttonsArea .back {
  position: relative;
	width: 430px;
  height: 83px;
  margin: 0 auto 0;
}

#confirm .formBox .buttonsArea .back input {
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #fff;
	width: 100%;
  height: 83px;
  margin: 0 auto 0;
  cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #777777;
	border-radius: 8px;
  border: initial;
  transition: all 0.3s ease 0s;
}

#confirm .formBox .buttonsArea .back:before {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/leftArrow.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: 50%;
	left: 44px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	animation-delay: 0s;
	animation-duration: 0.6s;
	transition: all 0.3s ease 0s;
	z-index: 1;
}


/*----------------------------------------------------
 #thanks
----------------------------------------------------*/

#thanks {
	position: relative;
	padding: 192px 0 160px 0;
}

#thanks .inner {
	position: relative;
	z-index: 1;
	max-width: 592px;
}

#thanks .head {
	margin-bottom: 58px;
}

#thanks .head h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 28px;
}

#thanks .head h2 small {
	width: 100%;
	max-width: 62px;
	margin: 0 auto 28px;
}

#thanks .head h2 b {
	font-size: 72px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.035em;
	color: #000000;
	font-family: "Inter", sans-serif;
}

#thanks .head p {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: 0;
	text-align: center;
	color: #000000;
}

#thanks .conts p {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0;
	color: #000000;
	margin: 0 0 0 0;
}

#thanks .conts .backButton {
	width: 430px;
  height: 83px;
	margin: 82px auto 0;
}

#thanks .conts .backButton a {
  position: relative;
	width: 100%;
  height: 100%;
  margin: 0 auto 0;
  cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #777777;
	border-radius: 8px;
  border: initial;
  transition: all 0.3s ease 0s;
}

#thanks .conts .backButton a .tex {
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #fff;
  transform: translateX(15px) translateY(-1px);
	-webkit-transform: translateX(15px) translateY(-1px);
  -moz-transform: translateX(15px) translateY(-1px);
}

#thanks .conts .backButton a .arrow {
	width: 100%;
	max-width: 33px;
	height: 16px;
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 45px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#thanks .conts .backButton a .arrow:before {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/leftArrow.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	animation-delay: 0s;
	animation-duration: 0.6s;
}

#thanks .conts .backButton a .arrow:after {
	content: '';
	width: 33px;
	height: 16px;
	background: url('../img/leftArrow.svg') no-repeat;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	animation-fill-mode: forwards;
	animation-duration: 0.6s;
	transform: translateX(100%);
	-webkit-transform: translateX(100%);
	-moz-transform: translateX(100%);
}

/*----------------------------------------------------
 PC
----------------------------------------------------*/

@media screen and (min-width: 2000px) {
	#service {
		padding: 20.5vw 0 24.063vw 0;
	}
}

@media screen and (min-width: 1500px) {
	#service {
		padding: 15.5vw 0 24.063vw 0;
	}
}

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

	#movie .slipTex:hover {
		opacity: 0.7 ;
	}

	#footer .footerNav nav ul li a:hover {
		opacity: 0.7;
	}

	#service .choose .chooseFlex .box a:hover .linkNav .arrow img {
		animation-name: transformTopBottom;
		animation-delay: 0.2s;
	}

	#service .choose .chooseFlex .box a:hover .linkNav .arrow:after {
		animation-name: transformBottomTop;
	}

	#menu .menuList .box a:hover .linkNav .arrow img {
		animation-name: transformTopBottom;
		animation-delay: 0.2s;
	}

	#menu .menuList .box a:hover .linkNav .arrow:after {
		animation-name: transformBottomTop;
	}

	.button a:hover .arrow:after {
		animation-name: transformLeftRight;
		animation-delay: 0.2s;
	}

	.button a:hover .arrow:before {
		animation-name: transformRightLeft;
	}

	#contact .formBox #confirm:hover .arrow:after {
		animation-name: transformLeftRight;
		animation-delay: 0.2s;
	}

	#contact .formBox #confirm:hover .arrow:before {
		animation-name: transformRightLeft;
	}

	#confirm .formBox .buttonsArea #send:hover .arrow:after {
		animation-name: transformLeftRight;
		animation-delay: 0.2s;
	}

	#confirm .formBox .buttonsArea #send:hover .arrow:before {
		animation-name: transformRightLeft;
	}

	#confirm .formBox .buttonsArea #back:hover .arrow:after {
		animation-name: reverseRightLeft;
		animation-delay: 0.2s;
	}

	#confirm .formBox .buttonsArea #back:hover .arrow:before {
		animation-name: reverseLeftRight;
	}

	#thanks .conts .backButton a:hover .arrow:after {
		animation-name: reverseRightLeft;
		animation-delay: 0.2s;
	}

	#thanks .conts .backButton a:hover .arrow:before {
		animation-name: reverseLeftRight;
	}

	#confirm .formBox .buttonsArea .send:hover:before {
		right: 1.5vw;
	}

	#confirm .formBox .buttonsArea .back:hover:before {
    left: 2.438vw;
	}

	#contact .formBox .confirm:hover:before {
		right: 1.5vw;
	}

}

/*----------------------------------------------------
 PC + VW
----------------------------------------------------*/

@media screen and (min-width: 769px) and (max-width: 1280px) {

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

	body {
		font-size: 1.25vw;
	}

	/*----------------------------------------------------
	fadeIn
	----------------------------------------------------*/

	.fadeIn {
		transform: translate3d(0, -0.781vw, 0);
		transition: 1s;
		opacity: 0;
	}

	/*----------------------------------------------------
	inner
	----------------------------------------------------*/

	.inner {
		max-width: 85.469vw;
	}

	/*----------------------------------------------------
	button
	----------------------------------------------------*/

	.button {
		width: 24.141vw;
		height: 5.625vw;
	}

	.button a {
		padding: 0 1.094vw 0 0;
		border-radius: 0.313vw;
	}

	.button a .tex {
		font-size: 1.719vw;
	}

	.button a .arrow {
		max-width: 2.109vw;
		height: 0.938vw;
		right: 1.953vw;
	}

	.button a .arrow:before {
		width: 2.109vw;
		height: 0.938vw;
	}

	.button a .arrow:after {
		width: 2.109vw;
		height: 0.938vw;
	}

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

	#header {
		height: 7.187vw;
	}

	#header .headerFlex {
		padding: 1.406vw 1.406vw 0 1.484vw;
	}

	#header .headerFlex .logoArea a .logo {
		max-width: 8.203vw;
		margin-right: 2.266vw;
	}

	#header .headerFlex .logoArea a .tex small {
		font-size: 1.094vw;
		margin-bottom: 0.703vw;
	}

	#header .headerFlex .logoArea a .tex b {
		letter-spacing: -0.01em;
	}

	#header .headerFlex .logoArea a .tex b .small {
		font-size: 1.094vw;
	}

	#header .headerFlex .logoArea a .tex b .big {
		font-size: 1.328vw;
	}

	#header .headerFlex .infoArea .telBox {
		margin-right: 2.422vw;
		padding: 0.234vw 0 0 0;
	}

	#header .headerFlex .infoArea .telBox .telNo a {
		margin-bottom: 0.625vw;
	}

	#header .headerFlex .infoArea .telBox .telNo a .icon {
		max-width: 1.719vw;
		line-height: 1.641vw;
		margin-right: 0.469vw;
	}

	#header .headerFlex .infoArea .telBox .telNo a .tex {
		font-size: 2.031vw;
	}

	#header .headerFlex .infoArea .telBox .time {
		font-size: 1.016vw;
	}

	#header .headerFlex .infoArea .button {
		width: 15.781vw;
		height: 4.063vw;
	}

	#header .headerFlex .infoArea .button a {
		padding: 0 1.484vw 0 0;
		border-radius: 0.313vw;
	}

	#header .headerFlex .infoArea .button a .tex {
		font-size: 1.25vw;
	}

	#header .headerFlex .infoArea .button a .arrow {
		max-width: 1.328vw;
		height: 0.625vw;
		right: 1.406vw;
	}

	#header .headerFlex .infoArea .button a .arrow:before {
		max-width: 1.328vw;
		height: 0.625vw;
	}

	#header .headerFlex .infoArea .button a .arrow:after {
		max-width: 1.328vw;
		height: 0.625vw;
	}

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

	#footer {
		padding: 9.375vw 0 2.5vw 0;
	}

	#footer .inner {
		max-width: 85.938vw;
	}

	#footer .footerFlex {
		margin-bottom: 8.047vw;
	}

	#footer .footerFlex .logoArea {
		width: 33.438vw;
	}

	#footer .footerFlex .logoArea .logo {
		max-width: 15.547vw;
		margin-bottom: 4.688vw;
	}

	#footer .footerFlex .logoArea .footTex {
		max-width: 25vw;
	}

	#footer .footerFlex .conts {
		width: calc(100% - 33.438vw);
	}

	#footer .footerFlex .conts p {
		font-size: 1.719vw;
	}

	#footer .footerNav {
		margin-bottom: 2.969vw;
	}

	#footer .footerNav nav ul li {
		margin-left: 3.984vw;
	}

	#footer .footerNav nav ul li a {
		font-size: 1.094vw;
	}

	#footer .copy p {
		font-size: 0.859vw;
	}

	/*----------------------------------------------------
	#movie
	----------------------------------------------------*/

	#movie .movieTex {
		max-width: 60.938vw;
	}

	#movie .bottomTex {
		max-width: 77.266vw;
	}

	#movie .bottomTex img {
		opacity: 0.4;
	}

	#movie .slipTex {
		right: 7.109vw;
		bottom: 3.828vw;
		max-width: 3.594vw;
		line-height: 1.328vw;
	}

	#movie .countFlex {
		width: 88.828vw;
	}

	#movie .countFlex .box {
		width: 29.609vw;
	}

	#movie .countFlex .box .head h3 b {
		font-size: 2.188vw;
		margin-bottom: 1.406vw;
	}

	#movie .countFlex .box .head h3 small {
		font-size: 1.563vw;
	}

	#movie .countFlex .box .coutNo .noTop {
		margin-bottom: 2.578vw;
	}

	#movie .countFlex .box .coutNo .noTop p b {
		font-size: 7.813vw;
	}

	#movie .countFlex .box .coutNo .noTop p small {
		font-size: 1.875vw;
		transform: translateY(-1.016vw);
		-webkit-transform: translateY(-1.016vw);
		-moz-transform: translateY(-1.016vw);
	}

	#movie .countFlex .box .coutNo .arrow {
		max-width: 4.375vw;
		margin: 0 auto 1.484vw;
	}

	#movie .countFlex .box.box01 .coutNo .countBottom p {
		width: 22.491vw;
	}

	#movie .countFlex .box.box02 .coutNo .countBottom p {
		width: 25.719vw;
	}

	#movie .countFlex .box.box03 .coutNo .countBottom p {
		width: 23.502vw;
	}

	#movie .countFlex .box .coutNo .countBottom p b {
		font-size: 10.156vw;
	}

	#movie .countFlex .box .coutNo .countBottom p small {
		font-size: 2.813vw;
		transform: translateY(-1.406vw);
		-webkit-transform: translateY(-1.406vw);
		-moz-transform: translateY(-1.406vw);
	}

	#movie .countFlex .box.box01 .coutNo .arrow {
		transform: translateX(-0.703vw);
		-webkit-transform: translateX(-0.703vw);
		-moz-transform: translateX(-0.703vw);
	}

	#movie .countFlex .box.box02 .coutNo .noTop p {
		padding: 0 0 0 3.594vw;
	}

	#movie .countFlex .box.box02 .coutNo .countBottom p {
		padding: 0 0 0 1.719vw;
	}

	#movie .countFlex .box.box03 .head h3 small {
		transform: translateX(0.703vw);
		-webkit-transform: translateX(0.703vw);
		-moz-transform: translateX(0.703vw);
	}

	#movie .countFlex .box.box03 .coutNo .noTop p {
		padding: 0 0 0 0.859vw;
	}

	#movie .countFlex .box.box03 .coutNo .arrow {
		transform: translateX(0.469vw);
		-webkit-transform: translateX(0.469vw);
		-moz-transform: translateX(0.469vw);
	}

	#movie .countFlex .box.box03 .coutNo .countBottom p {
		padding: 0 0 0 1.719vw;
	}

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

	#visual {
		padding: 15.391vw 0 0 0;
	}

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

	#visual .visualFlex .contents {
		width: 39.063vw;
	}

	#visual .visualFlex .contents .subHead {
		margin-bottom: 1.484vw;
	}

	#visual .visualFlex .contents .subHead small {
		font-size: 1.563vw;
		margin-bottom: 1.172vw;
	}

	#visual .visualFlex .contents .subHead b .small {
		font-size: 1.406vw;
	}

	#visual .visualFlex .contents .subHead b .big {
		font-size: 2.031vw;
	}

	#visual .visualFlex .contents h2 {
		margin-bottom: 2.5vw;
	}

	#visual .visualFlex .contents h2 .top {
		margin-bottom: 1.563vw;
	}

	#visual .visualFlex .contents h2 .top .tex01 {
		font-size: 5.917vw;
	}

	#visual .visualFlex .contents h2 .top .tex02 {
		font-size: 3.034vw;
	}

	#visual .visualFlex .contents h2 .top .tex03 {
		font-size: 5.159vw;
	}

	#visual .visualFlex .contents h2 .bottom .tex04 {
		font-size: 5.159vw;
	}

	#visual .visualFlex .contents .oracleTex {
		margin-bottom: 4.063vw;
		max-width: 25vw;
	}

	#visual .visualFlex .texArea {
		padding: 0 0.391vw 0 0;
		transform: translateY(5.938vw);
		-webkit-transform: translateY(5.938vw);
		-moz-transform: translateY(5.938vw);
	}

	#visual .visualFlex .texArea p .tex01 {
		font-size: 1.563vw;
		margin-bottom: 1.406vw;
	}

	#visual .visualFlex .texArea p .tex02 {
		font-size: 1.563vw;
		margin-bottom: 1.406vw;
	}

	#visual .visualFlex .texArea p .tex02 .grade {
		font-size: 2.344vw;
	}

	#visual .visualFlex .texArea p .tex03 {
		font-size: 2.969vw;
		margin-bottom: 1.328vw;
	}

	#visual .visualFlex .texArea p .tex03 .grade span {
		margin: 0 -1.25vw;
	}

	#visual .visualFlex .texArea p .tex04 {
		font-size: 1.563vw;
		margin-bottom: 1.484vw;
	}

	#visual .visualFlex .texArea p .tex04 .grade {
		font-size: 2.969vw;
		padding: 0 0.547vw 0 0;
	}

	#visual .visualFlex .texArea p .tex05 {
		font-size: 1.563vw;
	}

	#visual .visualFlex .triangleArea {
		width: 41.328vw;
		top: -3.75vw;
	}

	#visual .visualFlex .triangleArea:before {
		width: 0.156vw;
		height: 49.609vw;
		right: 24.922vw;
	}

	#visual .visualFlex .triangleArea:after {
		width: 0.156vw;
		height: 49.609vw;
		right: -0.078vw;
	}

	#visual .visualFlex .triangleArea .triangle01 {
		max-width: 29.727vw;
	}

	#visual .visualFlex .triangleArea .triangle02 {
		max-width: 25vw;
		top: 0.156vw;
	}

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

	#about {
		padding: 19.609vw 0 0 0;
	}

	#about .texArea {
		padding: 0 0 0 1.094vw;
	}

	#about .texArea .texPosition {
		width: 63.438vw;
	}

	#about .texArea p {
		font-size: 3.438vw;
	}

	#about .texArea p .grade {
		font-size: 3.594vw;
	}

	#about .texArea p .grade.big {
		font-size: 4.844vw;
	}

	#about .texArea p .grade .position {
		margin: 0 -2.266vw;
	}

	#about .texArea p .texHeight {
		transform: translateY(-1.016vw);
		-webkit-transform: translateY(-1.016vw);
		-moz-transform: translateY(-1.016vw);
	}

	#about .texArea p .leftM {
		display: inline-block;
		transform: translateX(-1.719vw);
		-webkit-transform: translateX(-1.719vw);
		-moz-transform: translateX(-1.719vw);
	}

	#about .texArea p .leftM2 {
		display: inline-block;
		transform: translateX(-1.094vw);
		-webkit-transform: translateX(-1.094vw);
		-moz-transform: translateX(-1.094vw);
	}

	#about .texArea p .letterM {
		letter-spacing: 0.0479em;
	}

	/*----------------------------------------------------
	#whats
	----------------------------------------------------*/

	#whats {
		padding: 10.938vw 0 0 0;
	}

	#whats .inner {
		max-width: 82.109vw;
	}

	#whats .whatsFlex {
		margin-bottom: 16.719vw;
	}

	#whats .whatsFlex .head {
		width: 14.063vw;
	}

	#whats .whatsFlex .head h2 {
		font-size: 2.5vw;
		top: 0.781vw;
	}

	#whats .whatsFlex .conts {
		width: 58.125vw;
		padding: 0.156vw 0 0 0;
	}

	#whats .whatsFlex .conts p {
		font-size: 1.719vw;
		margin-bottom: 3.438vw;
	}

	#whats .whatsFlex .conts p.big {
		font-size: 4.531vw;
		margin-top: 4.375vw;
	}

	#whats .whatsFlex .conts p.big span:nth-child(5) {
		margin: 0 0 0 -1.562vw;
	}

	#whats .whatsFlex .conts p.big span:nth-child(12) {
		margin: 0 -0.703vw 0 -1.25vw;
	}

	#whats .whatsFlex .conts p.big span:nth-child(14) {
		margin: 0 -1.875vw 0 -0.156vw;
	}

	#whats .slideTex .slide {
		max-width: 94.766vw;
		margin: 0 2.344vw;
	}

	/*----------------------------------------------------
	#service
	----------------------------------------------------*/

	#service {
		padding: 12.5vw 0 24.063vw 0;
	}

	#service .serviceFlex {
		margin-bottom: 6.484vw;
		padding: 0 2.891vw 0 0;
	}

	#service .serviceFlex .conts {
		width: calc(100% - 32.813vw);
	}

	#service .serviceFlex .conts .head {
		margin-bottom: 4.844vw;
	}

	#service .serviceFlex .conts .head h2 {
		font-size: 2.5vw;
		margin-bottom: 8.125vw;
	}

	#service .serviceFlex .conts .head p {
		font-size: 1.875vw;
	}

	#service .serviceFlex .conts .subHead h3 {
		margin-bottom: 3.281vw;
	}

	#service .serviceFlex .conts .subHead h3 small {
		font-size: 2.5vw;
		margin-bottom: 0.391vw;
	}

	#service .serviceFlex .conts .subHead h3 small span {
		font-size: 1.641vw;
	}

	#service .serviceFlex .conts .subHead h3 b {
		font-size: 5.625vw;
		transform: translateX(-3.75vw);
		-webkit-transform: translateX(-3.75vw);
		-moz-transform: translateX(-3.75vw);
	}

	#service .serviceFlex .conts .subHead h3 b span {
		margin: 0 -1.641vw 0 -1.172vw;
	}

	#service .serviceFlex .conts .subHead p {
		font-size: 1.328vw;
	}

	#service .serviceFlex .image {
		width: 31.25vw;
		margin-top: 5.234vw;
	}

	#service .choose .head {
		margin-bottom: 2.813vw;
	}

	#service .choose .head h3 {
		font-size: 2.5vw;
	}

	#service .choose .chooseFlex .box {
		width: 48.2%;
		height: 18.281vw;
	}

	#service .choose .chooseFlex .box a {
		padding: 3.672vw 3.359vw 0 2.344vw;
		border-radius: 0.938vw;
		box-shadow: 0 1.563vw 2.5vw rgba(0,0,0,0.25);
	}

	#service .choose .chooseFlex .box a .texFlex {
		margin-bottom: 2.344vw;
	}

	#service .choose .chooseFlex .box a .texFlex h4 b {
		font-size: 2.813vw;
		margin-right: 1.875vw;
	}

	#service .choose .chooseFlex .box a .texFlex h4 small {
		font-size: 2.188vw;
		transform: translateY(-0.547vw);
		-webkit-transform: translateY(-0.547vw);
		-moz-transform: translateY(-0.547vw);
	}

	#service .choose .chooseFlex .box a .texFlex h4 small .grade {
		margin: 0 -0.859vw 0 0;
	}

	#service .choose .chooseFlex .box a .texFlex h4 small .grade span {
		margin: 0 -0.703vw 0 -0.391vw;
	}

	#service .choose .chooseFlex .box a .linkNav .tex {
		font-size: 1.563vw;
		margin-right: 1.328vw;
	}

	#service .choose .chooseFlex .box a .linkNav .arrow {
		width: 1.016vw;
		line-height: 2.188vw;
	}

	#service .choose .chooseFlex .box a .linkNav .arrow:after {
		width: 1.016vw;
		height: 2.188vw;
	}

	/*----------------------------------------------------
	#strengths
	----------------------------------------------------*/

	#strengths {
		margin-top: -14.609vw;
		padding: 10vw 0 6.484vw 0;
		border-radius: 15.625vw 1.563vw 1.563vw 1.563vw;
	}

	#strengths .head {
		margin-bottom: 2.188vw;
	}

	#strengths .head h2 {
		font-size: 2.5vw;
		margin-bottom: 4.375vw;
	}

	#strengths .head p {
		font-size: 3.438vw;
	}

	#strengths .strengthsList .listHead {
		margin-bottom: 1.406vw;
	}

	#strengths .strengthsList .listHead h3 {
		transform: translateX(-0.938vw);
		-webkit-transform: translateX(-0.938vw);
		-moz-transform: translateX(-0.938vw);
	}

	#strengths .strengthsList .listHead h3 > small {
		font-size: 1.875vw;
	}

	#strengths .strengthsList .listHead h3 > small span {
		margin: 0 -0.781vw 0 0;
	}

	#strengths .strengthsList .listHead h3 .bottom b {
		font-size: 3.438vw;
	}

	#strengths .strengthsList .listHead h3 .bottom small {
		font-size: 1.875vw;
	}

	#strengths .strengthsList .scrollList {
		margin-bottom: 4.531vw;
	}

	#strengths .strengthsList .scrollList .listFlex .box {
		width: 16.094vw;
		height: 30.547vw;
		border: 0.156vw solid #000;
		border-radius: 19.375vw;
		padding: 3.906vw 0 0 0;
	}

	#strengths .strengthsList .scrollList .listFlex .box .no {
		font-size: 2.031vw;
		margin-bottom: 2.734vw;
	}

	#strengths .strengthsList .scrollList .listFlex .box h4 {
		font-size: 2.031vw;
		margin-bottom: 3.984vw;
	}

	#strengths .strengthsList .scrollList .listFlex .box p {
		font-size: 1.172vw;
	}

	#strengths .strengthsList .listArrow {
		max-width: 4.375vw;
		margin: 0 auto 2.5vw;
	}

	#strengths .strengthsList .afterTex p {
		font-size: 2.188vw;
	}

	#strengths .strengthsList .afterTex p .grade {
		font-size: 3.125vw;
	}

	/*----------------------------------------------------
	#problem
	----------------------------------------------------*/

	#problem {
		padding: 5.938vw 0 24.063vw 0;
	}

	#problem .faqHead {
		margin-bottom: 9.141vw;
	}

	#problem .faqHead h2 b {
		font-size: 12.5vw;
		margin-bottom: 1.719vw;
	}

	#problem .faqHead h2 small {
		font-size: 2.344vw;
	}

	#problem .head {
		margin-bottom: 4.688vw;
	}

	#problem .head h3 {
		font-size: 2.5vw;
		margin-bottom: 4.375vw;
	}

	#problem .head p.smallTex {
		font-size: 1.563vw;
		margin: 0 0 1.094vw -0.312vw;
	}

	#problem .head p.bigTex {
		font-size: 3.438vw;
		margin: 0 0 0 1.172vw;
	}

	#problem .head p.bigTex span {
		margin: 0 -1.719vw 0 -3.359vw;
	}

	#problem .problemListArea {
		max-width: 71.719vw;
	}

	#problem .problemListArea .listHead {
		margin-bottom: 2.266vw;
	}

	#problem .problemListArea .listHead h4 {
		font-size: 1.406vw;
	}

	#problem .problemListArea .listImage {
		max-width: 22.969vw;
		margin: 0 auto 24.141vw;
	}

	#problem .problemListArea .problemList .box h5 {
		font-size: 1.172vw;
		margin-bottom: 0.703vw;
	}

	#problem .problemListArea .problemList .box p {
		font-size: 1.563vw;
	}

	#problem .problemListArea .problemList .box.box01 {
		width: 17.188vw;
		height: 17.188vw;
		padding: 3.672vw 0 0 2.031vw;
		border: 0.156vw solid #DC0017;
		border-radius: 4.688vw 4.688vw 0.938vw 4.688vw;
		left: 4.297vw;
		top: 3.75vw;
	}

	#problem .problemListArea .problemList .box.box02 {
		width: 17.188vw;
		height: 17.188vw;
		padding: 3.672vw 0 0 2.031vw;
		border: 0.156vw solid #DC0017;
		border-radius: 4.688vw 4.688vw 4.688vw 0.938vw;
		right: 3.984vw;
		top: 7.734vw;
	}

	#problem .problemListArea .problemList .box.box03 {
		width: 17.188vw;
		height: 17.188vw;
		padding: 2.422vw 0 0 2.031vw;
		border: 0.156vw solid #DC0017;
		border-radius: 4.688vw 0.938vw 4.688vw 4.688vw;
		left: 0.156vw;
		top: 24.531vw;
	}

	#problem .problemListArea .problemList .box.box04 {
		width: 17.188vw;
		height: 17.188vw;
		padding: 2.734vw 0 0 2.031vw;
		border: 0.156vw solid #DC0017;
		border-radius: 0.938vw 4.688vw 4.688vw 4.688vw;
		right: 8.984vw;
		top: 29.219vw;
	}

	#problem .problemListArea .problemList .box.box05 {
		width: 17.188vw;
		height: 17.188vw;
		padding: 2.578vw 0 0 2.031vw;
		border: 0.156vw solid #DC0017;
		border-radius: 4.688vw 0.938vw 4.688vw 4.688vw;
		left: 20.313vw;
		top: 33.125vw;
	}

	#problem .listArrow {
		max-width: 4.375vw;
		margin: 0 auto 3.125vw;
	}

	#problem .afterTex p {
		font-size: 2.188vw;
	}

	#problem .afterTex p .grade {
		font-size: 3.125vw;
	}

	/*----------------------------------------------------
	#method
	----------------------------------------------------*/

	#method {
		margin-top: -15vw;
		padding: 9.766vw 0 7.578vw 0;
		border-radius: 1.563vw 15.625vw 1.563vw 1.563vw;
	}

	#method .head {
		margin-bottom: 4.922vw;
	}

	#method .head h2 small {
		font-size: 1.563vw;
		margin: 0 0 0.859vw -0.312vw;
	}

	#method .head h2 b {
		font-size: 3.125vw;
	}

	#method .head h2 b .grade {
		font-size: 4.063vw;
	}

	#method .head h2 b .grade span {
		margin: 0 -1.25vw;
	}

	#method .head h2 b .grade span:last-child {
		margin: 0 -0.859vw;
	}

	#method .methodList {
		margin-bottom: 6.172vw;
	}

	#method .methodList .box {
		width: 27.578vw;
		padding: 3.75vw 0 4.453vw 0;
		border-radius: 1.563vw;
		box-shadow: 0 1.563vw 1.875vw rgba(0,0,0,0.04);
	}

	#method .methodList .box .boxHead {
		margin-bottom: 2.266vw;
	}

	#method .methodList .box .boxHead h3 {
		margin-bottom: 1.797vw;
	}

	#method .methodList .box .boxHead h3 small {
		font-size: 1.719vw;
		margin-bottom: 1.563vw;
	}

	#method .methodList .box .boxHead h3 b {
		font-size: 4.063vw;
	}

	#method .methodList .box .boxHead p {
		font-size: 1.328vw;
	}

	#method .methodList .box .boxArrow {
		max-width: 2.578vw;
		margin: 0 auto 1.641vw;
	}

	#method .methodList .box .boxConts p {
		font-size: 1.563vw;
	}

	#method .afterTex p {
		font-size: 2.188vw;
	}

	#method .afterTex p .grade {
		font-size: 3.125vw;
		margin: 0 -1.094vw 0 -2.187vw;
	}

	/*----------------------------------------------------
	#menu
	----------------------------------------------------*/

	#menu {
		padding: 8.984vw 0 7.813vw 0;
	}

	#menu .head {
		margin-bottom: 6.25vw;
	}

	#menu .head h2 {
		font-size: 2.5vw;
		margin-bottom: 4.063vw;
	}

	#menu .head h3 {
		font-size: 3.438vw;
		margin-bottom: 2.266vw;
	}

	#menu .head p {
		font-size: 1.25vw;
	}

	#menu .menuList .box {
		height: 45vw;
	}

	#menu .menuList .box a {
		padding: 3.672vw 3.359vw 0 2.344vw;
		border-radius: 0.938vw;
		box-shadow: 0 1.563vw 2.5vw rgba(220,15,0,0.2);
	}

	#menu .menuList .box a .boxConts .noTex {
		font-size: 3.75vw;
		margin-bottom: 1.172vw;
	}

	#menu .menuList .box a .boxConts .boxHead {
		margin-bottom: 1.641vw;
	}

	#menu .menuList .box a .boxConts .boxHead h4 {
		font-size: 2.5vw;
	}

	#menu .menuList .box a .boxConts .boxHead h4 .grade {
		margin: 0 -0.781vw 0 0;
	}

	#menu .menuList .box a .boxConts .boxHead h4 .grade span {
		margin: 0 -0.703vw 0 -0.625vw;
	}

	#menu .menuList .box a .boxConts p {
		font-size: 1.172vw;
	}

	#menu .menuList .box a .boxConts .exampleTex {
		margin-bottom: 2.891vw;
	}

	#menu .menuList .box a .boxConts .exampleTex p {
		font-size: 1.563vw;
	}

	#menu .menuList .box a .linkNav {
		border-top: 0.078vw solid #cccccc;
		padding: 2.578vw 0 3.203vw;
	}

	#menu .menuList .box a .linkNav .tex {
		font-size: 1.719vw;
		margin-right: 1.719vw;
	}

	#menu .menuList .box a .linkNav .arrow {
		width: 1.016vw;
		line-height: 2.188vw;
	}

	#menu .menuList .box a .linkNav .arrow:after {
		width: 1.016vw;
		height: 2.188vw;
	}

	/*----------------------------------------------------
	#message
	----------------------------------------------------*/

	#message {
		padding: 11.016vw 0 21.953vw 0;
	}

	#message .bg01 {
		max-width: 7.969vw;
		height: 14.688vw;
		right: 10.703vw;
		top: 6.484vw;
	}

	#message .bg01.blur {
		filter: blur(0.313vw);
	}

	#message .bg02 {
		max-width: 11.719vw;
		left: 7.734vw;
		top: 38.828vw;
	}

	#message .bg02.blur {
		filter: blur(0.781vw);
	}

	#message .bg03 {
		max-width: 21.094vw;
		right: 3.906vw;
		bottom: 1.172vw;
	}

	#message .bg03.blur {
		filter: blur(1.25vw);
	}

	#message .inner {
		max-width: 58.984vw;
	}

	#message .head {
		margin-bottom: 7.656vw;
	}

	#message .head h2 {
		font-size: 2.5vw;
	}

	#message .conts p {
		font-size: 1.875vw;
		margin-bottom: 4.141vw;
	}

	#message .conts p.bigtex {
		font-size: 3.594vw;
		margin-top: 4.922vw;
	}

	#message .conts p.bigtex span {
		margin: 0 -1.484vw 0 -1.406vw;
	}

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

	#contact {
		padding: 0 0 9.375vw 0;
	}

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

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

	#contact .head h2 b {
		font-size: 10.938vw;
		transform: translateX(-0.703vw);
		-webkit-transform: translateX(-0.703vw);
		-moz-transform: translateX(-0.703vw);
		margin-bottom: 1.25vw;
	}

	#contact .head h2 small {
		font-size: 1.563vw;
		transform: translateX(-0.313vw);
		-webkit-transform: translateX(-0.313vw);
		-moz-transform: translateX(-0.313vw);
	}

	#contact .head p {
		font-size: 1.25vw;
		transform: translateX(-0.313vw);
		-webkit-transform: translateX(-0.313vw);
		-moz-transform: translateX(-0.313vw);
	}

	#contact .formBox {
		width: 73.438vw;
		padding: 6.484vw 7.813vw 7.813vw;
		border-radius: 0.938vw;
		box-shadow: 0 1.563vw 2.5vw rgba(220,15,0,0.2);
	}

	#contact .formBox dl.formSec01 {
		padding: 0 0 2.656vw 0;
	}

	#contact .formBox dl.formSec02 {
		padding: 0 0 3.359vw 0;
	}

	#contact .formBox dl.formSec03 {
		padding: 0 0 3.359vw 0;
	}

	#contact .formBox dl.formSec04 {
		padding: 0 0 3.359vw 0;
	}

	#contact .formBox dl.formSec05 {
		padding: 0 0 3.438vw 0;
	}

	#contact .formBox dl.formSec06 {
		padding: 0 0 2.266vw 0;
	}

	#contact .formBox dl dt {
		display: flex;
		padding: 0 0 0.703vw 0;
	}

	#contact .formBox dl dt .boxTex {
		font-size: 1.25vw;
	}

	#contact .formBox dl dt .required {
		width: 3.672vw;
		height: 1.797vw;
		border-radius: 0.313vw;
		margin-left: 0.859vw;
		transform: translateY(-0.234vw);
		-webkit-transform: translateY(-0.234vw);
		-moz-transform: translateY(-0.234vw);
	}

	#contact .formBox dl dt .required span {
		font-size: 1.094vw;
	}

	#contact .formBox dl dd input[type="text"],
	#contact .formBox dl dd input[type="tel"],
	#contact .formBox dl dd input[type="email"] {
		height: 5.234vw;
		background: #fff;
		border: 0.078vw solid #000;
		border-radius: 0.625vw;
		padding: 0 0 0 1.25vw;
		font-size: 1.25vw;
	}

	#contact .formBox dl dd textarea {
		height: 15.625vw;
		background: #fff;
		border: 0.078vw solid #000;
		border-radius: 0.625vw;
		padding: 1.25vw;
		font-size: 1.25vw;
	}

	#contact .formBox dl dd .checkLabel {
		height: 5.234vw;
		border: 0.078vw solid #000;
		border-radius: 0.625vw;
		margin-bottom: 0.625vw;
		padding: 0 0 0 4.297vw;
	}

	#contact .formBox dl dd .checkLabel.active {
		border: 0.156vw solid #DC0017;
	}

	#contact .formBox dl dd .checkLabel .tex {
		font-size: 1.25vw;
	}

	#contact .formBox dl dd .checkLabel > i {
		width: 1.563vw;
		height: 1.563vw;
		margin-right: 0.313vw;
		border: 0.078vw solid #000000;
		top: calc(1.641vw + 0.7em);
		left: 1.406vw;
	}

	#contact .formBox dl dd .checkLabel > i::after {
		width: 0.781vw;
		height: 0.781vw;
	}

	#contact .formBox dl dd.radioList label {
		height: 5.234vw;
		border: 0.078vw solid #000;
		border-radius: 0.625vw;
		margin-bottom: 0.625vw;
		padding: 0 0 0 4.297vw;
	}

	#contact .formBox dl dd.radioList label .wpcf7-list-item-label {
		font-size: 1.25vw;
	}

	#contact .formBox dl dd.radioList label .wpcf7-list-item-label:before {
		width: 1.563vw;
		height: 1.563vw;
		margin-right: 0.313vw;
		border: 0.078vw solid #000000;
		left: -2.891vw;
	}

	#contact .formBox dl dd.radioList label .wpcf7-list-item-label::after {
		left: -2.5vw;
		width: 0.781vw;
		height: 0.781vw;
	}

	#contact .formBox .policyCheck {
		margin-bottom: 3.828vw;
	}

	#contact .formBox .policyCheck label {
		padding-top: 0.859vw;
		padding-bottom: 0.859vw;
		padding-left: 2.891vw;
		font-size: 1.406vw;
	}

	#contact .formBox .policyCheck label i {
		width: 1.641vw;
		height: 1.641vw;
		border: 0.078vw solid #000;
		top: calc(1.875vw + 0.7em);
		left: 0.156vw;
	}

	#contact .formBox .policyCheck label > i::after {
		width: 0.859vw;
		height: 0.625vw;
	}

	#contact .formBox .policyCheck label .tex {
		font-size: 1.25vw;
	}

	#contact .formBox .policyCheck label .tex .icon {
		max-width: 1.406vw;
		margin: 0 0.156vw 0 0.391vw;
		transform: translateY(0.313vw);
		-webkit-transform: translateY(0.313vw);
		-moz-transform: translateY(0.313vw);
	}

	#contact .formBox .policyCheck label .wpcf7-list-item-label:before {
		width: 1.641vw;
		height: 1.641vw;
		border: 1px solid #000;
		border-radius: 0.313vw;
		left: -2.734vw;
	}

	#contact .formBox .policyCheck label .wpcf7-list-item-label::after {
		left: -2.344vw;
		width: 0.859vw;
		height: 0.625vw;
	}

	#contact .formBox .policyCheck label .icon {
		max-width: 1.406vw;
		display: inline-block;
		margin: 0 0.156vw 0 0.391vw;
		transform: translateY(0.156vw);
		-webkit-transform: translateY(0.156vw);
		-moz-transform: translateY(0.156vw);
	}

	#contact .formBox #confirm {
		width: 33.594vw;
		height: 8.281vw;
		border-radius: 0.625vw;
	}

	#contact .formBox #confirm .tex {
		font-size: 1.953vw;
		transform: translateX(-0.547vw) translateY(-0.078vw);
		-webkit-transform: translateX(-0.547vw) translateY(-0.078vw);
		-moz-transform: translateX(-0.547vw) translateY(-0.078vw);
	}

	#contact .formBox #confirm .arrow {
		max-width: 2.578vw;
		height: 1.25vw;
		right: 2.5vw;
	}

	#contact .formBox #confirm .arrow:before {
		width: 2.578vw;
		height: 1.25vw;
	}

	#contact .formBox #confirm .arrow:after {
		width: 2.578vw;
		height: 1.25vw;
	}

	#contact .formBox .confirm {
		width: 33.594vw;
		height: 8.281vw;
	}

	#contact .formBox .confirm input {
		height: 8.281vw;
		font-size: 1.953vw;
		border-radius: 0.625vw;
	}

	#contact .formBox .confirm:before {
		width: 2.578vw;
		height: 1.25vw;
		right: 2.5vw;
	}

	/*----------------------------------------------------
	#confirm
	----------------------------------------------------*/

	#confirm {
		padding: 12.188vw 0 9.375vw 0;
	}

	#confirm .head {
		margin-bottom: 4.688vw;
	}

	#confirm .head h2 {
		margin-bottom: 1.719vw;
	}

	#confirm .head h2 b {
		font-size: 2.5vw;
		transform: translateX(-0.234vw);
		-webkit-transform: translateX(-0.234vw);
		-moz-transform: translateX(-0.234vw);
		margin-bottom: 4.375vw;
	}

	#confirm .head h2 small {
		font-size: 3.438vw;
		transform: translateX(-0.313vw);
		-webkit-transform: translateX(-0.313vw);
		-moz-transform: translateX(-0.313vw);
	}

	#confirm .head p {
		font-size: 1.25vw;
		transform: translateX(-0.313vw);
		-webkit-transform: translateX(-0.313vw);
		-moz-transform: translateX(-0.313vw);
	}

	#confirm .formBox {
		width: 73.438vw;
		padding: 6.484vw 7.813vw 7.813vw;
		border-radius: 0.938vw;
		box-shadow: 0 1.563vw 2.5vw rgba(220,15,0,0.2);
	}

	#confirm .formBox dl.formSec01 {
		padding: 0 0 3.594vw 0;
	}

	#confirm .formBox dl.formSec02 {
		padding: 0 0 3.594vw 0;
	}

	#confirm .formBox dl.formSec03 {
		padding: 0 0 3.594vw 0;
	}

	#confirm .formBox dl.formSec04 {
		padding: 0 0 3.594vw 0;
	}

	#confirm .formBox dl.formSec05 {
		padding: 0 0 3.594vw 0;
	}

	#confirm .formBox dl.formSec06 {
		padding: 0 0 6.094vw 0;
	}

	#confirm .formBox dl dt {
		display: flex;
		padding: 0 0 1.406vw 0;
	}

	#confirm .formBox dl dt .boxTex {
		font-size: 1.25vw;
	}

	#confirm .formBox dl dd .boxTex {
		font-size: 1.406vw;
	}

	#confirm .formBox .buttonsArea #send {
		width: 33.594vw;
		height: 8.281vw;
		margin: 0 auto 2.344vw;
		border-radius: 0.625vw;
	}

	#confirm .formBox .buttonsArea #send .tex {
		font-size: 1.953vw;
		transform: translateX(0) translateY(-0.078vw);
		-webkit-transform: translateX(0) translateY(-0.078vw);
		-moz-transform: translateX(0) translateY(-0.078vw);
	}

	#confirm .formBox .buttonsArea #send .arrow {
		max-width: 2.578vw;
		height: 1.25vw;
		right: 2.5vw;
	}

	#confirm .formBox .buttonsArea #send .arrow:before {
		width: 2.578vw;
		height: 1.25vw;
	}

	#confirm .formBox .buttonsArea #send .arrow:after {
		width: 2.578vw;
		height: 1.25vw;
	}

	#confirm .formBox .buttonsArea .send {
		width: 33.594vw;
		height: 8.281vw;
		margin: 0 auto 2.344vw;
	}

	#confirm .formBox .buttonsArea .send input {
		font-size: 1.953vw;
		height: 8.281vw;
		border-radius: 0.625vw;
	}

	#confirm .formBox .buttonsArea .send:before {
		width: 2.578vw;
		height: 1.25vw;
		right: 2.5vw;
	}

	#confirm .formBox .buttonsArea #back {
		width: 33.594vw;
		height: 6.484vw;
		padding: 0 0 0 1.406vw;
		border-radius: 0.625vw;
	}

	#confirm .formBox .buttonsArea #back .tex {
		font-size: 1.953vw;
		transform: translateX(0.781vw) translateY(-0.078vw);
		-webkit-transform: translateX(0.781vw) translateY(-0.078vw);
		-moz-transform: translateX(0.781vw) translateY(-0.078vw);
	}

	#confirm .formBox .buttonsArea #back .arrow {
		max-width: 2.578vw;
		height: 1.25vw;
		left: 3.516vw;
	}

	#confirm .formBox .buttonsArea #back .arrow:before {
		width: 2.578vw;
		height: 1.25vw;
	}

	#confirm .formBox .buttonsArea #back .arrow:after {
		width: 2.578vw;
		height: 1.25vw;
	}

	#confirm .formBox .buttonsArea .back {
		width: 33.594vw;
		height: 6.484vw;
	}

	#confirm .formBox .buttonsArea .back input {
		font-size: 1.953vw;
		height: 6.484vw;
		border-radius: 0.625vw;
	}

	#confirm .formBox .buttonsArea .back:before {
		width: 2.578vw;
		height: 1.25vw;
		left: 3.438vw;
	}

	/*----------------------------------------------------
	#thanks
	----------------------------------------------------*/

	#thanks {
		padding: 15vw 0 12.5vw 0;
	}

	#thanks .inner {
		max-width: 46.25vw;
	}

	#thanks .head {
		margin-bottom: 4.531vw;
	}

	#thanks .head h2 {
		margin-bottom: 2.188vw;
	}

	#thanks .head h2 small {
		max-width: 4.844vw;
		margin: 0 auto 2.188vw;
	}

	#thanks .head h2 b {
		font-size: 5.625vw;
	}

	#thanks .head p {
		font-size: 1.563vw;
	}

	#thanks .conts p {
		font-size: 1.25vw;
	}

	#thanks .conts .backButton {
		width: 33.594vw;
		height: 6.484vw;
		margin: 6.406vw auto 0;
	}

	#thanks .conts .backButton a {
		border-radius: 0.625vw;
	}

	#thanks .conts .backButton a .tex {
		font-size: 1.953vw;
		transform: translateX(1.172vw) translateY(-0.078vw);
		-webkit-transform: translateX(1.172vw) translateY(-0.078vw);
		-moz-transform: translateX(1.172vw) translateY(-0.078vw);
	}

	#thanks .conts .backButton a .arrow {
		max-width: 2.578vw;
		height: 1.25vw;
		left: 3.516vw;
	}

	#thanks .conts .backButton a .arrow:before {
		width: 2.578vw;
		height: 1.25vw;
	}

	#thanks .conts .backButton a .arrow:after {
		width: 2.578vw;
		height: 1.25vw;
	}

}

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

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

	 .sp_hidden {
		display: none !important;
	}

	/*----------------------------------------------------
	fadeIn
	----------------------------------------------------*/

	.fadeIn {
		transform: translate3d(0, -2.667vw, 0);
		transition: 1s;
		opacity: 0;
	}

	.fadeIn.animated {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}

	/*----------------------------------------------------
	inner
	----------------------------------------------------*/

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

	/*----------------------------------------------------
	button
	----------------------------------------------------*/

	.button {
		width: 75.467vw;
		height: 17.067vw;
		margin: 0 auto 0;
	}

	.button a {
		padding: 0 3.733vw 0 0;
	}

	.button a .tex {
		font-size: 5.333vw;
    transform: translateX(-1.333vw);
		-webkit-transform: translateX(-1.333vw);
		-moz-transform: translateX(-1.333vw);
	}

	.button a .arrow {
		width: 100%;
		max-width: 7.2vw;
		height: 3.2vw;
		overflow: hidden;
		position: absolute;
		top: 50%;
		right: 6.667vw;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}

	.button a .arrow:before {
		content: '';
		width: 7.2vw;
		height: 3.2vw;
		background: url('../img/rightArrow-Big.svg') no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		animation-delay: 0s;
		animation-duration: 0.6s;
	}

	.button a .arrow:after {
		content: '';
		width: 7.2vw;
		height: 3.2vw;
		background: url('../img/rightArrow-Big.svg') no-repeat;
		position: absolute;
		left: 0;
		top: 0;
		animation-fill-mode: forwards;
		animation-duration: 0.6s;
		transform: translateX(-100%);
		-webkit-transform: translateX(-100%);
		-moz-transform: translateX(-100%);
	}

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

	#header {
		width: 100%;
		height: 19.2vw;
	}

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

	#header .headerFlex {
		position: relative;
		padding: 4.267vw 4.533vw 0 4.267vw;
		background: #fff;
		z-index: 10;
	}

	#header .headerFlex .logoArea a {
		display: flex;
		align-items: center;
	}

	#header .headerFlex .logoArea a .logo {
		max-width: 21.333vw;
		margin-right: 4vw;
	}

	#header .headerFlex .logoArea a .tex small {
		font-size: 2.933vw;
		margin-bottom: 1.067vw;
	}

	#header .headerFlex .logoArea a .tex b .small {
		font-size: 3.2vw;
	}

	#header .headerFlex .logoArea a .tex b .big {
		font-size: 4vw;
	}

	#header .spMenu {
		position: relative;
		width: 14.4vw;
		height: 9.6vw;
		background: #000;
		border-radius: 1.067vw;
	}

	#header .spMenu .btn-trigger {
		position: relative;
    top: 0.533vw;
    left: 5.067vw;
    width: 4.267vw;
    height: 3.733vw;
    cursor: pointer;
	}

	#header .spMenu .btn-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.533vw;
		background-color: #fff;
		border-radius: 1.067vw;
	}

	#header .spMenu .btn-trigger, .btn-trigger span {
		display: inline-block;
		transition: all .5s;
		box-sizing: border-box;
	}

	#header .spMenu .btn-trigger span:nth-of-type(1) {
		top: 0;
	}

	#header .spMenu .btn-trigger span:nth-of-type(2) {
		top: 1.6vw;
	}

	#header .spMenu .btn-trigger span:nth-of-type(3) {
		bottom: 0;
	}

	#header .spMenu .btn-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(1.6vw) rotate(-45deg);
		transform: translateY(1.6vw) rotate(-45deg);
	}

	#header .spMenu .btn-trigger.active span:nth-of-type(2) {
		left: 50%;
		opacity: 0;
		-webkit-animation: active-btn05-bar02 .8s forwards;
		animation: active-btn05-bar02 .8s forwards;
	}

	#header .spMenu .btn-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-1.6vw) rotate(45deg);
		transform: translateY(-1.6vw) rotate(45deg);
	}

	@-webkit-keyframes active-btn05-bar02 {
		100% {
			height: 0;
		}
	}

	@keyframes active-btn05-bar02 {
		100% {
			height: 0;
		}
	}

	#header .dropMenu {
		position: fixed;
		overflow-y: scroll;
		z-index: 11;
		top: 0;
		width: 100%;
		height: 100%;
		padding: 3.733vw 0 18.667vw;
		-webkit-overflow-scrolling: touch;
		transform: translateY(-100%);
		-webkit-transform: translateY(-100%);
		transition: all 0.6s ease 0s;
	}

	#header .dropMenu .dropBox {
		background: #fff;
		padding: 2.133vw 0 13.867vw 0;
		border-radius: 3.2vw;
		box-shadow: 0 5.333vw 8.533vw rgba(0,0,0,0.12);
	}

	#header .dropMenu .dropBox .spMenu {
		position: relative;
    width: 14.4vw;
    height: 9.6vw;
    background: #000;
    border-radius: 1.067vw;
    margin: 1.6vw 4.8vw 13.867vw auto;
	}

	#header .dropMenu .dropBox .spMenu .btn-trigger {
		position: relative;
    top: 0.533vw;
    left: 5.067vw;
    width: 4.267vw;
    height: 3.733vw;
    cursor: pointer;
	}

	#header .dropMenu .dropBox .spMenu .btn-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.533vw;
		background-color: #fff;
		border-radius: 1.067vw;
	}

	#header .dropMenu .dropBox .spMenu .btn-trigger, .btn-trigger span {
		display: inline-block;
		transition: all .5s;
		box-sizing: border-box;
	}

	#header .dropMenu .dropBox .spMenu .btn-trigger span:nth-of-type(1) {
		top: 0;
	}

	#header .dropMenu .dropBox .spMenu .btn-trigger span:nth-of-type(2) {
		top: 1.6vw;
	}

	#header .dropMenu .dropBox .spMenu .btn-trigger span:nth-of-type(3) {
		bottom: 0;
	}

	#header .dropMenu .dropBox .spMenu .btn-trigger span:nth-of-type(1) {
		-webkit-transform: translateY(1.6vw) rotate(-45deg);
		transform: translateY(1.6vw) rotate(-45deg);
	}

	#header .dropMenu .dropBox .spMenu .btn-trigger span:nth-of-type(2) {
		left: 50%;
		opacity: 0;
		-webkit-animation: active-btn05-bar02 .8s forwards;
		animation: active-btn05-bar02 .8s forwards;
	}

	#header .dropMenu .dropBox .spMenu .btn-trigger span:nth-of-type(3) {
		-webkit-transform: translateY(-1.6vw) rotate(45deg);
		transform: translateY(-1.6vw) rotate(45deg);
	}

	#header .dropMenu.active {
		transform: translateY(0%);
		-webkit-transform: translateY(0%);
	}

	#header .dropMenu .inner {
		width: calc(100% - 3.2rem);
	}

	#header .dropMenu .boxHead {
		display: flex;
		justify-content: center;
		color: #222222;
		margin-bottom: 15.2vw;
	}

	#header .dropMenu .boxHead .boxTex .top {
		margin-bottom: 1.6vw;
	}

	#header .dropMenu .boxHead .boxTex .top .tex01 {
		font-size: 9.6vw;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0;
	}

	#header .dropMenu .boxHead .boxTex .top .tex02 {
		font-size: 6.4vw;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0;
	}

	#header .dropMenu .boxHead .boxTex .top .tex03 {
		font-size: 8.533vw;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0;
	}

	#header .dropMenu .boxHead .boxTex .bottom .tex04 {
		font-size: 8.533vw;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0;
	}

	#header .dropMenu .infoHead {
		margin-bottom: 13.067vw;
	}

	#header .dropMenu .infoHead p {
		font-size: 6.4vw;
    font-weight: 500;
    line-height: 1;
    color: #000;
    font-family: "Inter", sans-serif;
    text-align: center;
	}

	#header .dropMenu .infoArea {
		display: flex;
		justify-content: center;
		margin-bottom: 10.4vw;
	}

	#header .dropMenu .telBox .telNo {
		display: flex;
		flex-direction: column;
		margin-bottom: 1.333vw;
	}

	#header .dropMenu .telBox .telNo a {
		display: flex;
		align-items: center;
		margin-bottom: 2.133vw;
	}

	#header .dropMenu .telBox .telNo a .icon {
		width: 8.8vw;
    line-height: 8.533vw;
    margin-right: 0.267vw;
    transform: translateX(-1.333vw);
		-webkit-transform: translateX(-1.333vw);
		-moz-transform: translateX(-1.333vw);
	}

	#header .dropMenu .telBox .telNo a .icon img {
		width: 100%;
	}

	#header .dropMenu .telBox .telNo a .tex {
		font-size: 8.533vw;
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0.04em;
		color: #333333;
		font-family: "Inter", sans-serif;
		white-space: nowrap;
	}

	#header .dropMenu .telBox .time {
		font-size: 4vw;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0;
		color: #333333;
		font-family: "Noto Sans", sans-serif;
	}

	#header .dropMenu .button {
		width: 80.8vw;
		height: 17.067vw;
		margin: 0 auto 0;
	}

	#header .dropMenu .button a {
		position: relative;
		width: 100%;
		height: 100%;
		padding: 0 5.067vw 0 0;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 1.067vw;
		background: #DA0505;
		background: -webkit-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
		background: -moz-linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
		background: linear-gradient(90deg, rgba(218, 5, 5, 1) 0%, rgba(251, 87, 87, 1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#DA0505", endColorstr="#FB5757", GradientType=1);
	}

	#header .dropMenu .button a .tex {
		font-size: 5.333vw;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    transform: translateX(-3.733vw);
		-webkit-transform: translateX(-3.733vw);
		-moz-transform: translateX(-3.733vw);
	}

	#header .dropMenu .button a .arrow {
		width: 100%;
    max-width: 7.2vw;
    height: 3.2vw;
    position: absolute;
    top: 50%;
    right: 12.533vw;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	}

	#header .dropMenu .button a .arrow:after {
		width: 7.2vw;
		height: 3.2vw;
		background: url('../img/rightArrow.svg') no-repeat;
		background-size: 100% auto;
	}

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

	#footer {
		padding: 16vw 0 8.533vw 0;
	}

	#footer .footerFlex {
		flex-direction: column;
		margin-bottom: 18.133vw;
	}

	#footer .footerFlex .logoArea {
		width: 100%;
		margin-bottom: 16vw;
		padding: 0 0 0 2.933vw;
	}

	#footer .footerFlex .logoArea .logo {
		max-width: 61.867vw;
	}

	#footer .footerFlex .logoArea .footTex {
		max-width: 84.267vw;
	}

	#footer .footerFlex .conts {
		width: 100%;
		padding: 0 2.667vw;
	}

	#footer .footerFlex .conts p {
		font-size: 4.8vw;
		line-height: 1.8;
	}

	#footer .footerNav {
		margin-bottom: 15.2vw;
	}

	#footer .footerNav nav ul {
		flex-direction: column;
		align-items: center;
	}

	#footer .footerNav nav ul li {
		margin-left: 0;
		margin-bottom: 6.667vw;
	}

	#footer .footerNav nav ul li:last-child {
		margin-bottom: 0;
	}

	#footer .footerNav nav ul li a {
		text-align: center;
	}

	/*----------------------------------------------------
	#movie
	----------------------------------------------------*/

	#movie {
		background: url('../img/movieBg-sp.jpg') center center no-repeat;
	}

	#movie .movieTex {
		max-width: 75.467vw;
		top: 49.5%;
		left: 49.5%;
	}

	#movie .slipTex {
		right: 10.667vw;
		bottom: 6.933vw;
	}

	#movie .countFlex {
		width: 100%;
		flex-direction: column;
		padding: 13.333vw 0 21.333vw;
	}

	#movie .countFlex .box {
		width: 79%;
		align-items: flex-start;
		margin: 0 auto 5.333vw;
	}

	#movie .countFlex .box.box02 {
		width: 89%;
	}

	#movie .countFlex .box.box03 {
		width: 82%;
		margin: 0 auto 0;
		padding: 0 0 0 1.6vw;
	}

	#movie .countFlex .box .head {
		width: 100%;
		margin-bottom: -1.867vw;
	}

	#movie .countFlex .box .head h3 b {
		margin-bottom: 0;
	}

	#movie .countFlex .box .leftBlock {
		display: flex;
	}

	#movie .countFlex .box .coutNo {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		width: 100%;
	}

	#movie .countFlex .box .coutNo .noTop {
		display: flex;
		justify-content: center;
		margin-bottom: 8.8vw;
	}

	#movie .countFlex .box .coutNo .noTop p {
		display: flex;
		align-items: flex-end;
		color: #fff;
		white-space: nowrap;
	}

	#movie .countFlex .box .coutNo .noTop p b {
		font-size: 13.333vw;
	}

	#movie .countFlex .box .coutNo .noTop p small {
		font-size: 4.8vw;
    transform: translateX(0.533vw) translateY(-1.6vw);
    -webkit-transform: translateX(0.533vw) translateY(-1.6vw);
    -moz-transform: translateX(0.533vw) translateY(-1.6vw);
	}

	#movie .countFlex .box .coutNo .arrow {
		width: 4.267vw;
		margin: 0 1.6vw 0 6.4vw;
	}

	#movie .countFlex .box.box02 .coutNo .arrow {
		margin: 0 2.667vw 0 2.933vw;
	}

	#movie .countFlex .box .coutNo .countBottom {
		display: flex;
		justify-content: center;
	}

	#movie .countFlex .box .coutNo .countBottom p {
		display: flex;
		align-items: flex-end;
		color: #fff;
		white-space: nowrap;
		width: initial !important;
	}

	#movie .countFlex .box .coutNo .countBottom p b {
		font-size: 19.733vw;
		letter-spacing: 0.05em;
	}

	#movie .countFlex .box .coutNo .countBottom p small {
		font-size: 6.4vw;
		transform: translateY(-2.133vw);
		-webkit-transform: translateY(-2.133vw);
		-moz-transform: translateY(-2.133vw);
	}

	#movie .countFlex .box.box01 .coutNo .arrow {
		transform: translateX(-2.4vw) translateY(0.533vw);
		-webkit-transform: translateX(-2.4vw) translateY(0.533vw);
		-moz-transform: translateX(-2.4vw) translateY(0.533vw);
	}

	#movie .countFlex .box.box02 .coutNo .arrow {
		transform: translateY(0.533vw);
		-webkit-transform: translateY(0.533vw);
		-moz-transform: translateY(0.533vw);
	}

	#movie .countFlex .box.box01 .coutNo .countBottom p b {
		letter-spacing: 0.05em;
	}

	#movie .countFlex .box.box02 .coutNo .noTop p {
		padding: 0 0 0 0;
	}

	#movie .countFlex .box.box02 .coutNo .countBottom p {
		padding: 0 0 0 0;
	}

	#movie .countFlex .box.box03 .head h3 small {
		transform: translateX(2.4vw);
		-webkit-transform: translateX(2.4vw);
		-moz-transform: translateX(2.4vw);
	}

	#movie .countFlex .box.box03 .coutNo .noTop p {
		padding: 0 0 0 2.933vw;
	}

	#movie .countFlex .box.box03 .coutNo .arrow {
		margin: 0 1.6vw 0 2.667vw;
		transform: translateY(0.533vw);
		-webkit-transform: translateY(0.533vw);
		-moz-transform: translateY(0.533vw);
	}

	#movie .countFlex .box.box03 .coutNo .countBottom p {
		padding: 0 0 0 0;
	}

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

	#visual {
		padding: 21.333vw 0 0 0;
	}

	#visual .visualFlex {
		padding: 62.4vw 0 0 0;
		flex-direction: column;
	}

	#visual .visualFlex .contents {
		width: 100%;
	}

	#visual .visualFlex .contents .subHead {
		display: flex;
		flex-direction: column;
		color: #222222;
		margin-bottom: 5.067vw;
	}

	#visual .visualFlex .contents .subHead small {
		font-size: 5.333vw;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0;
		margin-bottom: 4vw;
	}

	#visual .visualFlex .contents .subHead b {
		display: flex;
		align-items: flex-end;
		letter-spacing: 0;
	}

	#visual .visualFlex .contents .subHead b .small {
		font-size: 4.8vw;
		font-weight: 700;
		line-height: 1;
	}

	#visual .visualFlex .contents .subHead b .big {
		font-size: 6.933vw;
		font-weight: 700;
		line-height: 1;
	}

	#visual .visualFlex .contents h2 {
		color: #222222;
		margin-bottom: 4vw;
	}

	#visual .visualFlex .contents h2 .top {
		display: flex;
		align-items: flex-end;
		margin-bottom: 1.867vw;
	}

	#visual .visualFlex .contents h2 .top .tex01 {
		font-size: 13.867vw;
	}

	#visual .visualFlex .contents h2 .top .tex02 {
		font-size: 9.643vw;
	}

	#visual .visualFlex .contents h2 .top .tex03 {
		font-size: 11.467vw;
	}

	#visual .visualFlex .contents h2 .bottom .tex04 {
		font-size: 11.467vw;
	}

	#visual .visualFlex .contents .oracleTex {
		margin-bottom: 9.333vw;
		width: 100%;
		max-width: 80.533vw;
	}

	#visual .visualFlex .texArea {
		position: relative;
    margin-bottom: 9.867vw;
    padding: 0 0 0 0;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    z-index: 1;
	}

	#visual .visualFlex  .texArea p {
		display: flex;
		flex-direction: column;
		color: #222222;
		letter-spacing: -0.001em;
	}

	#visual .visualFlex .texArea p .tex01 {
		font-size: 4vw;
		margin-bottom: 3.733vw;
	}

	#visual .visualFlex .texArea p .tex02 {
		font-size: 4vw;
		margin-bottom: 4vw;
	}

	#visual .visualFlex .texArea p .tex02 .grade {
		font-size: 6.4vw;
	}

	#visual .visualFlex .texArea p .tex03 {
		font-size: 4vw;
		margin-bottom: 3.733vw;
		white-space: nowrap;
	}

	#visual .visualFlex .texArea p .tex03 .grade {
		font-size: 6.4vw;
	}

	#visual .visualFlex .texArea p .tex03 .grade span {
		margin: 0 -2.667vw;
	}

	#visual .visualFlex .texArea p .tex03 .grade span.m2 {
		margin: 0 -0.8vw;
	}

	#visual .visualFlex .texArea p .tex04 {
		font-size: 4vw;
		margin-bottom: 0;
	}

	#visual .visualFlex .triangleArea {
		width: 70.4vw;
    position: absolute;
    top: -1.067vw;
    left: 53.5%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 0;
	}

	#visual .visualFlex .triangleArea:before {
    height: 68.267vw;
    right: 41.333vw;
	}

	#visual .visualFlex .triangleArea:after {
    height: 68.267vw;
    right: 4.267vw;
	}

	#visual .visualFlex .triangleArea .triangle01 {
		width: 100%;
    max-width: 53.6vw;
    position: absolute;
    left: -2.133vw;
    top: -1.6vw;
    z-index: 1;
	}

	#visual .visualFlex .triangleArea .triangle01:before {
		content: '';
    width: 100%;
    height: 0.533vw;
    background: #fff;
    position: absolute;
    top: 1.6vw;
    right: -14.4vw;
	}

	#visual .visualFlex .triangleArea .triangle01:after {
		display: none;
	}

	#visual .visualFlex .triangleArea .triangle02 {
		width: 100%;
    max-width: 37.067vw;
    position: absolute;
    right: 4.533vw;
    top: 0.267vw;
	}


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

	#about {
		padding: 19.733vw 0 0 0;
		overflow: hidden;
	}

	#about .texArea {
		display: flex;
		justify-content: center;
		padding: 0 0 0 6.667vw;
	}

	#about .texArea p {
		font-size: 6.933vw;
		line-height: 1.85;
		white-space: nowrap;
	}

	#about .texArea p .grade {
		font-size: 8vw;
	}

	#about .texArea p .grade.big {
		font-size: 9.6vw;
		display: flex;
		transform: translate(0.2vw, -2.2vw);
		-webkit-transform: translate(0.2vw, -2.2vw);
		-moz-transform: translate(0.2vw, -2.2vw);
	}

	#about .texArea p .grade .position {
		margin: 0 -5.6vw;
	}

	#about .texArea p .texHeight {
		display: flex;
		transform: translateY(-0.267vw);
		-webkit-transform: translateY(-0.267vw);
		-moz-transform: translateY(-0.267vw);
		margin-bottom: -5.067vw;
	}

	#about .texArea p .leftM {
		display: inline-block;
		transform: translateX(-5.067vw);
		-webkit-transform: translateX(-5.067vw);
		-moz-transform: translateX(-5.067vw);
	}

	#about .texArea p .leftM2 {
		display: inline-block;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
	}


	/*----------------------------------------------------
	#whats
	----------------------------------------------------*/

	#whats {
		padding: 24.8vw 0 0 0;
	}

	#whats .whatsFlex {
		flex-direction: column;
		margin-bottom: 37.6vw;
	}

	#whats .whatsFlex .head {
		width: 100%;
		margin-bottom: 13.067vw;
	}

	#whats .whatsFlex .head h2 {
		font-size: 8.533vw;
		line-height: 1.5;
		position: relative;
		top: initial;
	}

	#whats .whatsFlex .conts {
		width: 100%;
		padding: 0.533vw 0 0 0;
	}

	#whats .whatsFlex .conts p {
		font-size: 4.8vw;
		margin-bottom: 9.6vw;
	}

	#whats .whatsFlex .conts p.big {
		font-size: 12vw;
    line-height: 1.5;
    font-family: "Zen Kaku Gothic New", sans-serif;
    margin-top: 12.8vw;
    margin-bottom: 0;
    padding: 0 0 0 2.667vw;
	}

	#whats .whatsFlex .conts p.big span:nth-child(5) {
		margin: 0 0 0 -8vw;
	}

	#whats .whatsFlex .conts p.big span:nth-child(11) {
		margin: 0 0 0 -1.867vw;
	}

	#whats .whatsFlex .conts p.big span:nth-child(12) {
    margin: 0 -3.2vw 0 -1.6vw;
	}

	#whats .slideTex .slide {
		width: 100%;
		max-width: 195.467vw;
		margin: 0 5.333vw;
	}

	/*----------------------------------------------------
	#service
	----------------------------------------------------*/

	#service {
		padding: 40.8vw 0 46.933vw 0;
		background: url('../img/serviceBg-sp.png') top center no-repeat;
		background-position: 0;
		background-size: cover;
	}

	#service .serviceFlex {
		flex-direction: column;
		margin-bottom: 22.133vw;
		padding: 0 0 0 0;
	}

	#service .serviceFlex .conts {
		width: 100%;
	}

	#service .serviceFlex .conts .head {
		margin-bottom: 11.467vw;
	}

	#service .serviceFlex .conts .head h2 {
		font-size: 8.533vw;
		letter-spacing: 0.03em;
		margin-bottom: 26.4vw;
	}

	#service .serviceFlex .conts .head p {
		font-size: 5.867vw;
		line-height: 1.8;
		letter-spacing: 0;
		white-space: nowrap;
	}

	#service .serviceFlex .conts .subHead h3 {
		margin-bottom: 15.2vw;
	}

	#service .serviceFlex .conts .subHead h3 small {
		font-size: 8vw;
		line-height: 1.5;
		margin-bottom: 5.333vw;
	}

	#service .serviceFlex .conts .subHead h3 small span {
		font-size: 4.8vw;
	}

	#service .serviceFlex .conts .subHead h3 b {
		font-size: 18.667vw;
		line-height: 1.2;
		white-space: nowrap;
		transform: translateX(-0.267vw);
		-webkit-transform: translateX(-0.267vw);
		-moz-transform: translateX(-0.267vw);
	}

	#service .serviceFlex .conts .subHead h3 b span {
		margin: 0 0 0 0;
	}

	#service .serviceFlex .conts .subHead h3 b span.ab01 {
		margin: 0 0 0 -9.333vw;
	}

	#service .serviceFlex .conts .subHead h3 b span.posi {
		margin: 0 0 0 7.2vw;
	}

	#service .serviceFlex .conts .subHead h3 b span.smallTex {
		margin: 0 -5.6vw 0 -4vw;
	}

	#service .serviceFlex .conts .subHead p {
		font-size: 4.533vw;
		letter-spacing: 0;
	}

	#service .serviceFlex .conts .subHead p strong {
		font-weight: 700;
	}

	#service .serviceFlex .image {
		width: 78.667vw;
    margin: 16vw auto 0;
	}

	#service .choose .head {
		margin-bottom: 9.6vw;
	}

	#service .choose .head h3 {
		font-size: 7.467vw;
		line-height: 1.7;
	}

	#service .choose .chooseFlex {
		flex-direction: column;
	}

	#service .choose .chooseFlex .box {
		width: 100%;
		height: 70.933vw;
		margin-bottom: 6.4vw;
	}

	#service .choose .chooseFlex .box a {
		padding: 9.867vw 5.333vw 0 5.333vw;
	}

	#service .choose .chooseFlex .box a .texFlex {
		margin-bottom: 5.6vw;
		padding: 0 0 0 0.267vw;
	}

	#service .choose .chooseFlex .box a .texFlex h4 b {
		font-size: 8.533vw;
		margin-right: 3.733vw;
	}

	#service .choose .chooseFlex .box a .texFlex h4 small {
		font-size: 6.933vw;
		line-height: 1.5;
		transform: translateY(-1.333vw);
		-webkit-transform: translateY(-1.333vw);
		-moz-transform: translateY(-1.333vw);
	}

	#service .choose .chooseFlex .box a .texFlex h4 small .posi {
		margin: 0 0 0 -2.133vw;
	}

	#service .choose .chooseFlex .box a .texFlex h4 small .grade {
		margin: 0 -2.933vw 0 0;
	}

	#service .choose .chooseFlex .box a .texFlex h4 small .grade span {
		margin: 0 -2.4vw 0 -1.333vw;
	}

	#service .choose .chooseFlex .box a .linkNav {
		border-top: 0.267vw solid #cccccc;
		padding: 7.2vw 5.333vw 0 0;
	}

	#service .choose .chooseFlex .box a .linkNav .tex {
		font-size: 5.867vw;
		margin-right: 5.067vw;
	}

	/*----------------------------------------------------
	#strengths
	----------------------------------------------------*/

	#strengths {
		margin-top: -21.6vw;
		padding: 26.4vw 0 24.267vw 0;
		border-radius: 21.333vw 5.333vw 5.333vw 5.333vw;
	}

	#strengths .head {
		margin-bottom: 10.4vw;
	}

	#strengths .head h2 {
		font-size: 7.467vw;
		letter-spacing: 0.03em;
		margin-bottom: 14.933vw;
	}

	#strengths .head p {
		font-size: 9.067vw;
		letter-spacing: -0.01em;
		white-space: nowrap;
	}

	#strengths .strengthsList .listHead {
		margin-bottom: 10vw;
	}

	#strengths .strengthsList .listHead h3 {
		display: flex;
		flex-direction: column;
		align-items: center;
		transform: translateX(-0.533vw);
		-webkit-transform: translateX(-0.533vw);
		-moz-transform: translateX(-0.533vw);
	}

	#strengths .strengthsList .listHead h3 > small {
		font-size: 5.867vw;
		line-height: 1.7;
		letter-spacing: -0.01em;
		margin-bottom: -1.067vw;
	}

	#strengths .strengthsList .listHead h3 > small span {
		margin: 0 -2.667vw 0 0;
	}

	#strengths .strengthsList .listHead h3 .bottom {
		padding: 0 0 0 1.333vw;
	}

	#strengths .strengthsList .listHead h3 .bottom b {
		font-size: 11.733vw;
		line-height: 1;
	}

	#strengths .strengthsList .listHead h3 .bottom small {
		font-size: 5.867vw;
    line-height: 1.7;
    letter-spacing: 0;
    transform: translate(-0.533vw, -0.8vw);
		-webkit-transform: translate(-0.533vw, -0.8vw);
		-moz-transform: translate(-0.533vw, -0.8vw);
    display: inline-block;
	}

	#strengths .strengthsList .scrollList {
		position: relative;
		overflow: hidden;
		width: calc(100% + 4rem);
		margin-left: -2rem;
		margin-bottom: 0;
		padding: 0 2rem;
	}

	#strengths .strengthsList .slick-list {
		padding: 0 0 16vw 0;
		overflow: visible;
	}

	#strengths .strengthsList .scrollList .arrow_box {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		margin-bottom: 7.467vw;
		padding: 0 0 0 0;
	}

	#strengths .strengthsList .scrollList .arrow_box .slick-arrow {
		transition: all 0.3s ease 0s;
	}

	#strengths .strengthsList .scrollList .arrow_box .slick-arrow.slick-disabled {
		opacity: 0.35;
	}

	#strengths .strengthsList .scrollList .arrow_box .prevNav {
		position: relative;
		width: 11.733vw;
		height: 11.733vw;
		background: url('../img/prevBt.svg') center no-repeat;
		background-size: cover;
	}

	#strengths .strengthsList .scrollList .arrow_box .nextNav {
		position: relative;
		width: 11.733vw;
		height: 11.733vw;
		background: url('../img/nextBt.svg') center no-repeat;
		background-size: cover;
		margin: 0 0 0 3.2vw;
	}

	#strengths .strengthsList .scrollList .listFlex {
		display: block;
	}

	#strengths .strengthsList .scrollList .listFlex .box {
		margin: 0 5.333vw 0 0;
	}

	#strengths .strengthsList .scrollList .listFlex .box .no {
		margin-bottom: 10.133vw;
	}

	#strengths .strengthsList .scrollList .listFlex .box h4 {
		margin-bottom: 13.067vw;
	}

	#strengths .strengthsList .listArrow {
		margin: 0 auto 13.867vw;
	}

	#strengths .strengthsList .afterTex {
		display: flex;
		justify-content: center;
	}

	#strengths .strengthsList .afterTex p {
		font-size: 6.933vw;
		line-height: 1.85;
	}

	#strengths .strengthsList .afterTex p .grade {
		font-size: 9.6vw;
		line-height: 1.6;
	}

	/*----------------------------------------------------
	#problem
	----------------------------------------------------*/

	#problem {
		padding: 22.133vw 0 56.267vw 0;
	}

	#problem .faqHead {
		margin-bottom: 22vw;
	}

	#problem .faqHead h2 b {
		font-size: 26.667vw;
		margin-bottom: 5.067vw;
	}

	#problem .faqHead h2 small {
		font-size: 5.333vw;
	}

	#problem .head {
		margin-bottom: 12.267vw;
		padding: 0 0 0 0;
	}

	#problem .head h3 {
		font-size: 7.467vw;
		letter-spacing: 0.03em;
		margin-bottom: 14.933vw;
		padding: 0 0 0 0.8vw;
	}

	#problem .head p.smallTex {
		font-size: 4.8vw;
    letter-spacing: 0;
    margin: 0 0 5.067vw -0.267vw;
		padding: 0 0 0 0.8vw;
	}

	#problem .head p.bigTex {
		font-size: 9.067vw;
    line-height: 1.6;
		letter-spacing: 0;
    margin: 0 0 0 0;
	}

	#problem .head p.bigTex span {
		margin: 0 -5.333vw 0 0;
	}

	#problem .problemListArea {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		max-width: 244.8vw;
		margin: 0 auto 0;
	}

	#problem .problemListArea .listHead {
		margin-bottom: 20vw;
	}

	#problem .problemListArea .listHead h4 {
		font-size: 4.8vw;
		line-height: 1.8;
		letter-spacing: 0;
	}

	#problem .problemListArea .listImage {
    max-width: 50.667vw;
    margin: 0 auto 76.8vw;
	}

	#problem .problemListArea .problemList .box h5 {
		font-size: 3.2vw;
		margin-bottom: 1.867vw;
	}

	#problem .problemListArea .problemList .box p {
		font-size: 3.733vw;
	}

	#problem .problemListArea .problemList .box.box01 {
		width: 40.533vw;
    height: 36.267vw;
    padding: 6.133vw 0 0 4vw;
    border: 0.341vw solid #DC0017;
    border-radius: 8vw 8vw 2.133vw 8vw;
    left: -1.333vw;
    top: 30.933vw;
	}

	#problem .problemListArea .problemList .box.box02 {
		width: 40.533vw;
    height: 36.267vw;
    padding: 6.133vw 0 0 4vw;
    border: 0.341vw solid #DC0017;
    border-radius: 8vw 8vw 2.133vw 8vw;
		right: -1.333vw;
		top: 30.933vw;
	}

	#problem .problemListArea .problemList .box.box03 {
		width: 40.533vw;
    height: 41.867vw;
    padding: 6.133vw 0 0 4vw;
    border: 0.341vw solid #DC0017;
    border-radius: 8vw 8vw 2.133vw 8vw;
    left: -1.333vw;
    top: 70.4vw;
	}

	#problem .problemListArea .problemList .box.box04 {
		width: 40.533vw;
    height: 41.867vw;
    padding: 6.133vw 0 0 4vw;
    border: 0.341vw solid #DC0017;
    border-radius: 8vw 8vw 2.133vw 8vw;
		top: 115.467vw;
		left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}

	#problem .problemListArea .problemList .box.box05 {
		width: 40.533vw;
    height: 41.867vw;
    padding: 6.133vw 0 0 4vw;
    border: 0.341vw solid #DC0017;
    border-radius: 8vw 8vw 2.133vw 8vw;
		right: -1.333vw;
		left: initial;
		top: 70.4vw;
	}

	#problem .listArrow {
		width: 100%;
		max-width: 14.933vw;
		margin: 0 auto 16.267vw;
	}

	#problem .afterTex {
		margin: 0 0 0 -2.133vw;
	}

	#problem .afterTex p {
		font-size: 6.933vw;
    line-height: 1.6;
		letter-spacing: 0;
	}

	#problem .afterTex p .grade {
		font-size: 9.6vw;
		line-height: 1.58;
	}

	#problem .afterTex p .grade2 {
		line-height: 1.34;
	}

	/*----------------------------------------------------
	#method
	----------------------------------------------------*/

	#method {
    margin-top: -23.467vw;
    padding: 26.4vw 0 26.667vw 0;
    border-radius: 5.333vw 21.333vw 5.333vw 5.333vw;
	}

	#method .head {
		margin-bottom: 10.3vw;
	}

	#method .head h2 small {
		font-size: 4.8vw;
		line-height: 1.8;
		letter-spacing: 0;
		margin: 0 0 8.533vw 0;
	}

	#method .head h2 b {
		font-size: 8.533vw;
		line-height: 1.42;
		letter-spacing: 0;
	}

	#method .head h2 b .grade {
		font-size: 10.667vw;
	}

	#method .head h2 b .grade span {
		margin: 0 -3.467vw;
	}

	#method .head h2 b .grade span:last-child {
		margin: 0 -2.933vw;
	}

	#method .scrollList {
    position: relative;
		overflow: hidden;
		width: calc(100% + 4rem);
    margin-left: -2rem;
		margin-bottom: 0;
		padding: 0 2rem;
	}

	#method .scrollList .arrow_box {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		margin-bottom: 7.467vw;
		padding: 0 2.667vw 0 0;
	}

	#method .scrollList .arrow_box .slick-arrow {
		transition: all 0.3s ease 0s;
	}

	#method .scrollList .arrow_box .slick-arrow.slick-disabled {
		opacity: 0.35;
	}

	#method .scrollList .arrow_box .prevNav {
		position: relative;
		width: 11.733vw;
		height: 11.733vw;
		background: url('../img/prevBt.svg') center no-repeat;
		background-size: cover;
	}

	#method .scrollList .arrow_box .nextNav {
		position: relative;
		width: 11.733vw;
		height: 11.733vw;
		background: url('../img/nextBt.svg') center no-repeat;
		background-size: cover;
		margin: 0 0 0 3.2vw;
	}

	#method .methodList {
		display: block;
		margin-bottom: 0;
	}

	#method .methodList .slick-list {
		padding: 0 0 16vw 0;
		overflow: visible;
	}

	#method .methodList .box {
		width: 73.333vw;
		height: 110.667vw;
		margin: 0 5.333vw 0 0;
		padding: 10.4vw 0 0 0;
	}

	#method .methodList .box .boxHead {
		margin-bottom: 5.333vw;
	}

	#method .methodList .box .boxHead h3 {
		margin-bottom: 6.933vw;
	}

	#method .methodList .box .boxHead h3 small {
		font-size: 5.867vw;
		margin-bottom: 5.333vw;
	}

	#method .methodList .box .boxHead p {
		font-size: 4.267vw;
	}

	#method .methodList .box .boxArrow {
		width: 100%;
		max-width: 8.8vw;
		margin: 0 auto 5.4vw;
	}

	#method .methodList .box .boxConts p {
		font-size: 4.8vw;
	}

	#method .afterTex {
		display: flex;
		justify-content: center;
	}

	#method .afterTex p {
		font-size: 6.4vw;
		line-height: 1.8;
		text-align: center;
	}

	#method .afterTex p .grade {
		font-size: 10.667vw;
		line-height: 1.3;
		margin: 0 -4vw 0 -0.267vw;
	}

	/*----------------------------------------------------
	#menu
	----------------------------------------------------*/

	#menu {
		padding: 31.467vw 0 26.667vw 0;
	}

	#menu .head {
		margin-bottom: 15.467vw;
	}

	#menu .head h2 {
		font-size: 7.467vw;
		letter-spacing: 0.03em;
		margin-bottom: 15.467vw;
	}

	#menu .head h3 {
		font-size: 9.067vw;
		line-height: 1.6;
		margin-bottom: 10.4vw;
	}

	#menu .head p {
		font-size: 4.533vw;
		line-height: 2.18;
	}

	#menu .menuList {
		flex-direction: column;
	}

	#menu .menuList .box {
		width: 100%;
		height: initial;
		margin-bottom: 8vw;
	}

	#menu .menuList .box a {
		padding: 12.533vw 6.4vw 0 6.4vw;
	}

	#menu .menuList .box a .boxConts {
		padding: 0 0 8.533vw 0;
	}

	#menu .menuList .box a .boxConts .noTex {
		font-size: 10.667vw;
		margin-bottom: 4.8vw;
	}

	#menu .menuList .box a .boxConts .boxHead {
		margin-bottom: 3.467vw;
	}

	#menu .menuList .box a .boxConts .boxHead h4 {
		font-size: 8vw;
	}

	#menu .menuList .box a .boxConts .boxHead h4 .grade {
		margin: 0 -2.667vw 0 0;
	}

	#menu .menuList .box a .boxConts .boxHead h4 .grade span {
		margin: 0 -2.4vw 0 -2.133vw;
	}

	#menu .menuList .box a .boxConts p {
		font-size: 4vw;
	}

	#menu .menuList .box a .boxConts .exampleTex {
		margin-bottom: 8vw;
	}

	#menu .menuList .box a .boxConts .exampleTex p {
		font-size: 4.8vw;
    line-height: 1.8;
    letter-spacing: 0;
    white-space: initial;
	}

	#menu .menuList .box a .linkNav {
		justify-content: space-between;
		padding: 6.667vw 3.733vw 11.2vw 0;
	}

	#menu .menuList .box a .linkNav .tex {
		line-height: 1.5;
		margin-right: 0;
	}

	/*----------------------------------------------------
	#message
	----------------------------------------------------*/

	#message {
		overflow: initial;
		padding: 8vw 0 49.867vw 0;
	}

	#message .bg01 {
    max-width: 19.867vw;
    height: 28.8vw;
    right: 12.4vw;
    top: 22.133vw;
	}

	#message .bg01.blur {
		filter: initial;
	}

	#message .bg02 {
		max-width: 24.667vw;
    height: 64vw;
		left: 0;
		top: 132.533vw;
	}

	#message .bg02.blur {
		filter: initial;
	}

	#message .bg03 {
		max-width: 45.067vw;
    height: 110.933vw;
		right: 0;
		bottom: 4vw;
	}

	#message .bg03.blur {
		filter: initial;
	}

	#message .head {
		margin-bottom: 14.933vw;
	}

	#message .head h2 {
		font-size: 7.467vw;
		letter-spacing: 0.03em;
	}

	#message .conts p {
		font-size: 4.8vw;
		line-height: 2;
		letter-spacing: 0;
		margin-bottom: 9.867vw;
	}

	#message .conts p.bigtex {
		font-size: 9.067vw;
		line-height: 1.7;
		margin-top: 18.933vw;
	}

	#message .conts p.bigtex span {
		margin: 0 -2.667vw 0 -4vw;
	}

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

	#contact {
		position: relative;
		padding: 0 0 32vw 0;
	}

	#contact .inner {
		position: relative;
		z-index: 1;
	}

	#contact .bg {
		position: absolute;
		left: 0;
		bottom: -78.133vw;
		width: 100%;
		z-index: 0;
	}

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

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

	#contact .head h2 b {
		font-size: 21.333vw;
		letter-spacing: 0.035em;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		margin-bottom: 4.267vw;
	}

	#contact .head h2 small {
		font-size: 5.333vw;
    letter-spacing: 0;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
	}

	#contact .head p {
		font-size: 4.267vw;
		line-height: 2;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
	}

	#contact .formBox {
		width: 100%;
		margin: 0 auto 0;
		padding: 0 0 26.667vw;
		border-radius: 0;
		background: initial;
		box-shadow: initial;
	}

	#contact .formBox dl.formSec05 {
		padding: 0 0 11.467vw 0;
	}

	#contact .formBox dl.formSec06 {
		padding: 0 0 5.7vw 0;
	}

	#contact .formBox dl dt {
		display: flex;
		padding: 0 0 2.4vw 0;
	}

	#contact .formBox dl dt .boxTex {
    letter-spacing: 0;
	}

	#contact .formBox dl dt .required {
		margin-left: 4vw;
		transform: translateY(-0.8vw);
		-webkit-transform: translateY(-0.8vw);
		-moz-transform: translateY(-0.8vw);
	}

	#contact .formBox dl dt .required span {
		transform: translateY(-0.267vw);
		transform: translateY(-0.267vw);
		transform: translateY(-0.267vw);
    display: inline-block;
	}

	#contact .formBox dl dd {
		display: flex;
		flex-direction: column;
	}

	#contact .formBox dl dd input[type="text"],
	#contact .formBox dl dd input[type="tel"],
	#contact .formBox dl dd input[type="email"] {
		font-size: 4.267vw;
		line-height: 1.7;
		letter-spacing: 0;
		padding: 0 0 0 4.267vw;
		height: 17.867vw;
		border-radius: 2.133vw;
	}

	#contact .formBox dl dd .checkLabel {
		height: 20.8vw;
		margin-bottom: 2.133vw;
		padding: 0 0 0 14.667vw;
	}

	#contact .formBox dl dd .checkLabel:last-child {
		height: 17.867vw;
	}

	#contact .formBox dl dd .checkLabel .tex {
		font-size: 4.267vw;
		line-height: 1.7;
		letter-spacing: 0;
	}

	#contact .formBox dl dd.radioList label {
		height: 20.8vw;
		margin-bottom: 2.133vw;
		padding: 0 0 0 14.667vw;
	}

	#contact .formBox dl dd.radioList .last label {
		height: 17.867vw;
	}

	#contact .formBox dl dd.radioList label .wpcf7-list-item-label {
		font-size: 4.267vw;
		line-height: 1.7;
		letter-spacing: 0;
	}

	#contact .formBox #confirm {
		width: 89.333vw;
		height: 21.867vw;
		padding: 0;
	}

	#contact .formBox #confirm .tex {
		font-size: 5.333vw;
		transform: translateX(-3.733vw) translateY(-0.267vw);
		-webkit-transform: translateX(-3.733vw) translateY(-0.267vw);
		-moz-transform: translateX(-3.733vw) translateY(-0.267vw);
	}

	#contact .formBox #confirm .arrow {
		width: 100%;
		max-width: 8.8vw;
		height: 4.267vw;
		overflow: hidden;
		position: absolute;
		top: 50%;
		right: 8.533vw;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}

	#contact .formBox #confirm .arrow:before {
		content: '';
		width: 8.8vw;
		height: 4.267vw;
		background: url('../img/rightArrow-Big.svg') no-repeat;
		background-size: 100% auto;
		position: absolute;
		left: 0;
		top: 0;
		animation-delay: 0s;
		animation-duration: 0.6s;
	}

	#contact .formBox #confirm .arrow:after {
		content: '';
		width: 8.8vw;
		height: 4.267vw;
		background: url('../img/rightArrow-Big.svg') no-repeat;
		background-size: 100% auto;
		position: absolute;
		left: 0;
		top: 0;
		animation-fill-mode: forwards;
		animation-duration: 0.6s;
		transform: translateX(-100%);
		-webkit-transform: translateX(-100%);
		-moz-transform: translateX(-100%);
	}

	#contact .formBox .policyCheck label .tex {
		font-size: 4.267vw;
	}

	#contact .formBox .confirm {
		width: 89.333vw;
		height: 21.867vw;
	}

	#contact .formBox .confirm input {
		width: 89.333vw;
		height: 21.867vw;
		padding: 0 7.4vw 0 0;
		font-size: 5.333vw;
	}

	#contact .formBox .confirm:before {
    content: '';
    width: 8.8vw;
    height: 4.267vw;
    background: url('../img/rightArrow-Big.svg') no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: 50%;
    right: 8.533vw;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    animation-delay: 0s;
    animation-duration: 0.6s;
    z-index: 1;
	}

	/*----------------------------------------------------
	#confirm
	----------------------------------------------------*/

	#confirm {
		padding: 30.4vw 0 32vw 0;
	}

	#confirm .head {
		margin-bottom: 10.933vw;
	}

	#confirm .head h2 {
		margin-bottom: 10.133vw;
	}

	#confirm .head h2 b {
		font-size: 7.467vw;
		letter-spacing: 0.03em;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		margin-bottom: 16.8vw;
	}

	#confirm .head h2 small {
		font-size: 9.067vw;
    letter-spacing: 0;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
	}

	#confirm .head p {
		font-size: 4.533vw;
		line-height: 2.2;
		letter-spacing: 0;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
	}

	#confirm .formBox {
		width: 100%;
		margin: 0 auto 0;
		padding: 0 0 0 0;
		border-radius: 0;
		box-shadow: initial;
	}

	#confirm .formBox dl.formSec01 {
		padding: 0 0 11.467vw 0;
	}

	#confirm .formBox dl.formSec02 {
		padding: 0 0 11.467vw 0;
	}

	#confirm .formBox dl.formSec03 {
		padding: 0 0 11.467vw 0;
	}

	#confirm .formBox dl.formSec04 {
		padding: 0 0 11.2vw 0;
	}

	#confirm .formBox dl.formSec05 {
		padding: 0 0 11.2vw 0;
	}

	#confirm .formBox dl.formSec06 {
		padding: 0 0 16.8vw 0;
	}

	#confirm .formBox dl dt {
		display: flex;
		padding: 0 0 4.267vw 0;
	}

	#confirm .formBox dl dt .boxTex {
		letter-spacing: 0;
	}

	#confirm .formBox dl dd .boxTex {
		font-size: 4.8vw;
		line-height: 1.7;
	}

	#confirm .formBox dl.formSec06 dd .boxTex {
		line-height: 1.7;
	}

	#confirm .formBox .buttonsArea {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#confirm .formBox .buttonsArea #send {
		width: 89.333vw;
		height: 21.867vw;
		margin: 0 auto 6.133vw;
	}

	#confirm .formBox .buttonsArea #send .tex {
		font-size: 5.333vw;
		transform: translateX(0) translateY(-0.267vw);
		-webkit-transform: translateX(0) translateY(-0.267vw);
		-moz-transform: translateX(0) translateY(-0.267vw);
	}

	#confirm .formBox .buttonsArea .send {
		width: 89.333vw;
		height: 21.867vw;
		margin: 0 auto 6.133vw;
	}

	#confirm .formBox .buttonsArea .send input {
		font-size: 5.333vw;
		height: 21.867vw;
	}

	#confirm .formBox .buttonsArea #back {
		width: 89.333vw;
		height: 18.133vw;
	}

	#confirm .formBox .buttonsArea #back .arrow {
    left: 8.267vw;
	}

	#confirm .formBox .buttonsArea #back .tex {
		font-size: 5.333vw;
		transform: translateX(1.6vw) translateY(0);
		-webkit-transform: translateX(1.6vw) translateY(0);
		-moz-transform: translateX(1.6vw) translateY(0);
	}

	#confirm .formBox .buttonsArea .back {
		width: 89.333vw;
		height: 18.133vw;
	}

	#confirm .formBox .buttonsArea .back:before {
    left: 8.267vw;
	}

	#confirm .formBox .buttonsArea .back input {
		font-size: 5.333vw;
		height: 18.133vw;
	}

	/*----------------------------------------------------
	#thanks
	----------------------------------------------------*/

	#thanks {
		padding: 32vw 0 32vw 0;
	}

	#thanks .inner {
		max-width: initial;
	}

	#thanks .head {
		margin-bottom: 10.667vw;
	}

	#thanks .head h2 {
		margin-bottom: 8vw;
	}

	#thanks .head h2 small {
		max-width: 13.867vw;
		margin: 0 auto 2.933vw;
	}

	#thanks .head h2 b {
		font-size: 17.067vw;
	}

	#thanks .head p {
		font-size: 4.8vw;
		text-align: left;
		padding: 0 3.733vw;
	}

	#thanks .conts p {
		font-size: 4.267vw;
	}

	#thanks .conts .backButton {
		width: 89.333vw;
		height: 18.133vw;
		margin: 15.467vw auto 0;
	}

	#thanks .conts .backButton a .tex {
		font-size: 5.333vw;
		transform: translateX(2.667vw) translateY(0);
		-webkit-transform: translateX(2.667vw) translateY(0);
		-moz-transform: translateX(2.667vw) translateY(0);
	}

	#thanks .conts .backButton a .arrow {
		top: 51%;
		left: 8vw;
	}

}
