@charset "utf-8";
/* CSS Document */
@media screen and (min-width: 768px) {
}
body {
	font-size: 16px;
	overflow: hidden;
}
body.fixed {
	position: fixed;
	width: 100%;
}
button {
	cursor: pointer;
}
img {
	width: 100%;
	height: auto;
}
p,a,li,dt,dd,th,td,.f-go,input,::placeholder {
font-family: "Noto Sans JP", sans-serif;
font-weight: normal;
font-style: normal;
	color: #000;
	letter-spacing: 0.05em;
	font-size: 16px;
}
p {
	line-height: 1.66;
}
h1,h2,h3,h4 {
font-family: "Noto Sans JP", sans-serif;
font-weight: bold;
font-style: normal;
	color: #000;
	letter-spacing: 0.05em;
}
.bold {
	font-weight: bold;
}
.block {
	display: block;
}
.fs-14 {
	font-size: 14px;
}
.headerNav > li > a,
.fs-16 {
	font-size: 16px;
}
.fs-18 {
	font-size: 18px;
}
.fs-20 {
	font-size: 20px;
}
.fs-22 {
	font-size: 22px;
}
.fs-24 {
	font-size: 24px;
}
.fs-26 {
	font-size: 26px;
}
.fs-28 {
	font-size: 28px;
}
.fs-32 {
	font-size: 32px;
}
.fs-40 {
	font-size: 40px;
}
.fs-50 {
	font-size: 50px;
}
.fs-75 {
	font-size: 75px;
}
.tc-green {
	color: #c1ea00;
}
.alignC {
	text-align: center;
}
.box980 {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}
.sec_price .box980 {
	width: 84%;
}
.box1200 {
	width: 84%;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}
@media screen and (min-width:768px) {
	.only_sp767 {
		display: none;
	}
}
.wrap {
	position: relative;
}
.wrap header {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	background-color: #FFF;
}
.wrap header .headerIn {
	display: block;
	width: 100%;
	max-width: 1900px;
	margin: 0 auto;
	height: 100px;
	position: relative;
}
.wrap header .headerIn .logoBox {
	position: absolute;
	left: 40px;
	top: 16px;
}
.wrap header .headerIn .logoBox h1 .logo {
	display: block;
	margin-bottom: 10px;
}
.wrap header .headerIn .logoBox h1 .logo img {
	width: auto;
	height: 40px;
}
.wrap header .headerIn .text {
	display: block;
	font-size: 16px;
	line-height: 1.0;
}
.wrap header .headerIn .contactBox {
	position: absolute;
	right: 0;
	top: 0;
}
.wrap header .headerIn .contactBox .btn {
	display: table-cell;
}
.wrap header .headerIn .contactBox .btn a {
	display: table-cell;
	width: 200px;
	height: 100px;
	text-align: center;
	vertical-align: middle;
	line-height: 100px;
	background-color: #ffbd1e;
	position: relative;
	color: #FFF;
	font-size: 18px;
}
.wrap header .headerIn .contactBox .btn a::before {
	content: "";
	display: table-cell;
	position: absolute;
	width: calc(200px - 17px);
	height: calc(100px - 17px);
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	border: 1px solid #FFF;
}
@media screen and (max-width: 787px) {
	.wrap header .headerIn {
	  height: 13vw;
	}
	.wrap header .headerIn .logoBox {
	  left: 2.6vw;
	  top: 1.6vw;
	}
	.wrap header .headerIn .logoBox h1 .logo {
	  margin-bottom: 1.3vw;
	}
	.wrap header .headerIn .logoBox h1 .logo img {
	  height: 6.5vw;
	}
	.wrap header .headerIn .text {
	  font-size: 2.6vw;
	  line-height: 1.0;
	}	
	.wrap header .headerIn .contactBox .btn a {
	  width: 26vw;
	  height: 13vw;
	  line-height: 13vw;
	  font-size: 3.2vw;
	}	
	.wrap header .headerIn .contactBox .btn a::before {
	  width: 24vw;
	  height: 11vw;
	}	
}

.sec_fv {
	position: relative;
}
.sec_fv .secIn {
	width: 1400px;
	margin: 0 auto;
	height: 820px;
	position: relative;
}
@media screen and (min-width: 2201px) {
	.sec_fv::before {
		content: "";
		display: table-cell;
		background: left center / auto 100% url("../img/fv_bg.jpg") no-repeat;
		width: calc(50vw + 863px);
		height: 535px;
		position: absolute;
		right: 0;
		bottom: 0;
	}
}
@media screen and (max-width: 2200px) {
	.sec_fv::before {
		content: "";
		display: table-cell;
		background: left center / auto 100% url("../img/fv_bg.jpg") no-repeat;
		width: calc(50vw + 863px);
		height: 535px;
		position: absolute;
		left: 4vw;
		bottom: 0;
	}
}
@media screen and (min-width: 2201px) {
	.sec_fv .secIn {
		width: 1400px;
		margin: 0 auto;
		position: relative;
	}
}
@media screen and (max-width: 2200px) {
	.sec_fv .secIn {
		width: 86vw;
		margin: 0 auto;
	}
}
.sec_fv .secIn h2 {
	position: absolute;
	font-size: 85px;
	line-height: 130px;
	padding-top: 83px;
	left: 0;
}
.sec_fv .secIn .bottomText {
	position: absolute;
	left: 0;
	bottom: 56px;
	background-color: rgba(255,255,255,0.80);
	padding: 22px 30px;
	width: 550px;
}
.sec_fv .secIn .bottomText .row01 {
	background-color: #356ba2;
	margin-bottom: 16px;
	border-radius: 5px;
}
.sec_fv .secIn .bottomText .row01 p {
	font-size: 22px;
	text-align: center;
	color: #FFF;
	line-height: 1.0;
	padding: 14px 0;
	letter-spacing: 0;
}
.sec_fv .secIn .bottomText .row02 p {
	font-size: 18px;
	line-height: 2.1;
}
@media screen and (max-width: 767px) {
  .sec_fv::before {
    background: left center / auto 100% url("../img/fv_bg_sp.jpg") no-repeat;
    width: 96vw;
    height: 123vw;
    left: 4vw;
    bottom: 0;
	  border-top-left-radius: 4vw;
	  border-bottom-left-radius: 4vw;
  }	
	.sec_fv .secIn {
		width: 86vw;
		height: 164vw;
		margin: 0 auto;
	}
	.sec_fv .secIn h2 {
	  font-size: 10vw;
	  line-height: 1.7;
	  padding-top: 15vw;
	  left: 0;
	}
	.sec_fv .secIn .bottomText {
	  left: 0;
	  bottom: 7vw;
	  padding: 3.7vw 4vw;
	  width: 88vw;
	}	
	.sec_fv .secIn .bottomText .row01 p {
	  font-size: 3.7vw;
	  line-height: 1.35;
	  padding: 2vw 0;
	  letter-spacing: 0;
	}
	.sec_fv .secIn .bottomText .row01 {
	  margin-bottom: 2vw;
	}	
	.sec_fv .secIn .bottomText .row02 p {
	  font-size: 3.7vw;
	}
}
.sec_problem {
	padding-top: 120px;
}
.sec_problem .problemList {
	
}
.sec_problem .problemList ul {
	font-size: 0;
	text-align: center;
}
.sec_problem .problemList ul li {
	width: 32%;
	margin-right: 2%;
	display: inline-block;
	vertical-align: top;
}
.sec_problem .problemList ul li:nth-last-child(1) {
	margin-right: 0;
}
.sec_problem .problemList ul li .textBox {
	padding: 25px 35px;
	border: 2px solid #d7d4d4;
	border-radius: 20px;
	display: table-cell;
	vertical-align: middle;
	position: relative;
}
.sec_problem .problemList ul li .textBox .textIn {
	display: block;
	font-size: 18px;
	line-height: 1.66;
}
.sec_problem .problemList ul li .textBox::after {
	content: "";
	display: table-cell;
	background: top left / 100% auto url("../img/problem_arrow_left.jpg") no-repeat;
	width: 44px;
	height: 84px;
	left: 50%;
	bottom: 0;
	transform: translateX(68px) translateY(100%);
	position: absolute;
}
.sec_problem .problemList ul li:nth-child(2) .textBox::after {
	content: "";
	display: table-cell;
	background: top left / 100% auto url("../img/problem_arrow_right.jpg") no-repeat;
	width: 44px;
	height: 84px;
	right: 50%;
	bottom: 0;
	transform: translateX(-98px) translateY(100%);
	position: absolute;
}
.sec_problem .problemList ul li .img {
	display: block;
}
.sec_problem .problemList ul li .img::before {
	content: "";
	display: block;
	padding-top: 97%;
}
.sec_problem .problemList ul li:nth-child(1) .img {
	background: center bottom / 44% auto url("../img/problemlist_01.png") no-repeat;
}
.sec_problem .problemList ul li:nth-child(2) .img {
	background: center bottom / 44% auto url("../img/problemlist_02.png") no-repeat;
}
.sec_problem .problemList ul li:nth-child(3) .img {
	background: center bottom / 44% auto url("../img/problemlist_03.png") no-repeat;
}
@media screen and (max-width: 980px) {
	.problemList {
		width: 84vw;
		max-width: 630px;
		margin: 0 auto;
	}
	.sec_problem .problemList ul li {
	  width: 100%;
		height: 330px;
	  margin-right: 0;
		margin-bottom: 3.3vw;
	  display: block;
		position: relative;
	}
	.sec_problem .problemList ul li:nth-child(1),
	.sec_problem .problemList ul li:nth-child(3)
	{
		padding-left: 32%;
	}
	.sec_problem .problemList ul li:nth-child(2){
		padding-right: 32%;
		
	}
	.sec_problem .problemList ul li:nth-child(1) {
		background: left top / auto 100% url("../img/problemlist_01.png") no-repeat;
	}
	.sec_problem .problemList ul li:nth-child(2) {
		background: right top / auto 100% url("../img/problemlist_02.png") no-repeat;
	}
	.sec_problem .problemList ul li:nth-child(3) {
		background: left top / auto 100% url("../img/problemlist_03.png") no-repeat;
	}
	.sec_problem .problemList ul li .textBox::after,.sec_problem .problemList ul li:nth-child(2) .textBox::after {
		display: none;
	}
	.sec_problem .problemList ul li:nth-child(1) .img,
	.sec_problem .problemList ul li:nth-child(3) .img {
		display: table-cell;
		width: 74px;
		height: 51px;
		position: absolute;
		left: 32%;
		top: 44px;
		background-color: transparent;
		background-image: none;
		transform: translateX(calc(-100% + 2px));
	}
	.sec_problem .problemList ul li:nth-child(1) .img::before,
	.sec_problem .problemList ul li:nth-child(3) .img::before {
		display: table-cell;
		width: 75.4px;
		height: 2px;
		background-color: #dbd8d8;
		position: absolute;
		left: 0;
		top: 0;
		transform-origin: 0;
		transform: rotate(15deg);
		padding: 0;
	}
	.sec_problem .problemList ul li:nth-child(1) .img::after,
	.sec_problem .problemList ul li:nth-child(3) .img::after {
		content: "";
		display: table-cell;
		width: 88px;
		height: 2px;
		background-color: #dbd8d8;
		position: absolute;
		left: 0;
		top: 0;
		transform-origin: 0;
		transform: rotate(34deg);
		padding: 0;
	}
	.sec_problem .problemList ul li:nth-child(1) .img .white,
	.sec_problem .problemList ul li:nth-child(3) .img .white {
		display: table-cell;
		width: 2px;
		height: 28px;
		background-color: #FFF;
		position: absolute;
		right: 0;
		bottom: 2px;
	}
	.sec_problem .problemList ul li:nth-child(2) .img {
		display: table-cell;
		width: 74px;
		height: 51px;
		position: absolute;
		right: 32%;
		top: 44px;
		background-color: transparent;
		background-image: none;
		transform: translateX(calc(100% - 2px));
	}
	.sec_problem .problemList ul li:nth-child(2) .img::before {
		display: table-cell;
		width: 75.4px;
		height: 2px;
		background-color: #dbd8d8;
		position: absolute;
		right: 0;
		top: 0;
		transform-origin: 100% 0;
		transform: rotate(-15deg);
		padding: 0;
	}
	.sec_problem .problemList ul li:nth-child(2) .img::after {
		content: "";
		display: table-cell;
		width: 88px;
		height: 2px;
		background-color: #dbd8d8;
		position: absolute;
		right: 0;
		top: 0;
		transform-origin:100% 0;
		transform: rotate(-34deg);
		padding: 0;
	}
	.sec_problem .problemList ul li:nth-child(2) .img .white {
		display: table-cell;
		width: 2px;
		height: 28px;
		background-color: #FFF;
		position: absolute;
		left: 0;
		bottom: 2px;
	}
}
@media screen and (max-width: 767px) {
	.sec_problem {
	  padding-top: 10vw;
	}
  .problemList {
    width: 84vw;
    max-width: none;
    margin: 0 auto;
  }	
	
	.sec_head h2 > span.small {
		font-size: 3.7vw;
		line-height: 1.35;
	}
	.fs-40 {
	  font-size: 6.4vw;
		line-height: 1.35;
	}	
	.sec_head {
	  margin-bottom: 8.4vw;
	}
  .sec_problem .problemList ul li {
    height: 44vw;
  }	
	.sec_problem .problemList ul li .textBox {
	  padding: 4vw 4.3vw;
	  border-radius: 2.6vw;
	}
	.sec_problem .problemList ul li .textBox .textIn {
	  font-size: 4.2vw;
	  line-height: 1.66;
	}
	
	
	.sec_problem .problemList ul li:nth-child(1) .img,
	.sec_problem .problemList ul li:nth-child(3) .img {
		display: table-cell;
		width: 9.867vw;
		height: 6.8vw;
		position: absolute;
		left: 32%;
		top: 5.867vw;
		background-color: transparent;
		background-image: none;
		transform: translateX(calc(-100% + 2px)); 
	}

	.sec_problem .problemList ul li:nth-child(1) .img::before,
	.sec_problem .problemList ul li:nth-child(3) .img::before {
		display: table-cell;
		width: 10.053vw;
		height: 2px; 
		background-color: #dbd8d8;
		position: absolute;
		left: 0;
		top: 0;
		transform-origin: 0;
		transform: rotate(15deg);
		padding: 0;
	}

	.sec_problem .problemList ul li:nth-child(1) .img::after,
	.sec_problem .problemList ul li:nth-child(3) .img::after {
		content: "";
		display: table-cell;
		width: 11.733vw;
		height: 2px; 
		background-color: #dbd8d8;
		position: absolute;
		left: 0;
		top: 0;
		transform-origin: 0;
		transform: rotate(34deg);
		padding: 0;
	}

	.sec_problem .problemList ul li:nth-child(1) .img .white,
	.sec_problem .problemList ul li:nth-child(3) .img .white {
		display: table-cell;
		width: 2px; 
		height: 3.733vw;
		background-color: #FFF;
		position: absolute;
		right: 0;
		bottom: 2px; 
	}

	.sec_problem .problemList ul li:nth-child(2) .img {
		display: table-cell;
		width: 9.867vw;
		height: 6.8vw;
		position: absolute;
		right: 32%;
		top: 5.867vw;
		background-color: transparent;
		background-image: none;
		transform: translateX(calc(100% - 2px)); 
	}

	.sec_problem .problemList ul li:nth-child(2) .img::before {
		display: table-cell;
		width: 10.053vw;
		height: 2px; 
		background-color: #dbd8d8;
		position: absolute;
		right: 0;
		top: 0;
		transform-origin: 100% 0;
		transform: rotate(-15deg);
		padding: 0;
	}

	.sec_problem .problemList ul li:nth-child(2) .img::after {
		content: "";
		display: table-cell;
		width: 11.733vw;
		height: 2px; 
		background-color: #dbd8d8;
		position: absolute;
		right: 0;
		top: 0;
		transform-origin:100% 0;
		transform: rotate(-34deg);
		padding: 0;
	}

	.sec_problem .problemList ul li:nth-child(2) .img .white {
		display: table-cell;
		width: 2px; 
		height: 3.733vw;
		background-color: #FFF;
		position: absolute;
		left: 0;
		bottom: 2px; 
	}
}




.sec_head {
	margin-bottom: 58px;
}
.sec_service .sec_head {
	margin-bottom: 28px;
}
.sec_head h2 {
}
.sec_head h2 > span {
	display: block;
}
.sec_head h2 > span.small {
	margin-bottom: 20px;
}
.sec_service {
	padding-top: 100px;
	position: relative;
}
.sec_service .box980 {
	display: table;
}
.sec_service .box980 > div {
	display: table-cell;
	width: 50%;
	vertical-align: top;
}
.sec_service .box980 > div.left {
	padding-right: 16px;
	padding-top: 28px;
}
.sec_service .box980 > div.right {
	padding-right: 135px;
	padding-left: 60px;
	padding-bottom: 89px;
	position: relative;
}
@media screen and (max-width: 980px) {
	.sec_service .box980 > div.right {
		padding-left: 20px;
	}
}
.sec_service .box980 > div.right::after {
	content: "";
	display: table-cell;
	background: top center / 100% auto url("../img/contact_illust.png") no-repeat;
	position: absolute;
	right: -2px;
	bottom: 0;
	width: 130px;
	height: 163px;
}
.sec_service .box980 > div.right .fukidashi {
	padding: 30px 25px;
	border: 2px solid #d7d4d4;
	border-radius: 30px;
	position: relative;
	background-color: #FFF;
}
.sec_service .box980 > div.right .fukidashi::after {
	content: "";
	display: table-cell;
	background: top left / 100% auto url("../img/service_arrow.png") no-repeat;
	width: 62px;
	height: 35px;
	position: absolute;
	right: 23px;
	bottom: 0;
	transform: translateY(100%);
}
.sec_service .movieList {
	padding-top: 35px;
	padding-bottom: 50px;
} 
.sec_service .movieList ul {
	font-size: 0;
}
.sec_service .movieList ul li {
	display: inline-block;
	width: 48%;
	vertical-align: top;
}
.sec_service .movieList ul li:nth-child(1) {
	margin-right: 4%;
}
.sec_service .movieList ul li .movie {
	display: block;
	margin-bottom: 18px;
}
.sec_service .movieList ul li .movie iframe {
	width: 100%;
}
.sec_service .movieList .text {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
}
.sec_service .bgGray,
.sec_utilization .bgGray {
	display: table-cell;
	width: calc(50vw + 858px);
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: #f4f4f4;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
}
@media screen and (max-width: 1800px) {
	.sec_service .bgGray,
	.sec_utilization .bgGray {
		width: 96vw;
	}
}
@media screen and (max-width:767px) {
	.sec_service .bgGray,
	.sec_utilization .bgGray {
		width: 96vw;
	}
	
	.sec_service {
	  padding-top: 15.4vw;
	  position: relative;
	}
	.sec_head h2 > span.small {
	  margin-bottom: 1.5vw;
	}
	.sec_service .sec_head {
	  margin-bottom: 9.3vw;
	}	
	.sec_service .box980 {
	  display: block;
	}	
	.sec_service .box980 > div.left {
	  padding-right: 0;
	  padding-top: 0;
		display: block;
		width: 100%;
		margin-bottom: 5.3vw;
	}	
	.sec_service .box980 > div.right {
		padding-left: 0;
		padding-right: 28.6vw;
		padding-bottom: 3.4vw;
		display: block;
		width: 100%;
	}
	.sec_service .box980 > div.right .fukidashi {
	  padding: 2.4vw 3.4vw;
	  border-radius: 3.2vw;
	}
	.sec_service .box980 > div.right::after {
	  right: -2px;
	  bottom: 0;
	  width: 17.3vw;
	  height: 21.7vw;
	}	
	p {
		font-size: 4.3vw;
	}
	.sec_service .box980 > div.right .fukidashi::after {
		display: none;
	}
	.fukidashi {
		position: relative;
	}
	.fukidashi .white {
		display: table-cell;
		width: 8.8vw;
		height: 4.4vw;
		background: left top / 100% auto url("../img/fukidashi_arrow.png") no-repeat;
		position: absolute;
		left: 100%;
		top: 7vw;
	}
.sec_service .movieList {
  padding-top: 5.8vw;
  padding-bottom: 10vw;
}	
.sec_service .movieList ul li {
  display: block;
  width: 100%;
  vertical-align: top;
}
.sec_service .movieList ul li .movie {
  margin-bottom: 1vw;
}	
.sec_service .movieList .text {
  font-size: 4.3vw;
}
.sec_service .movieList ul li:nth-child(1) {
  margin-right: 0;
	margin-bottom: 4vw;
}	
	
}

.sec_features {
	padding-top: 140px;
}
.sec_features .featureList li {
	border: 1px solid #d7d4d4;
	margin-bottom: 20px;
	border-radius: 20px;
	position: relative;
	padding: 52px 110px 52px 274px;
}
.sec_features .featureList li:nth-last-child(1) {
	margin-bottom: 0;
}
.sec_features .featureList li .left {
	position: absolute;
	left: 58px;
	top: 45px;
}
.sec_features .featureList li .left::before {
	content: "";
	display: table-cell;
	width: 50px;
	height: 50px;
	background-color: #e3ebf1;
	position: absolute;
	left: -15px;
	top: 0;
}
.sec_features .featureList li .left .num {
	font-size: 120px;
	font-weight: bold;
	line-height: 1.0;
	color: #356ba2;
	position: relative;
}
.sec_features .featureList li .right .big {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 1em;
}
.sec_features .featureList li .right .small {
	font-size: 16px;
	line-height: 1.66;
}
@media screen and (max-width:1200px) {
	.sec_features {
	  padding-top: 18.6vw;
	}
	.sec_features .featureList li {
	  padding: 52px 30px 52px 244px;
	}	
}
@media screen and (max-width:767px) {
	.sec_features {
	  padding-top: 18.6vw;
	}
	.sec_features .featureList li {
	  padding: 26vw 4vw 4vw;
	}	
	.sec_features .featureList li .left {
	  left: 8vw;
	  top: 6vw;
	}
	.sec_features .featureList li .left .num {
	  font-size: 16vw;
	}	
	.sec_features .featureList li .left::before {
	  width: 6.6vw;
	  height: 6.6vw;
	  left: -3vw;
	  top: 0;
	}
	.sec_features .featureList li .right .big {
	  font-size: 5vw;
	  margin-bottom: 0.5em;
	}	
	.sec_features .featureList li .right .small {
	  font-size: 4.3vw;
	}

}
.sec_case {
	padding-top: 120px;
}
.sec_case .box1200 {
	position: relative;
}
.sec_case .caseList {
	padding-top: 75px;
	padding-bottom: 60px;
}
.sec_case .caseList ul {
	font-size: 0;
}
.sec_case .caseList ul li {
	display: inline-block;
	width: 48%;
	vertical-align: top;
}
.sec_case .caseList ul li:nth-child(1) {
	margin-right: 4%;
}
.sec_case .caseList ul li .headRow {
	display: block;
	letter-spacing: 0.05em;
	margin-bottom: 10px;
}
.sec_case .caseList ul li .headRow .num {
	display: inline-block;
	background-color: #356ba2;
	padding: 0 7px 0 9px;
	border-radius: 4px;
	margin-right: 10px;
}
.sec_case .caseList ul li .headRow .num .numIn {
	display: block;
	font-size: 24px;
	font-weight: bold;
	line-height: 40px;
	height: 40px;
	color: #FFF;
}
.sec_case .caseList ul li .headRow .text {
	font-size: 24px;
	font-weight: bold;
	color: #356ba2;
}
.sec_case .caseList ul li .bottomBox {
	display: block;
	border-radius: 20px;
	overflow: hidden;
	background-color: #FFF;
	border: 1px solid #d7d4d4;
}
.sec_case .caseList ul li .bottomBox .img {
	display: block;
}
.sec_case .caseList ul li .bottomBox .img::before{
	content: "";
	display: block;
	padding-top: 60%;
}
.sec_case .caseList ul li:nth-child(1) .bottomBox .img {
	background: top center / 100% auto url("../img/case_01.jpg") no-repeat;
}
.sec_case .caseList ul li:nth-child(2) .bottomBox .img {
	background: top center / 100% auto url("../img/case_02.jpg") no-repeat;
}
.sec_case .caseList ul li .bottomBox .textBox {
	display: block;
	padding: 20px 20px 30px;
}
.sec_case .caseList ul li .bottomBox .textBox .text01 {
	margin-bottom: 20px;
}
.sec_case .caseList ul li .bottomBox .textBox .text01 .text {
	display: inline-block;
	border: 2px solid #356ba2;
	border-radius: 34px;
	padding: 0;
	
}
.sec_case .caseList ul li .bottomBox .textBox .text01 .text .textIn {
	font-size: 24px;
	font-weight: bold;
	width: 8em;
	color: #356ba2;
	display: block;
	line-height: 40px;
	height: 40px;
}
.sec_case .caseList ul li .bottomBox .textBox .text02 .text {
	font-size: 22px;
	font-weight: bold;
}
.sec_case {
	position: relative;
}
.sec_case .bgGray
{
  display: table-cell;
  width: calc(50vw + 858px);
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #f4f4f4;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
}
.sec_case .box980 p {
	letter-spacing: 0;
	line-height: 2.1;
}
.sec_case .box980 p .yellow {
	font-size: 1.5em;
	font-weight: bold;
background: -webkit-linear-gradient(transparent 70%, #fbe57c 30%);
background: -o-linear-gradient(transparent 70%, #fbe57c 30%);
background: linear-gradient(transparent 70%, #fbe57c 30%);
	padding: 0 0.2em;
}
@media screen and (max-width:1800px) {
	.sec_case .bgGray
	{
	  width: 96vw;
	}
}
@media screen and (max-width: 1200px) {
	.sec_case .caseList {
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
	  padding-top: 40px;
	  padding-bottom: 30px;
	}
	.sec_case .caseList ul li:nth-child(1) {
	  margin-right: 0;
		margin-bottom: 30px;
	}	
	.sec_case .caseList ul li {
	  display: block;
	  width: 100%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	.sec_case .box980 p {
		line-height: 1.7;
	}
	.sec_case .box980 p .yellow {
		font-size: 1.0em;
	}
	.sec_case {
	  padding-top: 10vw;
	}	
	.sec_head {
	  margin-bottom: 6vw;
	}
	.sec_case .caseList {
		width: 100%;
		max-width: none;
		margin: 0 auto;
	  padding-top: 7.5vw;
	  padding-bottom: 4vw;
	}
	.sec_case .caseList ul li:nth-child(1) {
	  margin-right: 0;
		margin-bottom: 4vw;
	}	
	.sec_case .caseList ul li {
	  display: block;
	  width: 100%;
		margin: 0 auto;
	}
	.sec_case .caseList ul li .headRow .num {
	  display: inline-block;
	  background-color: #356ba2;
	  padding: 0 0.5em;
	  border-radius: 0.6vw;
	  margin-right: 0;
	}	
	.sec_case .caseList ul li .headRow .num .numIn {
	  font-size: 5vw;
	  line-height: 7.8vw;
	  height: 7.8vw;
	}
	.sec_case .caseList ul li .headRow .text {
		display: block;
	  font-size: 5vw;
		line-height: 1.4;
		padding-top: 0.2em;
	}	
	.sec_case .caseList ul li .bottomBox {
	  border-radius: 2.7vw;
	}
	.sec_case .caseList ul li .bottomBox .textBox {
	  padding: 4vw;
	}	
	.sec_case .caseList ul li .bottomBox .textBox .text01 {
	  margin-bottom: 3vw;
	}
	.sec_case .caseList ul li .bottomBox .textBox .text01 .text {
	  border-radius: 4vw;
	  padding: 0;
	}	
	.sec_case .caseList ul li .bottomBox .textBox .text02 .text {
		font-size: 5vw;
		line-height: 1.3;
	}
	.sec_case .caseList ul li .bottomBox .textBox .text01 .text .textIn {
	  font-size: 5vw;
	  line-height: 8vw;
	  height: 8vw;
	}
	
	
}
.sec_price {
	padding-top: 144px;
}
.sec_price .priceTableWrap table {
	width: 100%;
	margin-bottom: 44px;
}
.sec_price .priceTableWrap table th,
.sec_price .priceTableWrap table td
{
	font-size: 16px;
	line-height: 1.75;
	text-align: center;
	padding: 25px;
	vertical-align: middle;
	position: relative;
	box-sizing: border-box;
}
.sec_price .priceTableWrap table th::before,
.sec_price .priceTableWrap table td::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	display: table-cell;
	width: 100%;
	height: 100%;
}
.sec_price .priceTableWrap table .row11 td:nth-last-child(1) {
	border:none;
}
.sec_price .priceTableWrap table .row11 td:nth-last-child(1)::before {
	border-bottom-right-radius: 20px;
	border-right: 1px solid #d7d4d4;
	border-bottom: 1px solid #d7d4d4;
	left: -1px;
	top: -1px;
}
.sec_price .priceTableWrap table .celIn {
	position: relative;
}
.sec_price .priceTableWrap table th {
	text-align: center;
	vertical-align: middle;
}
.sec_price .priceTableWrap table td {
	text-align: left;
	vertical-align: top;
	border: 1px solid #d7d4d4;
	width: calc(33% - 86px);
}
.sec_price .priceTableWrap table td .celIn {
	font-weight: bold;
	font-size: 16px;
	line-height: 1.6;
	vertical-align: middle;
}
.sec_price .priceTableWrap table .row04 td,
.sec_price .priceTableWrap table .row07 td,
.sec_price .priceTableWrap table .row08 td,
.sec_price .priceTableWrap table .row09 td,
.sec_price .priceTableWrap table .row10 td,
.sec_price .priceTableWrap table .row11 td
{
	text-align: center;
	vertical-align: middle;
}
.sec_price .priceTableWrap table th.th_white {
	width: 258px;
}
.sec_price .priceTableWrap table th.th_green {
	color: #FFF;
}
.sec_price .priceTableWrap table th.th_green::before {
	background-color: #007acc;
	border-left: 1px solid #d7d4d4;
	border-top: 1px solid #d7d4d4;
	border-right: 1px solid #d7d4d4;
	box-sizing: content-box;
	top: -1px;
	left: -1px;
	border-top-left-radius: 20px;
}
.sec_price .priceTableWrap table th.th_orange {
	color: #FFF;
}
.sec_price .priceTableWrap table th.th_orange::before {
	background-color: #018c49;
	border-top: 1px solid #d7d4d4;
	border-right: 1px solid #d7d4d4;
	border-left: 1px solid #d7d4d4;
	top: -1px;
}
.sec_price .priceTableWrap table th.th_turquoise {
	color: #FFF;
}
.sec_price .priceTableWrap table th.th_turquoise::before {
	background-color: #56baa8;
	border-top: 1px solid #d7d4d4;
	border-right: 1px solid #d7d4d4;
	border-left: 1px solid #d7d4d4;
	top: -1px;
	border-top-right-radius: 20px;
}
.sec_price .priceTableWrap table th.th_lightb {
}
.sec_price .priceTableWrap table th.th_lightb::before {
	background-color: #e3ebf1;
	border-top: 1px solid #d7d4d4;
	border-right: 1px solid #d7d4d4;
	border-left: 1px solid #d7d4d4;
	border-bottom: 1px solid #d7d4d4;
	top: -1px;
}
.sec_price .priceTableWrap table .row02 th.th_lightb::before {
	border-top-left-radius: 20px;
	top: -1px;
}
.sec_price .priceTableWrap table .row11 th.th_lightb::before {
	border-bottom-left-radius: 20px;
	top: -1px;
}
.sec_price .priceTableWrap table th.th_deepb {
	color: #FFF;
}
.sec_price .priceTableWrap table th.th_deepb::before {
	background-color: #356ba2;
	border-top: 1px solid #d7d4d4;
	border-right: 1px solid #d7d4d4;
	border-left: 1px solid #d7d4d4;
	border-bottom: 1px solid #d7d4d4;
	top: -1px;
}


.sec_price .priceTableWrap table th.vertical-rl {
	width: 60px;
}
.sec_price .priceTableWrap table th.th01-02 {
	min-width: 195px;
}
.sec_price .priceTableWrap table th.vertical-rl .text {
	writing-mode: vertical-rl;
}
.sec_price .priceTableWrap table ul {
	padding-left: 1.2em;
}
.sec_price .priceTableWrap table ul.noNum {
	padding-left: 0;
}
.sec_price .priceTableWrap table ul li {
	font-size: 16px;
	line-height: 1.6;
}
.sec_price .priceTableWrap table ul.descList li .num {
	font-size: 16px;
	line-height: 1.6;
	position: absolute;
	left: -1.2em;
	top: 0;
	
}
.sec_price .priceTableWrap table ul li,
.sec_price .priceTableWrap table ul li > span
{
	font-size: 16px;
	line-height: 1.6;
	position: relative;
	font-weight: bold;
}
.sec_price .priceTableWrap table ul.noNum .hasIcn {
	font-weight: normal;
	position: relative;
	padding-left: 1.2em;
}
.sec_price .priceTableWrap table ul.noNum .hasIcn .icn {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 16px;
	line-height: 1.6;
}
.sec_price .priceTableWrap table .row02 ul li {
	font-weight: normal;
}
.sec_price .priceTableWrap table ul.dotList li::before {
	content: "・";
	font-size: 16px;
	line-height: 1.6;
	position: absolute;
	left: -1.2em;
	top: 0;
}
@media screen and (max-width: 1400px) {
	.priceTableWrap {
		width: 100%;
		overflow-x: scroll;
	}
	.priceTableIn {
		width: 1400px;
		padding-bottom: 30px;
	}
}
@media screen and (max-width: 767px) {
	.sec_price .priceTableWrap table th.vertical-rl .text {
	  writing-mode: vertical-rl;
	}	
	.sec_price .priceTableWrap table th.th01-02 {
	  min-width: 0;
	}	
	.sec_price .priceTableWrap table th {
	}	
	.sec_price .box1200 {
		width: 98%;
		margin: 0 auto;
	}
	.priceTableWrap {
		width: 100%;
		overflow-x: scroll;
	}
	.priceTableIn {
		width: 300vw;
		padding-bottom: 30px;
		padding-left: 4vw;
	}
	.sec_head h2 > span {
		width: 86vw;
		margin: 0 auto;
	}
	.sec_price {
	  padding-top: 11vw;
	}	
	.sec_price .priceTableWrap table th, .sec_price .priceTableWrap table td {
	  font-size: 3.2vw;
	  line-height: 1.75;
	  text-align: center;
		padding: 4vw;
	}
	.sec_price .priceTableWrap table th.vertical-rl {
		max-width: 1.8em;
		padding: 0 1vw;
		vertical-align: middle;
		text-align: center;
		position: relative;
	}	
	.sec_price .priceTableWrap table th.vertical-rl .text {
		writing-mode: horizontal-tb;
	}
	.sec_price .priceTableWrap table ul li, .sec_price .priceTableWrap table ul li > span {
	  font-size: 3.2vw;
	}	
	.sec_price .priceTableWrap table ul.dotList li::before {
	  font-size: 3.2vw;
	}
	.sec_price .priceTableWrap table ul.descList li .num {
		font-size: 3.2vw
	}
	.sec_price .priceTableWrap table th.th_lightb {
		padding: 2vw 1vw;
	}
	.sec_price .priceTableWrap table td .celIn {
		font-size: 3.2vw;
	}
.sec_price .priceTableWrap table ul.noNum .hasIcn .icn {
	font-size: 3.2vw;
}	
	
}
.sec_utilization {
	padding-top: 125px;
	padding-bottom: 80px;
	position: relative;
}
.sec_utilization .box1200 .sec_contents .box980 {
	margin-bottom: 54px;
}
.sec_utilization .box1200 .sec_contents .imgBox {
	border: 1px solid #d7d4d4;
	border-radius: 20px;
	background-color: #FFF;
	padding: 40px 35px;
}
.sec_utilization .box1200 .sec_contents .imgBox picture {
	display: block;
}
@media screen and (max-width:767px) {
	.sec_utilization {
		padding-top: 17vw;
		padding-bottom: 4vw;
	}
	.sec_utilization .box1200 .sec_contents .box980 {
	  margin-bottom: 6vw;
	}	
	.sec_utilization .box1200 .sec_contents .imgBox {
	  border-radius: 4vw;
	  padding: 3vw;
	}	
}

.sec_contact {
	padding: 98px 0 150px;
}
.sec_contact .contactIn {
	text-align: center;
}
.sec_contact .btn {
	display: inline-block;
}
.sec_contact .btn a {
	display: block;
	position: relative;
	background-color: #ffbd1e;
	width: 520px;
}
.sec_contact .btn a::before {
	content: "";
	display: table-cell;
}
.sec_contact .btn a .border {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	border: 1px solid #FFF;
	width: calc(100% - 16px);
	height: calc(100% - 16px);
}
.sec_contact .btn a .btnIn {
	display: table;
	vertical-align: middle;
	width: 100%;
	padding-left: 160px;
	position: relative;
}
.sec_contact .btn a .btnIn > span {
	display: table-cell;
	height: 100px;
	vertical-align: middle;
	color: #FFF;
	font-size: 22px;
	font-weight: bold;
	line-height: 100px;
}
.sec_contact .btn a .btnIn::before {
	content: "";
	display: table-cell;
	background: top center / 100% auto url("../img/contact_illust.png") no-repeat;
	width: 95px;
	height: 118px;
	position: absolute;
	left: 37px;
	bottom: 0;
}
.sec_contact .btn a .btnIn .arrows {
	display: table-cell;
	width: 14px;
	height: 19px;
	position: absolute;
	right: 63px;
	top: 50%;
	transform: translateY(-50%);
}
.sec_contact .btn a .btnIn .arrows .arrow {
	display: table-cell;
	width: 6px;
	height: 19px;
	border-left: 6px solid #FFF;
	border-top: 9.5px solid transparent;
	border-bottom: 9.5px solid transparent;
	position: absolute;
}
.sec_contact .btn a .btnIn .arrows .arrow:nth-child(1) {
	left: 0;
	top: 0;
}
.sec_contact .btn a .btnIn .arrows .arrow:nth-child(2) {
	right: 0;
	top: 0;
}
@media screen and (max-width: 767px) {
	.sec_contact .btn a {
	  width: 84vw;
	}
	.sec_contact .btn a .btnIn > span {
	  height: 13.3vw;
	  font-size: 3.8vw;
	  line-height: 13.3vw;
	}	
	.sec_contact .btn a .btnIn {
	  padding-left: 19vw;
	}
	.sec_contact .btn a .btnIn::before {
	  width: 12.5vw;
	  height: 16vw;
	  left: 3vw;
	}
	.sec_contact .btn a .btnIn .arrows {
	  width: 3.4vw;
	  height: 4.4vw;
	  right: 8.6vw;
	  top: 50%;
	  transform: translateY(-50%);
	}	
	.sec_contact .btn a .btnIn .arrows .arrow {
	  display: table-cell;
	  width: 1.46vw;
	  height: 4.4vw;
	  border-left: 1.46vw solid #FFF;
	  border-top: 2.2vw solid transparent;
	  border-bottom: 2.2vw solid transparent;
	}
	.sec_contact {
	  padding: 12vw 0 20vw;
	}	
	
}
footer {
	background-color: #25316a;
}
footer .row01 {
	padding: 39px 0 47px;
}
footer .row01 h3 {
	text-align: center;
	margin-bottom: 45px;
}
footer .row01 h3 img {
	width: 253px;
	height: auto;
}
footer .row02 {
	background-color: #1e2755;
	padding: 21px 0 14px;
}
footer .row01 p,
footer .row01 p a
{
	color: #FFF;
	line-height: 1.6;
}
footer .row01 p > span {
	line-height: 1.6;
}
footer .row02 p {
	color: #FFF;
	font-size: 14px;
	text-align: center;
}
.gotop {
	position: fixed;
	right: -140px;
	bottom: 40px;
	border: 2px solid #d7d4d4;
	border-radius: 10px;
	background-color: rgba(255,255,255,0.70);
	display: table-cell;
	width: 70px;
	height: 70px;
	cursor: pointer;
	transition: 0.3s all ease;
}
.scrolled .gotop {
	right: 40px;
}
.scrolled.end .gotop {
	right: 40px;
	bottom: 320px;
}
.gotop::before {
	content: "";
	display: table-cell;
	width: 22px;
	height: 21px;
	background: center / 100% auto url("../img/gotopArrow.png") no-repeat;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}
@media screen and (max-width: 767px) {
	footer .row01 {
	  padding: 5.8vw 0 7.4vw;
	}	
	footer .row01 h3 {
	  margin-bottom: 5vw;
	}
	footer p, footer p a {
		font-size: 3.8vw;
	}
	footer .row01 h3 img {
	  width: 45vw;
	  height: auto;
	}	
	footer .row02 {
	  padding: 3vw 0;
	}
	footer .row02 p {
	  font-size: 2.8vw;
	}
	.scrolled .gotop {
	  right: 2vw;
	}
	.gotop {
	  right: -20vw;
	  bottom: 2vw;
	  border-radius: 1vw;
	  width: 9.3vw;
	  height: 9.3vw;
	}
	.gotop::before {
	  width: 4vw;
	  height: 4vw;
	}	
	.scrolled.end .gotop {
	  right: 2vw;
	  bottom: 65vw;
	}	
}
.sec_pageHead {
	width: 100%;
	height: 260px;
	position: relative;
}
.sec_pageHead .bg {
	background-color: #d9e1e7;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-860px);
	width: calc(50vw + 860px);
	height: 100%;
}
.sec_pageHead .bg::before {
	content: "";
	display: table-cell;
	width: 50vw;
	height: 260px;
	position: absolute;
	right: 0;
	top: 0;
	background: 60px top / auto 100% url("../img/fv_right.jpg") no-repeat;
}
.sec_pageHead .headIn h2 {
	position: relative;
	font-size: 45px;
	line-height: 260px;
	height: 260px;
	width: 84vw;
	max-width: 1400px;
	margin: 0 auto;
}
.breadcrumbs {
	width: 84vw;
	max-width: 1400px;
	margin: 0 auto;
}
.breadcrumbs {
}
.breadcrumbs ul {
	font-size: 0;
	padding: 16px 0;
}
.breadcrumbs ul li {
	display: inline-block;
	vertical-align: top;
}
.breadcrumbs ul li::after {
	content: ">";
	margin: 0 0.5em;
}
.breadcrumbs ul li:nth-last-child(1)::after {
	display: none;
}
.breadcrumbs ul li a,
.breadcrumbs ul li span 
{
	font-size: 14px;
	font-weight: bold;
	line-height: 1.3;
}
@media screen and (max-width: 1800px) {
	.sec_pageHead .bg {
		position: absolute;
		left: 4vw;
		top: 0;
		transform: translateX(0);
		width: 96vw;
		height: 100%;
	}
}
.contactWrap {
	width: 90vw;
	max-width: 980px;
	margin: 0 auto;
	padding-top: 120px;
}
.page_contact_thanks .contactWrap {
	padding-top: 0;
}
.contactWrap .textBox {
	margin-bottom: 45px;
}
.contactWrap .infoBox {
	
}
.contactWrap .infoBox a {
	display: block;
	background-color: #f4f4f4;
	border-radius: 20px;
	padding: 37px 0;
	text-align: center;
	font-size: 0;
	font-weight: bold;
}
.contactWrap .infoBox a .tel {
	font-size: 32px;
}
.contactWrap .infoBox a .branch {
	font-size: 22px;
}
.contactWrap .infoBox a .time {
	font-size: 18px;
}
.steps {
	padding-top: 70px;
	padding-bottom: 100px;
}
.steps ul {
	font-size: 0;
	text-align: center;
	position: relative
}
.steps ul::before {
	content: "";
	display: table-cell;
	width: 70%;
	height: 4px;
	background: left top / auto 4px url("../img/step_dot.png") repeat-x;
	position: absolute;
	left: 50%;
	top: 63px;
	transform: translateX(-50%);
}
.steps ul li {
	display: inline-block;
	width: 32%;
	margin-right: 2%;
	position: relative;
	padding-top: 154px;
	vertical-align: top;
}
.steps ul li:nth-last-child(1) {
	margin-right: 0;
}
.steps ul li .circle {
	position: absolute;
	display: table-cell;
	width: 130px;
	height: 130px;
	background-color: #e3ebf1;
	border-radius: 50%;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	vertical-align: middle;
}
.steps ul li.current .circle {
	background-color: #356ba2;
}
.steps ul li .text {
	display: block;
	font-size: 18px;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	color: #000;
}
.steps ul li .circle .circleIn {
	position: absolute;
	left: 50%;
	top: 47%;
	transform: translateX(-50%) translateY(-50%);
}
.steps ul li .circle .circleIn .stepText {
	display: block;
	font-size: 16px;
	line-height: 1.0;
	color: #8cabc9;
	margin-bottom: 0.2em;
}
.steps ul li .circle .circleIn .num {
	font-size: 45px;
	font-weight: bold;
	color: #8cabc9;
	text-align: center;
	display: block;
}
.steps ul li.current .circle .circleIn .stepText {
	color: #FFF;
}
.steps ul li.current .circle .circleIn .num {
	color: #FFF;
}
.formWrap {
	padding-bottom: 170px;
}
.formWrap ul {
	display: table;
	width: 100%;
}
.formWrap ul li {
	display: table-row;
	font-size: 16px;
	line-height: 1.3;
	font-weight: bold;
}
.formWrap ul li:nth-child(2n - 1) {
	background-color: #e3ebf1;
}
.formWrap ul li > span {
	display: table-cell;
	vertical-align: middle;
}
.formWrap ul li > span.formTh {
	width: 335px;
	box-sizing: border-box;
	padding: 0 85px 0 30px;
	position: relative;
}
.formWrap ul li.nini > span.formTh::after {
	content: "任意";
	color: #FFF;
	display: table-cell;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	line-height: 28px;
	height: 28px;
	background-color: #639dc5;
	padding: 0 0.5em;
	border-radius: 4px;
}
.formWrap ul li.hissu > span.formTh::after {
	content: "必須";
	color: #FFF;
	display: table-cell;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	line-height: 28px;
	height: 28px;
	background-color: #d90101;
	padding: 0 0.5em;
	border-radius: 4px;
}
.formWrap ul li > span.formTd {
	padding: 16px 16px 16px 0;
	vertical-align: top;
}
.formWrap input[type="text"],
.formWrap input[type="tel"],
.formWrap input[type="email"],
.formWrap input[type="number"],
.formWrap textarea
{
	font-size: 16px;
	line-height: 1.3;
	font-weight: normal;
	border: 1px solid #d7d4d4;
	padding: 10px 15px;
	border-radius: 5px;
	width: 100%;
}
.formWrap textarea {
	min-height: 150px;
}
.formWrap ul li > span.formTd.radioBox {
	padding-top: 33px;
}
.page_contact_confirm .formWrap ul li > span.formTd.radioBox {
	padding-top: 16px;
}
.formWrap .radioBox textarea {
	min-height: 60px;
}
.formWrap .radioBox .block {
	display: block;
	margin-bottom: 16px;
}
.formWrap .radioBox .block label {
	padding-left: 25px;
	position: relative;
	cursor: pointer;
}
.formWrap .radioBox .block label .text {
	line-height: 16px;
	font-weight: normal;
}
.formWrap .radioBox .block label::before {
	content: "";
	display: table-cell;
	width: 16px;
	height: 16px;
	border: 1px solid #000;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	box-sizing: border-box;
}
.formWrap .radioBox .block label:has(input:checked)::before {
	background-color: #1F50A7;
}
.formWrap .radioBox .text {
	font-size: 16px;
}
.formWrap input::placeholder,
.formWrap textarea::placeholder
{
	font-size: 16px;
	color: rgba(0,0,0,0.40);
	font-weight: normal;
}
.formWrap .privacyBox {
	padding: 45px 0 60px;
}
.formWrap .privacyBox p,
.formWrap .privacyBox a
{
	font-size: 16px;
	line-height: 1.6;
	text-align: center;
}
.formWrap .privacyBox p a {
	position: relative;
}
.formWrap .privacyBox p a::before {
	content: "";
	display: table-cell;
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: #000;
	bottom: -3px;
	left: 0;
}
.formWrap .submitBox {
	text-align: center;
}
.page_contact_confirm .formWrap .submitBox {
	padding-top: 60px;
}
.formWrap .submitBox .btn {
	display: inline-block;
	position: relative;
	background-color: #59b1d8;
	padding: 6px;
	margin-right: 45px;
}
.formWrap .submitBox .btn.prev {
	background-color: #c9c9c9;
}
.formWrap .submitBox .btn a,
.formWrap .submitBox .btn button,
.formWrap .submitBox .btn input[type="submit"]
{
	font-size: 18px;
	font-weight: bold;
	display: block;
	width: 348px;
	height: 75px;
	line-height: 73px;
	text-align: center;
	color: #FFF;
	background-color: #59b1d8;
	border: 1px solid #FFF;
	cursor: pointer;
}
.formWrap .submitBox .btn.prev a,
.formWrap .submitBox .btn.prev button,
.formWrap .submitBox .btn.prev input
{
	background-color: #c9c9c9;
}
.formWrap .submitBox .btn a:hover,
.formWrap .submitBox .btn button:hover,
.formWrap .submitBox .btn input[type="submit"]:hover {
	opacity: 0.7;
}
.confirmText {
	display: block;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.3;
	color: #0F2C9E;
	padding: 15px 0;
}
.page_contact_thanks .textBox01 {
	margin-bottom: 60px;
}
.page_contact_thanks .textBox01 p {
	line-height: 1.8;
}
.page_contact_thanks .textBox01 p .big {
	font-size: 40px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 0.5em;
}
.page_contact_thanks .textBox01 p .small {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.3;
}
.page_contact_thanks .textBox02 {
	margin-bottom: 90px;
}
.page_contact_thanks .textBox02 p {
	margin-bottom: 1em;
}
.page_contact_thanks .textBox02 p a {
	font-size: 1.875em;
	font-weight: bold;
	letter-spacing: 0;
	padding: 0 0.2em;
}


@media screen and (max-width: 767px) {
	.sec_pageHead {
	  width: 100%;
	  height: 30vw;
	}
	.sec_pageHead .headIn h2 {
	  position: relative;
	  font-size: 6vw;
	  line-height: 30vw;
	  height: 30vw;
	  width: 84vw;
	  max-width: 1400px;
	  margin: 0 auto;
	}
	.sec_pageHead .bg::before {
	  content: "";
	  display: table-cell;
	  width: 50vw;
	  height: 30vw;
	  background: 4vw top / auto 100% url("../img/fv_right.jpg") no-repeat;
	}
	.sec_pageHead .bg {
	  border-top-left-radius: 4vw;
	  border-bottom-left-radius: 4vw;
	}	
	.breadcrumbs {
		display: none;
	}
	.contactWrap {
	  padding-top: 9vw;
	}
	.contactWrap .infoBox a {
	  display: block;
	  background-color: #f4f4f4;
	  border-radius: 4vw;
	  padding: 4vw 0;
	  text-align: center;
	  font-size: 0;
	}	
	.contactWrap .infoBox a .tel {
	  font-size: 6vw;
		font-weight: bold;
		text-align: center;
		display: block;
		margin-bottom: 2vw;
	}	
	.contactWrap .infoBox a .branch {
	  font-size: 4vw;
		text-align: center;
		display: block;
		margin-bottom: 2vw;
	}
	.contactWrap .infoBox a .time {
	  font-size: 3.4vw;
		display: block;
		text-align: center;
	}
	.contactWrap .textBox {
	  margin-bottom: 4vw;
	}
	.steps ul li .circle {
	  width: 20vw;
	  height: 20vw;
	}	
	.steps ul::before {
	  top: 10vw;
	  transform: translateX(-50%);
	}	
	.steps ul li {
	  padding-top: 23vw;
	}	
	.steps ul li .circle .circleIn .stepText {
	  font-size: 3.2vw;
	}
	.steps ul li .circle .circleIn .num {
	  font-size: 7vw;
	}	
	.steps ul li .text {
	  font-size: 3.4vw;
	}
	.steps {
	  padding-top: 6vw;
	  padding-bottom: 9vw;
	}
	.formWrap ul {
	  display: block;
	  width: 100%;
	}	
	.formWrap ul li {
	  display: block;
	  font-size: 3.8vw;
		padding: 5vw 4vw 4vw;
		border-bottom: 1px solid #eee;
	}	
	.formWrap ul li > span {
	  display: block;
	width: 100%;
	}
	.formWrap ul li > span.formTh {
	  padding: 0;
	  position: relative;
		width: 100%;
	}	
	.formWrap ul li > span.formTd {
	  padding: 2vw 0 0;
	  vertical-align: top;
	}	
	.formWrap ul li.hissu > span.formTh::after {
	  right: 0;
	  line-height: 1.6em;
	  height: 1.6em;
	  padding: 0 0.3em;
	  border-radius: 1vw;
	}	
	.formWrap ul li.nini > span.formTh::after {
		  right: 0;
		  line-height: 1.6em;
		  height: 1.6em;
		  padding: 0 0.3em;
		  border-radius: 1vw;
	}	
	.formWrap input[type="text"], .formWrap input[type="tel"], .formWrap input[type="email"], .formWrap input[type="number"], .formWrap textarea {
	  font-size: 3.8vw;
	  padding: 3vw;
	  border-radius: 2vw;
	}
	.formWrap .privacyBox p, .formWrap .privacyBox a {
	  font-size: 3.8vw;
		line-height: 2.0;
	}
	.formWrap .submitBox .btn a, .formWrap .submitBox .btn button, .formWrap .submitBox .btn input[type="submit"] {
	  font-size: 4vw;
	  width: 60vw;
	  height: 12vw;
	  line-height: calc(12vw - 2px);
	}
	.formWrap .radioBox .block label {
	  padding-left: 4vw;
	}	
	.formWrap .radioBox .block label .text {
		font-size: 3.8vw;
	  line-height: 1.0;
	}	
	.formWrap .radioBox .text {
	  font-size: 3.2vw;
	}
	.formWrap {
	  padding-bottom: 17vw;
	}

	.formWrap .radioBox .block label::before {
	  width: 3vw;
	  height: 3vw;
	}
	.formWrap ul li > span.formTd.radioBox {
	  padding-top: 4.6vw;
	}	
	.formWrap .radioBox .block {
	  display: block;
	  margin-bottom: 3vw;
	}
	.formWrap .privacyBox {
	  padding: 9vw 0 11vw;
	}	
	.formWrap input::placeholder,
	.formWrap textarea::placeholder
	{
		font-size: 3.8vw;
	}
	.confirmText {
	  font-size: 3.8vw;
	  padding: 4vw 0;
	}	
	.formWrap .submitBox .btn {
	  padding: 0.8vw;
		margin: 0 auto 6vw;
	}
	.page_contact_thanks .textBox01 p .big {
	  font-size: 6vw;
	}
	.page_contact_thanks .textBox01 p .small {
	  font-size: 4vw;
	  line-height: 1.3;
	}	
	.page_contact_thanks .textBox02 p {
		font-size: 3.8vw;
		text-align: left;
		text-align-last: left;
	}	
	.page_contact_thanks .textBox01 {
	  margin-bottom: 6vw;
	}	
	.page_contact_thanks .textBox02 {
	  margin-bottom: 11vw;
	}

}
.f_nomal{
	font-weight: normal !important;
	font-size: 90% !important;
}

footer .row01_2 ul {
    font-size: 0;
    text-align: center;
	margin-bottom: 55px;
}
footer .row01_2 ul li {
    display: inline-block;
}
footer .row01_2 ul li a {
    color: #FFF;
    padding-right: 25px;
    position: relative;
}
footer .row01_2 ul li a::after {
    content: "";
    display: table-cell;
    background: center center / 100% auto url(../img/icn_blank.png) no-repeat;
    width: 16px;
    height: 16px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
footer .row01_2 ul li.left::after {
    content: "｜";
    color: #FFF;
    margin: 0 1em;
}

@media screen and (max-width: 767px) {
footer .row01_2 ul {
	margin-bottom: 40px;
}
footer .row01_2 ul li {
    display: block;
    text-align: center;
}
footer .row01_2 ul li.left::after {
    content: "";
    color: #FFF;
    margin: 0 1em;
}
footer .row01_2 ul li.left{
    margin-bottom: 10px;
}
footer .row01_2 ul li a {
    font-size: 3.8vw;
}
}