@charset "UTF-8";
/* CSS Document */

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/*----------------
Common
----------------*/
html{
	font-size:62.5%;
}
*,*::before,*::after{
	max-height:99999px;
	box-sizing: border-box;
}
body{
	font-family: "Noto Sans Japanese","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	-webkit-text-size-adjust: 100%;
	font-size:1.4rem;
	color: #444;
	font-weight: 600;
}
img{
	vertical-align:bottom;
	max-width: 100%;
}
li{
	list-style:none;
}
a{
	text-decoration:none;
	color: #054f9e;
}

.wrap{
	overflow:hidden;
}

.pc{
	display:block;
}
.sp{
	display:none;
}

/*conrent-width*/
.in{
	width:1200px;
	margin:0 auto;
	position: relative;
}
.riq_wrap{
	width:90vw;
	margin:0 auto;
	position: relative;
}

/*layout*/
.relative{
	position:relative;
}
.absolute{
	position:absolute;
}
.inline{
	display:inline-block;
}
.left{
	float:left;
}
.right{
	float:right;
}
.flex{
	display: flex;
}
.between{
	justify-content: space-between;
}
.j_center{
	justify-content:center;
}
.a_center{
	align-items:center;
}
.fl_wrap{
	flex-wrap: wrap;
}

/*text*/
.l_h_15{
	line-height: 1.5;
}
.l_h_2{
	line-height: 2;
}
.l_s_300{
	letter-spacing: 5px;
}
.f_w_100{
	font-weight: 100;
}
.f_w_400{
	font-weight: 400;
}
.f_w_500{
	font-weight: 500;
}
.c_w{
	color: #fff !important;
}

/*margin-padding*/
.p_p_01{
	padding: 100px 0;
}
.p_p_02{
	padding: 60px 0;
}



.ttl{
	display: inline-block;
  white-space: nowrap;
  width: 0%;
  transition: 0.75s;
  overflow: hidden;
  position: relative;
}
.ttl.anim_eff.ac{
	width: 100%;
}
.ttl span.eff_y{
	font-size: 2.6rem;
	font-weight: 600;
	letter-spacing: 4px;
	line-height: 1;
	position: relative;
	padding-left: 90px;
	color: #054f9e;
	display: inline-block;
	overflow: hidden;
}
.ttl span.sf{
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 2px;
	margin-left: 10px;
}
.ttl:before{
	display: block;
	content: "";
	width: 70px;
	height: 1px;
	position: absolute;
	top:50%;
	transform: translate(0,-50%);
	background: #054f9e;
	left: 0;
}
.ttl.c_c:before{
	background: #fff !important;
}
.c_c{
	color: #fff !important;
}
.bgg{
	background:url('../images/x2/g_bg.jpg') center;
	background-size: cover;
}
.bggrd{
	background:url('../images/x2/p_grd_bg.jpg') center;
	background-size: cover;
}
.leadtext{
	font-size: 2.0rem;
	font-weight: 600;
	letter-spacing: 4px;
}
.marker{

}


.loading{
  background: #054f9e;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
	width: 100%;
	position: fixed;
	animation: gradient_animation 10s linear infinite;
	z-index: 9999999;
	transition: 0.5s;
}
.loading.hide{
	width: 0%;
}
@keyframes gradient_animation {
  to { background-position-x: 200%; }
}
.spinner {
  width: 40px;
  height: 40px;
  background-color: #fff;
  margin: 100px auto;
  -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
  animation: sk-rotateplane 1.2s infinite ease-in-out;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

@-webkit-keyframes sk-rotateplane {
  0% { -webkit-transform: perspective(120px) }
  50% { -webkit-transform: perspective(120px) rotateY(180deg) }
  100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes sk-rotateplane {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
  } 50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
  } 100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

.spinner.anim {
	animation-name: sc_anim;
	animation-duration: 1s;
	animation-timing-function: ease;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}
@keyframes sc_anim {
  0% {
    transform: scale(1);
  } 20% {
    transform: scale(0.5);
  } 100% {
    transform: scale(50);
  }
}


/*main*/
.main{
	height: 90vh;
	width: 100%;
	position:relative;
	z-index: 6;
}
.main .main_head{
	padding-top: 23vh;
}
.main .main_head:before{
	z-index: -1;
	content: "";
	display: block;
	width: 30vw;
  height: 16vw;
	background: url('../images/x2/h_tri.png');
	background-size: cover;
	position: absolute;
	top:0;
}
.main .textarea{
	z-index: 2;
	left: 5vw;
	bottom:5vh;
}
.main .textarea h1 p{
	display: inline-block;
	white-space: nowrap;
	width: 0%;
	transition: 0.5s;
	overflow: hidden;
	position: relative;
}


.main .textarea h1 span{
	display: inline-block;
	font-size: 3vw;
	background: #fff;
	padding: 10px;
	font-weight: 600;
	letter-spacing: 5px;
	margin-bottom: 5px;
	position: relative;
}
.main .textarea h1 .c_wrap:before{
	content: "";
	display: block;
	background: #054f9e;
	width: 100%;
	height: 100%;
	position: absolute;
	right: 0;
	top:0;
	z-index: 2;
	transition: 0.25s;
}
.main .textarea h1 .c_wrap.actv:before{
	width: 0%;
}
.main .textarea h1 span.grd{
	background: #054f9e;
	background-clip: text;
	-webkit-background-clip: text;
	text-fill-color: transparent;
	-webkit-text-fill-color: transparent;
	padding: 0;
	position: relative;
	z-index: 1;
}
.main .imgarea{
	height: 100%;
	width: 65vw;
	right: 0;
	top:0;
}
.main .imgarea #mainImg_wrap{
	width: 100%;
	height: 100%;
	position: relative;
  overflow: hidden;
}
.main .imgarea #mainImg_wrap iframe{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
  width: 177.77777778vh;
  min-width: 100%;
  min-height: 100%;
  height: 100%;
}
}
.main .imgarea .mainImg_lis{
	width: 100%;
	height: 100%;
	opacity: 0;
	transform: scale(1);
	transition: opacity 2s linear, transform 7.5s linear;  //秒数に注意
	position: relative;
	z-index: 1;
}
.mainImg_lis_01{
	background:url('../images/x2/mainimage_01.jpg') center;
	background-size: cover;
}
.mainImg_lis_02{
	background:url('../images/x2/mainimage_02.jpg') center;
	background-size: cover;
}
.mainImg_lis_03{
	background:url('../images/x2/mainimage_03.jpg') center;
	background-size: cover;
}
.mainImg_lis_04{
	background:url('../images/x2/mainimage_04.jpg') center;
	background-size: cover;
}
.main .imgarea .mainImg_lis:not(:first-child){
	position: absolute;
	top: 0;
	left : 0;
}
.main .imgarea .mainImg_lis.show_{
  opacity: 1;
}
.main .imgarea .mainImg_lis.zoom_{
  transform: scale(1.1);
}
.main .imgarea .mainImg_lis img{
  display: block; //下に余白ができないように
}



.btn_wrap{
	position: relative;
	width: 235px;
	height: 55px;
	margin-top: 30px;
	overflow-x: hidden;
}
.btn_wrap:before{
	width: 20px;
	height: 2px;
	content: "";
	display: block;
	position: absolute;
	top:50%;
	right: -10px;
	transform:translate(0,-50%);
	background: #054f9e;
	z-index: 1;
}
.btn_wrap:after{
	width: 100%;
	height: 100%;
	content: "";
	display: block;
	position: absolute;
	top:50%;
	left: -100%;
	transform:translate(0,-50%);
	background: #054f9e;
	z-index: 1;
	transition: 0.5s;
}
.btn_wrap:hover:after{
	top:50%;
	left: 0;
}
.c_btn{
	font-size: 2.2rem;
	letter-spacing: 4px;
	display: block;
	padding: 10px 0;
	height: 100%;
	text-align: center;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	transition: 0.5s;
	background: none;
    border: none;
    width: 100%;
		color: #054f9e;
}
.c_btn:hover{
	color: #fff;
}
.c_btn:before{
	width: 30px;
	height: 55px;
	border-top:2px solid #054f9e;
	border-left:2px solid #054f9e;
	border-bottom:2px solid #054f9e;
	content: "";
	display: block;
	position: absolute;
	top:50%;
	transform:translate(0,-50%);
	left:0;
}
.c_btn:after{
	width: 30px;
	height: 55px;
	border-top:2px solid #054f9e;
	border-right:2px solid #054f9e;
	border-bottom:2px solid #054f9e;
	content: "";
	display: block;
	position: absolute;
	top:50%;
	transform:translate(0,-50%);
	right:0;
}


.whats{
	padding: 200px 0 0;
	transform:skewY(-10deg);
	position: relative;
	z-index: 5;
}
.whats .in{
	transform:skewY(10deg);
}
.whats .textarea{
	background: #fff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
	width: 95%;
	float: right;
	padding: 70px 300px 0px 40px;
}
.whats h2{
	transition: 0.75s;
	position: absolute;
	top: -15%;
	left: -5%;
	white-space: nowrap;
}
.whats h2.anim_eff.ac{
	width: 100%;
}
.whats h2 .eff_y{
	background: #054f9e;
	display: inline-block;
	padding: 20px 20px 20px 90px;
	overflow: hidden;
}
.whats .textarea .leadtext{
	margin-bottom: 30px;
}
.whats .textarea .description{
	border-left: 1px solid #054f9e;
	padding-left: 20px;
	padding-bottom: 40px;
}

.good{
	position:relative;
	z-index: 4;
	padding:300px 0 80px;
	top:-150px;
	transform:skewY(-10deg);
}
.good .in{
	transform:skewY(10deg);
}

.good .ttl{
	margin-bottom:20px;
	overflow: hidden;
}
.good .ttl .eff_y{
	padding-top: 30px;
	padding-bottom: 30px;
}
.good .ttl .eff_y:before{
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	padding: 10px;
	top:50%;
	left: -100%;
}
.good .ttl.ac .eff_y:before{
	left: 0;
	-webkit-animation-name: obiStart,obiEnd;
	animation-name: obiStart,obiEnd;
	-webkit-animation-duration: .4s,.4s;
	animation-duration: .4s,.4s;
	-webkit-animation-timing-function: cubic-bezier(.86,0,.07,1),cubic-bezier(.86,0,.07,1);
	animation-timing-function: cubic-bezier(.86,0,.07,1),cubic-bezier(.86,0,.07,1);
	-webkit-animation-delay: 0s,.6s;
	animation-delay: 0s,.6s;
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
}

@keyframes Obi {
	0% {
			-webkit-transform: translateX(-101%) translate(0,-50%);
			transform: translateX(-101%) translate(0,-50%)
	}
	100% {
			-webkit-transform: translateX(0) translate(0,-50%);
			transform: translateX(0) translate(0,-50%)
	}
}
@-webkit-keyframes obiStart {
		0% {
				-webkit-transform: translateX(-101%) translate(0,-50%);
				transform: translateX(-101%) translate(0,-50%)
		}
		100% {
				-webkit-transform: translateX(0) translate(0,-50%);
				transform: translateX(0) translate(0,-50%)
		}
}

@keyframes obiStart {
		0% {
				-webkit-transform: translateX(-101%) translate(0,-50%);
				transform: translateX(-101%) translate(0,-50%)
		}
		100% {
				-webkit-transform: translateX(0) translate(0,-50%);
				transform: translateX(0) translate(0,-50%)
		}
}

@-webkit-keyframes obiEnd {
		0% {
				-webkit-transform: translateX(0) translate(0,-50%);
				transform: translateX(0) translate(0,-50%)
		}
		100% {
				-webkit-transform: translateX(101%) translate(0,-50%);
				transform: translateX(101%) translate(0,-50%)
		}
}

@keyframes obiEnd {
		0% {
				-webkit-transform: translateX(0) translate(0,-50%);
				transform: translateX(0) translate(0,-50%)
		}
		100% {
				-webkit-transform: translateX(101%) translate(0,-50%);
				transform: translateX(101%) translate(0,-50%)
		}
}
.list_wrap .list{
	text-align: center;
	width: 30%;
}
.list_wrap .list .num{
	font-size: 2.2rem;
	letter-spacing: 4px;
	margin-bottom: 10px;
}
.lis_co_wrap{
	background: #fff;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
	padding: 35px 0;
}
.lis_co_wrap .imgarea{
	margin-bottom: 25px;
}
.lis_co_wrap .textarea{
	font-size: 1.8rem;
	letter-spacing: 4px;
}


.gp02{
	padding:0px 0 80px;
	position: relative;
	background: none;
	text-align: center;
	margin-top: -20px;
}
.gp02:before{
	background:url('../images/x2/g_bg.jpg') center right;
	background-size: cover;
	display: block;
	content: "";
	width: 100%;
	height: calc(100% + 300px);
	position: absolute;
	top:-300px;
}
.gp02 .textarea .leadtext{
	font-size: 2.6rem;
	margin-bottom: 30px;
}
.gp02 .textarea h2{
	font-size: 2.6rem;
	letter-spacing: 4px;
	color: #054f9e;
	margin-bottom: 30px;
}

.gp02 .textarea .description{
	font-size: 2.2rem;
	line-height: 1.5;
	color: #054f9e;
	letter-spacing: 4px;
	width: 500px;
	padding: 35px;
	margin: auto;
	position: relative;
}
.gp02 .textarea .description:before {
    width: 90px;
    height: 90px;
    border-top: 15px solid #b4cae2;
    border-right: 15px solid #b4cae2;
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
}
.gp02 .textarea .description:after{
	width: 90px;
	height: 90px;
	border-bottom: 15px solid #b4cae2;
	border-left: 15px solid #b4cae2;
	display: block;
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
}

.gp02 .imgarea{
	justify-content: center;
	margin-top: 80px;
	position: relative;
}
.gp02 .imgarea:after{
	position: absolute;
	content: "";
	width: 100%;
	height: 10px;
	background: #fff;
	display: block;
	top:50%;
	transform: translate(0,-50%);
}
.gp02_ico{
	position: relative;
	width: 180px;
	height: 180px;
	background: #054f9e;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
	text-align: center;
	margin-right: 30px;
	z-index: 1;
}
.gp02_ico:last-child{
	margin-right: 0;
}

.cs{
	padding: 100px 0;
	position: relative;
}
.cs:before{
	z-index: -1;
	content: "";
	display: block;
	width: 15vw;
	height: 11vw;
	background: url(../images/x2/cs_tri_t.png);
	background-size: cover;
	position: absolute;
	top: 0;
	right: 0;
}
.cs:after{
	z-index: -1;
	content: "";
	display: block;
	width: 15vw;
	height: 10vw;
	background: url(../images/x2/cs_tri_b.png);
	background-size: cover;
	position: absolute;
	bottom: 0;
	left: 0;
}
.cs h2{
	margin-bottom: 20px;
}

.cs .ttl .eff_y {
    padding-top: 30px;
    padding-bottom: 30px;
}
.cs .ttl .eff_y:before{
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	content: "";
	background: #054f9e;
	padding: 10px;
	top:50%;
	left: -100%;
}
.cs .ttl.ac .eff_y:before{
	left: 0;
	-webkit-animation-name: obiStart,obiEnd;
	animation-name: obiStart,obiEnd;
	-webkit-animation-duration: .4s,.4s;
	animation-duration: .4s,.4s;
	-webkit-animation-timing-function: cubic-bezier(.86,0,.07,1),cubic-bezier(.86,0,.07,1);
	animation-timing-function: cubic-bezier(.86,0,.07,1),cubic-bezier(.86,0,.07,1);
	-webkit-animation-delay: 0s,.6s;
	animation-delay: 0s,.6s;
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
}

.cs_con .textarea{
	width: 45%;
	margin-left: 100px;
}

.lcs{
	padding: 80px 0;
}
.lcs h2{
	margin-bottom: 70px;
}

.lcs .ttl .eff_y {
    padding-top: 30px;
    padding-bottom: 30px;
}
.lcs .ttl .eff_y:before{
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	padding: 10px;
	top:50%;
	left: -100%;
}
.lcs .ttl.ac .eff_y:before{
	left: 0;
	-webkit-animation-name: obiStart,obiEnd;
	animation-name: obiStart,obiEnd;
	-webkit-animation-duration: .4s,.4s;
	animation-duration: .4s,.4s;
	-webkit-animation-timing-function: cubic-bezier(.86,0,.07,1),cubic-bezier(.86,0,.07,1);
	animation-timing-function: cubic-bezier(.86,0,.07,1),cubic-bezier(.86,0,.07,1);
	-webkit-animation-delay: 0s,.6s;
	animation-delay: 0s,.6s;
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
}

.lcs .list_wrap{
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
	background: #fff;
}
.lcs .list_wrap .list{
	text-align: center;
	width: 33.33333%;
	position: relative;
	border-right: 1px solid #054f9e;
}
.lcs .list_wrap .list:last-child{
	border-right: 0px solid #054f9e;
}
.lcs .list_wrap .list .num{
	font-size: 2.2rem;
	letter-spacing: 4px;
	margin-bottom: 10px;
	position: absolute;
	top:-50px;
	width: 100%;
}
.lcs .lis_co_wrap{
	background: #fff;
	box-shadow: none;
	padding: 35px 0;
}
.lcs .lis_co_wrap .imgarea{
	margin-bottom: 40px;
}
.lcs .lis_co_wrap .textarea{
	font-size: 1.8rem;
	letter-spacing: 4px;
}


.result_ttl{
	align-items: center;
	margin-bottom: 50px;
}
.result_ttl .result_ttl_com{
	border-right: 1px solid #054f9e;
	padding-right: 20px;
	margin-right: 20px;
}
.result_ttl .result_ttl_com span{
	display: block;
	font-size: 1.8rem;
}
.result_ttl .result_ttl_com span.comp_name{
	letter-spacing: 4px;
	margin-bottom: 5px;
}
.result_ttl .result_ttl_com span.tag{
	display: block;
	background: #054f9e;
	color: #fff;
	border-radius: 100px;
	padding: 5px 10px;
	font-size: 1.4rem;
}
.result_ttl_name{
	font-size: 2.8rem;
	letter-spacing: 4px;
}
.result_ttl_name span{
	font-size: 1.8rem;
	margin-left: 15px;
}
.cs_con .description{
	line-height: 2;
}

.cs_con .imgarea{
	margin-left: 40px;
	position: relative;
	width: calc(100% - 45% - 40px);
}
.cs_con .imgarea .img_con{
	position: absolute;
}
.img01{
	left: 0;
	bottom:-150px;
	z-index: 1;
}
.img02{
	right: 0;
	top:-150px;
}

.price{
	padding: 100px 0;
}
.price .ttl{
	margin-bottom:20px;
}

.price .ttl .eff_y {
    padding-top: 30px;
    padding-bottom: 30px;
}
.price .ttl .eff_y:before{
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	content: "";
	background: #054f9e;
	padding: 10px;
	top:50%;
	left: -100%;
}
.price .ttl.ac .eff_y:before{
	left: 0;
	-webkit-animation-name: obiStart,obiEnd;
	animation-name: obiStart,obiEnd;
	-webkit-animation-duration: .4s,.4s;
	animation-duration: .4s,.4s;
	-webkit-animation-timing-function: cubic-bezier(.86,0,.07,1),cubic-bezier(.86,0,.07,1);
	animation-timing-function: cubic-bezier(.86,0,.07,1),cubic-bezier(.86,0,.07,1);
	-webkit-animation-delay: 0s,.6s;
	animation-delay: 0s,.6s;
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
}

.price .price_text{
	font-size: 2.6rem;
	color: #054f9e;
	letter-spacing: 4px;
}
.price .price_text span{
	font-size: 1.8rem;
}

.contact{
	padding: 80px 0;
}

.contact .form_wrap{
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
	background: #fff;
	padding: 50px;
	margin-top: 50px;
}
.contact .form_wrap table{
	width: 100%;
}
.contact .form_wrap table th{
	width: 25%;
	text-align: left;
	vertical-align: middle;
	position: relative;
	padding: 25px 0;
}
.contact .form_wrap table th.requir:after {
    content: "必須";
    color: #be2d2d;
    position: absolute;
    right: 20px;
}
.contact .form_wrap table td{
	width: 100%;
}
.contact .form_wrap table td input,
.contact .form_wrap table td textarea{
	width: 100%;
	padding:20px 10px;
	text-align: left;
	border: 1px solid #ccc;
}
.contact .form_wrap table td textarea{
	height: 250px;
}

.copy{
	font-size: 1.2rem;
	text-align: center;
	padding: 10px;
}

@media screen and (max-width: 640px) {
	body{
		font-size:2.2rem;
	}
	.pc{
		display:none;
	}
	img.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	img.sp{
		display:inline;
	}

	.in{
		width:580px !important;
	}
	.riq_wrap {
    width: 95vw;
	}

	.ttl span.eff_y {
    font-size: 3.6rem;
    padding-left: 0;
		letter-spacing: 2px;
		line-height: 1.25;
	}
	.ttl span.sf {
		line-height: 1;
    font-size: 2.2rem;
    font-weight: 600;
    letter-spacing: 2px;
    margin-left: 0;
		display: block;
		margin-top: 25px;
	}
	.ttl:before{
		display: none;
	}

	.main {
    height: 80vh;
	}
	.main .main_head {
    padding-top: 30px;
    z-index: 2;
	}
	.main .main_head:before {
		width: 300px;
    height: 160px;
	}

	.leadtext {
    font-size: 2.6rem;
		letter-spacing: 1;
  }

	.main .imgarea {
    height: 100%;
    width: 100%;
    right: 0;
    top: 0;
	}
	.main .textarea {
    bottom: 5vh;
		left: 0;
	}
	.main .textarea h1 span {
		font-size: 4.5rem;
		letter-spacing: 0;
	}


	.whats h2{
		padding-left: 20px;
		top: -150px;
	}
	.whats .textarea {
    padding: 60px 50px 0;
	}

	.list_wrap{
		flex-wrap: wrap;
	}
	.list_wrap .list {
    width: 100%;
		margin-bottom: 40px;
	}
	.lis_co_wrap .textarea {
    font-size: 2.5rem;
  }
	.list_wrap .list .num {
    font-size: 2.5rem;
  }

	.gp02 .textarea .leadtext {
    font-size: 2.8rem;
	}
	.gp02 .textarea h2 {
    font-size: 2.8rem;
  }
	.gp02 .textarea .description {
    font-size: 2.8rem;
    width: 580px;
    padding: 50px 40px;
	}


	.cs {
    padding: 100px 0 500px;
    position: relative;
	}
	.cs:before {
		width: 200px;
    height: 150px;
	}
	.cs:after {
		width: 200px;
    height: 150px;
	}

	.result_ttl .result_ttl_com span {
	    display: block;
	    font-size: 3.0rem;
	}
	.result_ttl .result_ttl_com span.tag {
    font-size: 2.2rem;
    text-align: center;
	}
	.result_ttl_name {
    font-size: 3.6rem;
  }
	.result_ttl_name span {
    font-size: 2.2rem;
    margin-left: 15px;
	}

	.cs_con{
		flex-wrap: wrap;
	}
	.cs_con .textarea {
    width: 100%;
		margin-left: 0;
  }
	.cs_con .imgarea {
    width: 100%;
	}
	.img01 {
    left: -100px;
    bottom: -360px;
    z-index: 1;
	}
	.img02 {
    right: -70px;
    top: 250px;
	}

	.lcs {
    padding: 150px 0 80px;
	}

	.lcs .list_wrap{
		flex-wrap: wrap;
	}
	.lcs .list_wrap .list {
		padding-top: 40px;
    text-align: center;
    width: 100%;
    position: relative;
    border-right: 0px solid #054f9e;
		border-bottom: 1px solid #054f9e;
		margin-bottom: 0;
	}
	.lcs .list_wrap .list:last-child{
		border-bottom: 0px solid #054f9e;
	}
	.lcs .list_wrap .list .num{
    font-size: 2.6rem;
		color: #054f9e;
    letter-spacing: 4px;
    margin-bottom: 10px;
    position: relative;
    top: 0;
    width: 100%;
	}
	.lcs .lis_co_wrap .textarea {
    font-size: 2.4rem;
    letter-spacing: 4px;
	}

	.contact .form_wrap table th,
	.contact .form_wrap table td{
		display: block;
		width: 100%;
	}




}


.thanks .thanks_wrap{
	height: 100vh;
	width: 100%;
	position: relative;
	align-items: center;
	justify-content: center;
}
.thanks .thanks_ttl{
	font-size: 2.0rem;
	margin-bottom: 30px;
}
.thanks .thanks_wrap:before {
    z-index: -1;
    content: "";
    display: block;
    width: 15vw;
    height: 11vw;
    background: url(../images/x2/cs_tri_t.png);
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
}
.thanks .thanks_wrap:after {
    z-index: -1;
    content: "";
    display: block;
    width: 15vw;
    height: 10vw;
    background: url(../images/x2/cs_tri_b.png);
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 0;
}



