body {
    height: 100%;
    margin: 0;
    font-feature-settings: 'palt';
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	background: #f8f8f7;
}



.marker01{
    display: inline;
    background-image: linear-gradient(90deg, #cd9c51, #cd9c51);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 100%;
    transition: all 0.8s ease;
}
.marker01.active {
    background-size: 100% 100%;
}
.marker02{
    display: inline;
    background-image: linear-gradient(90deg, #fff, #fff);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 100%;
    transition: all 0.8s ease;
}
.marker02.active {
    background-size: 100% 100%;
}
.marker03{
    display: inline;
    background-image: linear-gradient(90deg, #000, #000);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 100%;
    transition: all 0.8s ease;
}
.marker03.active {
    background-size: 100% 100%;
}
.marker04{
    display: inline;
    background-image: linear-gradient(90deg, #cd9c51, #cd9c51);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 2px;
    transition: all 0.8s ease;
}
.marker04.active {
    background-size: 100% 2px;
}

.f-up,.f-up02,.f-up03,.f-up04,.f-down,.f-l,.f-l02,.f-l03,.f-r,.f-r02{
    opacity : 0;
}

.f-up.active{
    opacity : 1;
    animation-name: f-up;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-delay: .5s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
}
.f-up02.active{
    opacity : 1;
    animation-name: f-up;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-delay: 1s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
}
.f-up03.active{
    opacity : 1;
    animation-name: f-up;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-delay: 1.5s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
}
.f-up04.active{
    opacity : 1;
    animation-name: f-up;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-delay: 2.5s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes f-up {
    0% {
      opacity: 0;
      transform: translateY(20px);
    }
    100% {
      opacity: 1;
      transform: translateY(0px);
    }
}	

.f-down.active{
    opacity : 1;
    animation-name: f-down;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes f-down {
    0% {
      opacity: 0;
      transform: translateY(-20px);
    }
    100% {
      opacity: 1;
      transform: translateY(0px);
    }
}	

.f-l.active{
    opacity : 1;
    animation-name: f-l;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
}
.f-l02.active{
    opacity : 1;
    animation-name: f-l;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-delay: 1s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
}
.f-l03.active{
    opacity : 1;
    animation-name: f-l;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-delay: 2s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes f-l {
    0% {
      opacity: 0;
      transform: translateX(-20px);
    }
    100% {
      opacity: 1;
      transform: translateX(0px);
    }
}	

.f-r.active{
    opacity : 1;
    animation-name: f-r;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
}
.f-r02.active{
    opacity : 1;
    animation-name: f-r;
    animation-duration: 1s;
    animation-timing-function: ease-out;
    animation-delay: 1s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes f-r {
    0% {
      opacity: 0;
      transform: translateX(20px);
    }
    100% {
      opacity: 1;
      transform: translateX(0px);
    }
}	

@keyframes poyoyon2 {
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  50%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  60% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  70% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  80% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  90% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}

/*imac*/
@media screen and (min-width: 2560px) and (max-width: 5120px) {
	.sp-on{
		display: none !important;
	}

	.fade01 {
		animation-name: mv-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 1s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in {
		0% {
		  opacity: 0;
		  transform: translateX(-20px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px);
		}
	}
	.fade02 {
		animation-name: mv-in2;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in2 {
		0% {
		  opacity: 0;
		}
		100% {
		  opacity: 1;
		}
	}
	.fade03 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade04 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 3s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade05 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in3 {
		0% {
		  opacity: 0;
		  transform: translateX(20px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px);
		}
	}
	.fade-txt01 {
		animation-name: mv-txt01;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-txt01 {
		0% {
		  opacity: 0;
		  transform: translateY(20px);
		}
		100% {
		  opacity: 1;
		  transform: translateY(0px);
		}
	}
	
	/*fix-nav*/
	.fix-nav{
		width: 100%;
		max-width: 2200px;
		position: fixed;
		right: 0%;
		left: 0;
		margin: 0 auto;
		top: 3%;
		z-index: 99;
	}
	.fix-nav .logo{
		width: 7%;
		display: block;
		position: absolute;
		left: 2%;
		top: 3%;
		z-index: 99;
	}
	.fix-nav-list{
		width: max-content;
		display: flex;
		justify-content: flex-end;
		position: absolute;
		right: 2%;
	}
	.fix-nav-list li{
		width: max-content;
		margin: 0 0 0 20px;
	}
	.fix-nav-list li a{
		width: 100%;
		background: #fff;
		box-sizing: border-box;
		padding: 10px 20px;
		color: #000;
		text-decoration: none;
		font-size: 13px;
		letter-spacing: 3px;
		transition: .3s;
	}
	.fix-nav-list li a:hover{
		background: #000;
		color: #fff;
		transition: .3s;
	}
	.fix-nav-list li a.end{
		width: 100%;
		background: #000;
		box-sizing: border-box;
		padding: 10px 20px;
		color: #fff;
		text-decoration: none;
		font-size: 13px;
		letter-spacing: 3px;
		transition: .3s;
	}
	.fix-nav-list li a.end:hover{
		background: #fff;
		color: #000;
		transition: .3s;
	}
	
	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 80px;
		right: 15px;
        top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		z-index: 10;
	}
	.side-nav a{
		width: 100%;
		display: block;
		opacity: 1;
		transition: .3s;
	}
	.side-nav a:hover{
		opacity: .5;
		transition: .3s;
	}
	
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 20px;
		width: 50px;
		display: block;
		z-index: 99;
	}
	
	/*header*/
	header{
		width: 100%;
		max-width: 2200px;
		overflow: hidden;
		margin: 0 auto;
		position: relative;
	}
	.mv-s{
		margin: 0;
		line-height: 0;
	}
	.mv-data{
		width: 35%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: #fff;
		clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
	}
	.mv-data .title{
		width: 70%;
		overflow: hidden;
		display: block;
		margin: 25% 0 10% 10%;
	}
	.mv-data .txt{
		font-size: 20px;
		letter-spacing: 6px;
		display: block;
		margin: 3% 0 7% 10%;
		overflow: hidden;
	}
	.mv-data .txt span{
		width: max-content;
		font-size: 35px;
		letter-spacing: 4px;
		display: block;
		font-weight: 600;
		padding: 0 10px;
		margin: 10px 0 0 0;
	}
	.mv-data .txt02{
		font-size: 20px;
		letter-spacing: 6px;
		display: block;
		margin: 3% 0 0 10%;
		overflow: hidden;
	}
	.mv-data .txt02 span{
		width: max-content;
		font-size: 35px;
		letter-spacing: 4px;
		display: block;
		font-weight: 600;
		padding: 0 10px;
		margin: 10px 0 0 0;
	}
	.mv-img{
		width: 100%;
		position: relative;
		z-index: -1;
	}
	.mv-img .txt-box{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		bottom: 5%;
		right: 17%;
	}
	.mv-img .txt-box li:first-child{
		width: max-content;
		margin: 0;
	}
	.mv-img .txt-box li{
		width: max-content;
		margin: 0 0 0 15px;
	}
	.mv-img .txt-box li img{
		height: 130px;
	}
	
	/*wrap*/
	#wrap{
		position: relative;
		padding: 0 0 1% 0;
	}
	
	/*service*/
	.service {
		width: 100%;
		max-width: 2200px;
		margin: 0 auto;
		position: relative;
	}
	.service .bg{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 900px;
		clip-path: polygon(0 40%, 100% 0, 100% 100%, 0% 100%);
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 200% 200%;
		animation: bggradient 10s ease infinite;
		z-index: -1;
	}
	.service02 .bg{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 900px;
		clip-path: polygon(0 40%, 100% 0, 100% 100%, 0% 100%);
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 200% 200%;
		animation: bggradient 10s ease infinite;
		z-index: -1;
	}
	@keyframes bggradient{
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	
	/*service01*/
	.service01{
		width: 100%;
		max-width: 1400px;
		margin: 0 auto;
		position: relative;
		padding: 5% 0 0 0;
	}
	.service01 .title-box{
		width: 100%;
		position: relative;
		top: 40px;
	}
	.service01 .title-box .title-txt{
		font-size: 25px;
		font-weight: 600;
    	letter-spacing: 6px;
		line-height: 1.8em;
	}
	.service01 .title-box .title-txt span{
		padding: 10px 10px;
	}
	.service01 .title-box .title-txt02{
		font-size: 25px;
		font-weight: 600;
    	letter-spacing: 6px;
		line-height: 1.8em;
	}
	.service01 .title-box .title-txt02 span{
		padding: 10px 10px;
	}
	.service-case-list-box{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		position: relative;
	}
	.service-case-list-box .img{
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 23%;
	}
	.service-case-list{
		width: 30%;
		position: relative;
	}
	.service-case-list li{
		width: 100%;
		background: #fff;
		font-size: 16px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		margin: 0 0 20% 0;
		box-sizing: border-box;
		padding: 30px 30px;
	}
	.service-case-list li:last-child{
		width: 100%;
		background: #fff;
		font-size: 16px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		margin: 0 0 0% 0;
		box-sizing: border-box;
		padding: 30px 30px;
	}
	.service-case-list li .num{
		width: 35%;
		margin: 0 0 5% 0;
	}
	.service01 .arrow{
		width: 13%;
		margin: 0 auto 3% auto;
		animation-name: Down-arrow;
        animation-duration: 2s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	@keyframes Down-arrow{
	  0%{
          transform: translateY(0);
		  opacity: 1;
	  }
	  10%{
          transform: translateY(0);
	  }
      70%{
          transform: translateY(20px);
	  }
	  100%{
          transform: translateY(30px);
		  opacity: 0;
	  }
	}
	
	
	.service01 .txt-box{
		width: 100%;
		text-align: center;
		padding: 0 0 5% 0;
	}
	.service01 .txt-box .txt01{
		font-size: 25px;
		letter-spacing: 10px;
		display: block;
		font-weight: 600;
		margin: 0 0 1% 0;
	}
	.service01 .txt-box .txt02{
		font-size: 40px;
		letter-spacing: 8px;
		line-height: 2em;
		display: block;
		font-weight: 600;
	}
	.service01 .txt-box .txt02 span{
		font-size: 45px;
		color: #cd9c51;
		font-weight: 600;
		padding: 10px 10px;
		margin: 0 10px 0 0;
	}
	
	/*service02*/
	.service02 {
		width: 100%;
		max-width: 2200px;
		margin: 0 auto;
		position: relative;
	}
	.service02 .img-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		margin: 0 0 3% 0;
	}
	.service02 .img-box li{
		width: 50%;
	}
	.service02 .point{
		width: 100%;
		max-width: 850px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.service02 .point li:first-child{
		width: 15%;
	}
	.service02 .point li:nth-child(2){
		width: 80%;
	}
	.service02 .point li .title{
		font-size: 18px;
		font-weight: 600;
    	letter-spacing: 2px;
		line-height: 2em;
		color: #cd9c51;
		margin: 0 0 2% 0;
	}
	.service02 .point li .title span{
		padding: 10px 10px;
	}
	.service02 .point li .txt{
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 2em;
	}
	.service02 .point-img{
		width: 100%;
		max-width: 1600px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.service02 .point-img .box{
		width: 30%;
		box-sizing: border-box;
		padding: 10px;
		background: #cd9c51;
		border-radius: 10px;
	}
	.service02 .point-img .box .txt{
		text-align: center;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 2px;
		line-height: 3em;
		color: #fff;
		margin: 2% 0 0 0;
	}
	.service02 .point-img .arrow{
		width: 3%;
	}
	.service02 .arrow02{
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 30px 25px 0 25px;
		border-color: #000 transparent transparent transparent;
		margin: 0 auto 3% auto;
	}
	.service02 .main-txt{
		text-align: center;
		font-size: 30px;
		letter-spacing: 8px;
		line-height: 3.5em;
		font-weight: 600;
		margin: 0 0 3% 0;
	}
	.service02 .main-txt .txt01{
		padding: 0 0px 5px 10px;
	}
	.service02 .main-txt .txt02{
		font-size: 45px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	.service02 .main-txt .txt03{
		color: #fff;
		padding: 10px 10px 10px 20px;
	}
	.service02 .main-txt02{
		text-align: center;
		font-size: 30px;
		letter-spacing: 8px;
		line-height: 3em;
		font-weight: 600;
		margin: 0 0 5% 0;
	}
	.service02 .main-txt02 .txt01{
		padding: 0 0px 5px 10px;
	}
	.service02 .main-txt03{
		text-align: center;
		font-size: 35px;
		letter-spacing: 8px;
		line-height: 2.5em;
		font-weight: 600;
		margin: 0 0 5% 0;
		padding: 0 0 5% 0;
	}
	.service02 .main-txt03 .txt02{
		font-size: 45px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	
	/*service03*/
	.service03{
		width: 100%;
	}
	.service03 .main-title{
		width: max-content;
		margin: 0 auto 4% auto;
		text-align: center;
		position: relative;
	}
	.service03 .main-title .txt{
		font-size: 25px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.service03 .main-title .line{
		width: 30px;
		position: absolute;
		top: 0;
		left: -80px;
	}
	.service03 .main-title .line02{
		width: 30px;
		position: absolute;
		top: 0;
		right: -80px;
		transform: scale(-1, 1);
	}
	.service03 .voice{
		width: 100%;
		max-width: 2200px;
		margin: 0 auto;
		display: flex;
		justify-content: flex-start;
	}
	.service03 .v-bg01{
		background: #fff;
	}
	.service03 .v-bg02{
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 400% 400%;
		animation: bggradient 5s ease infinite;
	}
	.service03 .voice .voice-box{
		width: 50%;
		box-sizing: border-box;
		padding: 3% 0 5% 0;
	}
	.service03 .voice .voice-box .title{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.service03 .voice .voice-box .title .txt01{
		width: max-content;
		margin: 0 auto 3% auto;
		background: #000;
		color: #fff;
		font-size: 20px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		border-radius: 100px;
		padding: 5px 30px;
	}
	.service03 .voice .voice-box .title .txt01-1{
		width: max-content;
		margin: 0 auto 3% auto;
		background: #fff;
		color: #cd9c51;
		font-size: 20px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		border-radius: 100px;
		padding: 5px 30px;
	}
	.service03 .voice .voice-box .title .txt02{
		width: 80%;
		font-size: 16px;
		letter-spacing: 2px;
		text-align: center;
		line-height: 1.8em;
		font-weight: 600;
		border-bottom: 1px solid #000;
		padding: 0 0 3% 0;
		margin: 0 auto;
	}
	.service03 .voice .voice-box .voice-list{
		width: 70%;
		margin: 0 auto;
	}
	.service03 .voice .voice-box .voice-list li{
		width: 100%;
		min-height: 100px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		margin: 0 0 7% 0;
	}
	.service03 .voice .voice-box .voice-list li:last-child{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0;
	}
	.service03 .voice .voice-box .voice-list li .img{
		width: 15%;
	}
	.service03 .voice .voice-box .voice-list li .data{
		width: 80%;
		font-size: 20px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.service03 .voice .voice-box .voice-list li .icon{
		width: 7%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		right: -25%;
	}
	
	
	/*figure*/
	.figure{
		width: 100%;
		max-width: 2200px;
		overflow: hidden;
		padding: 7% 0 0 0;
		margin: 0 auto 5% auto;
	}
	.figure .main-title{
		text-align: center;
		margin: 0 0 3% 0;
	}
	.figure .main-title .txt01{
		font-size: 25px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		color: #fff;
		padding: 10px 10px 10px 15px;
	}
	.thumbnail{
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		overflow: hidden;
		cursor: pointer;
	}
	.thumbnail .slick-track {
		transform: unset !important;
		width: 100% !important;
		display: flex;
		justify-content: space-between;
		flex-flow: row wrap;
	}
	.thumbnail .slick-slide {
		display: block!important;
		float: none !important;
		flex: 0 0 20%;
		box-sizing: border-box;
		padding: 5px 5px;
		margin: 0;
		line-height: 0;
	}
	.slick-slide {
		opacity: .5;
		transition: opacity .3s linear;
	}
	.slick-current {
		opacity: 1!important;
	}
	
	/*pr*/
	.pr{
		width: 100%;
		overflow: hidden;
	}
	.pr-01{
		width: 150px;
	}
	.pr .main-title{
		width: 100%;
		max-width: 1400px;
		font-size: 30px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #000;
		padding: 0 0 3% 0;
	}
	.pr-box{
		width: 100%;
		max-width: 1400px;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #000;
		padding: 0 0 5% 0;
	}
	.pr-box .data{
		width: max-content;
	}
	.pr-box .data .txt{
		width: max-content;
		font-size: 26px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 700;
		border-left: 5px solid #000;
		padding: 0 0 0 40px;
		box-sizing: border-box;
		margin: 0 auto;
	}
	.pr-box .data02{
		width: max-content;
		display: flex;
		justify-content: flex-start;
	}
	.pr-box .data02-2{
		width: max-content;
	}
	.pr-box .data02 .count-box{
		width: max-content;
		margin: 0 20px 0 0;
	}
	.pr-box .data02 .count-box .sub-txt{
		font-size: 25px;
		letter-spacing: 3px;
		font-weight: 600;
	}
	.count-txt{
		font-size: 100px;
		font-weight: 800;
		line-height: 1.2em;
		color: #cd9c51;
	}
	.count-txt .dot{
		position: relative;
		font-family: system-ui;
		left: -2px;
	}
	.count-txt .min{
		font-size: 50px;
		letter-spacing: 0px;
		line-height: 1.8em;
		font-weight: 800;
		color: #cd9c51;
	}
	.pr-box .data03{
		width: max-content;
		display: flex;
		justify-content: flex-start;
	}
	.mb{
		margin: 0 0 10% 0;
	}
	.pr-box .data02-2 .data03 .count-box{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0 20px 0 0;
	}
	.pr-box .data02-2 .data03 .count-box .sub-txt{
		font-size: 25px;
		letter-spacing: 3px;
		font-weight: 600;
		margin: 0 10px 0 0;
	}
	.pr-box .data02 .up-box{
		width: 75px;
		position: relative;
	}
	.pr-box .data02 .up-box .up{
		width: 100%;
        animation-name:UpDown;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	@keyframes UpDown{
	  0%{
          transform: translateY(0);
		  opacity: 1;
	  }
	  10%{
          transform: translateY(0);
	  }
      70%{
          transform: translateY(-20px);
	  }
	  100%{
          transform: translateY(-30px);
		  opacity: 0;
	  }
	}
	.pr-box .data02 .up-box .txt{
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 20px;
	}
	.pr-box .data02-2 .data03 .up-box{
		width: 75px;
		position: relative;
		top: -30px;
	}
	.pr-box .data02-2 .data03 .up-box .up{
		width: 100%;
        animation-name:UpDown;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	.pr-box .data02-2 .data03 .up-box .txt{
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -10px;
	}
	
	/*comparison*/
	.comparison-btn {
		width: max-content;
		padding: 15px 100px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		border: 1px solid #cd9c51;
		display: block;
		position: relative;
		font-size: 14px;
		text-align: center;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 400;
		transition: .3s;
		margin: 3% 0 0 0;
	}
	.comparison-btn span{
		width: 15px;
		position: absolute;
		top: 20%;
        -webkit-transform: translateY(-20%); /* Safari用 */
        transform: translateY(-20%);
		right: 15%;
		transition: .3s;
	}
	.comparison-btn:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.comparison-btn:hover span{
		right: 10%;
		transition: .3s;
	}
	
	.comparison{
		width: 100%;
		max-width: 1600px;
		margin: 0 auto;
		padding: 3% 0 0% 0;
	}
	.comp-title-box{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.comp-title{
		width: 300px;
		margin: 0 auto;
		position: relative;
	}
	.comp-title01{
		width: 100%;
		margin: 0 auto;
		position: relative;
		left: 0%;
	}
	.comp01.active{
		opacity : 1;
		animation-name: comp01;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 1;
	}
	@keyframes comp01 {
		0% {
		  opacity: 1;
		  transform: translateX(0px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(-130px);
		}
	}
	.comp-title02{
		width: 100%;
		margin: 0 auto;
		position: absolute;
		top: 0;
		left: 0;
		right: 0%;
	}
	.comp02.active{
		opacity : 1;
		animation-name: comp02;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 1;
	}
	@keyframes comp02 {
		0% {
		  opacity: 1;
		  transform: translateX(0px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(130px);
		}
	}
	.comp-sub-title{
		font-size: 30px;
		letter-spacing: 6px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 0 2% 0;
	}
	.comparison-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	.comparison-box .img{
		width: 50%;
		overflow: hidden;
	}
	.comparison-box .data{
		width: 50%;
		box-sizing: border-box;
		padding: 0 7%;
	}
	.comparison-box .data .num{
		width: 70px;
		margin: 0 0 3% 0;
		animation: poyoyon2 2s ease-in-out infinite;
	}
	.comparison-box .data .txt{
		font-size: 23px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
	}
	.comparison-box .data .logo{
		width: 100%;
		margin: 5% auto 0 auto;
	}
	.comparison-box .data .title{
		font-size: 30px;
		letter-spacing: 2px;
		line-height: 1.6em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.comparison-box .data .list .list01{
		font-size: 18px;
		border: 1px solid #000;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
		text-align: center;
		padding: 10px 0;
	}
	.comparison-box .data .list .list02{
		width: 30px;
		margin: 2% auto 2% auto;
	}
	.comparison .main-txt{
		text-align: center;
		font-size: 35px;
		letter-spacing: 8px;
		line-height: 2.5em;
		font-weight: 600;
		margin: 5% 0 0 0;
	}
	.comparison .main-txt .txt01{
		color: #cd9c51;
		font-size: 45px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	
	/*price*/
	.price{
		width: 100%;
		max-width: 1500px;
		margin: 0 auto 0 auto;
		padding: 5% 0 0 0;
	}
	.price .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.price .sub-title{
		width: 90%;
		font-size: 20px;
		letter-spacing: 4px;
		line-height: 2em;
		font-weight: 500;
		color: #cd9c51;
		margin: 0 auto 2% auto;
	}
	.price .price-img{
		width: 90%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 3% auto;
	}
	.price .price-img li{
		width: 48%;
	}
	.price-list01{
		width: 90%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: flex-start;
		border: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list01 li:first-child{
		width: 20%;
		position: relative;
		border-right: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list01 li:first-child .txt01{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
		font-weight: 500;
	}
	.price-list01 li:last-child{
		width: 80%;
		position: relative;
		box-sizing: border-box;
		padding: 3% 5%;
	}
	.price-list01 li:last-child .txt01{
		font-size: 30px;
		letter-spacing: 2px;
		margin: 0 0 2% 0;
		font-weight: 500;
	}
	.price-list01 li:last-child .txt01 span{
		font-size: 12px;
	}
	.price-list01 li:last-child .txt02{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 300;
	}
	
	.price-btn {
		width: 220px;
		padding: 15px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		border: 1px solid #cd9c51;
		display: block;
		position: relative;
		font-size: 14px;
		text-align: center;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 400;
		transition: .3s;
		margin: 0 0 3% 0;
	}
	.price-btn span{
		width: 15px;
		position: absolute;
		top: 20%;
        -webkit-transform: translateY(-20%); /* Safari用 */
        transform: translateY(-20%);
		right: 15%;
		transition: .3s;
	}
	.price-btn:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.price-btn:hover span{
		right: 10%;
		transition: .3s;
	}
	
	.price-list02{
		width: 90%;
		margin: 0 auto;
		border: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list02 li{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		border-bottom: 1px solid #000;
	}
	.price-list02 li:last-child{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		border-bottom: none;
	}
	.price-list02 li .num{
		width: 20%;
		position: relative;
		border-right: 1px solid #000;
		box-sizing: border-box;
		background: #cd9c51;
	}
	.price-list02 li .num .txt{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
		color: #fff;
	}
	.price-list02 li .data{
		width: 80%;
		box-sizing: border-box;
		padding: 5% 5%;
	}
	.price-list02 li .data .txt{
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
	}
	
	/*flow*/
	.flow{
		width: 100%;
		max-width: 1500px;
		margin: 0 auto 0% auto;
		padding: 5% 0 0 0;
	}
	.flow .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.flow-list{
		width: 60%;
		margin: 0 auto;
	}
	.flow-list li{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		margin: 0 auto 3% auto;
	}
	.flow-list li .num{
		width: 80px;
		margin: 0 30px 0 0;
	}
	.flow-list li .data{
		width: 80%;
	}
	.flow-list li .data .title{
		font-size: 30px;
		letter-spacing: 4px;
		font-weight: 600;
		margin: 0 0 1% 0;
	}
	.flow-list li .data .txt{
		font-size: 18px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
	}
	.flow-list li .arrow{
		width: 100%;
		margin: 3% 0 0 0;
	}
	.flow-list li .arrow img{
		height: 50px;
		display: block;
		margin: 0 auto;
	}
	
	/*others*/
	.questions{
		width: 100%;
		max-width: 1500px;
		padding: 5% 0 0 0;
		margin: 0 auto 7% auto;
	}
	.questions .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.questions-box{
		width: 90%;
		margin: 0 auto;
	}
	.toggle {
		display: none;
	}
	.Label {
		display: block;
		background: #cd9c51;
	}
	.Label::after,
	.Label::before {
		content: "";
		position: absolute;
		right: 3em;
		top: 3em;
		width: 1px;
		height: 2em;
		background-color: #000;
		transition: all 0.3s;
	}
	.Label::after {
		transform: rotate(90deg);
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 10px 0 0 0;
		margin: 0 0 5% 0;
		transition: all .3s;
	}
	.toggle:checked + .Label::before {
		transform: rotate(90deg) !important;
	}
	.q-title{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.q-title li:first-child{
		width: 10%;
		box-sizing: border-box;
		border-right: 5px solid #fff;
	}
	.q-title li:last-child{
		width: 90%;
		padding: 0 5%;
		box-sizing: border-box;
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 400;
	}
	.a-txt{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.a-txt li:first-child{
		width: 10%;
		box-sizing: border-box;
		border-right: 5px solid #fff;
	}
	.a-txt li:last-child{
		width: 90%;
		padding: 0 5%;
		box-sizing: border-box;
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 400;
	}
	
	/*others*/
	.others{
		width: 100%;
		max-width: 1500px;
		margin: 0 auto 7% auto;
	}
	.others .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.others-list{
		width: 90%;
		margin: 0 auto;
	}
	.others-list li{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 5% auto;
	}
	.others-list li:last-child{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 0 auto;
	}
	.others-list li .img{
		width: 45%;
	}
	.others-list li .data{
		width: 45%;
		box-sizing: border-box;
		padding: 0 5%;
	}
	.others-list li .data .title{
		font-size: 30px;
		letter-spacing: 4px;
		line-height: 2em;
		font-weight: 600;
		color: #cd9c51;
		margin: 0 0 5% 0;
	}
	.others-list li .data .txt{
		font-size: 18px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
	}
	
	/*company*/
	.company{
		width: 100%;
		max-width: 1400px;
		margin: 0 auto 7% auto;
	}
	.company .logo{
		display: block;
		width: 20%;
		margin: 0 auto 5% auto;
	}
	.company .video{
		display: block;
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.company-data{
		width: 80%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 5% auto;
	}
	.company-data .img{
		width: 55%;
	}
	.company-data .data{
		width: 40%;
	}
	.company-data .data .txt01{
		font-size: 16px;
		text-align: justify;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 400;
		margin: 0 0 5% 0;
	}
	.company-data .data .txt02{
		font-size: 30px;
		text-align: justify;
		letter-spacing: 1px;
		font-weight: 600;
		text-decoration: none;
		color: #000;
		display: block;
		margin: 0 0 3% 0;
	}
	.company-data .data .txt03{
		font-size: 18px;
		text-align: justify;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 600;
		margin: 0 0 5% 0;
	}
	.company-data .data .txt03 span{
		font-size: 14px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
		border: 1px solid #000;
		padding: 10px 10px 10px 12px;
		margin: 0 10px 0 0;
	}
	.map{
		width: 100%;
		margin: 0 auto;
	}
	.map iframe {
	  width: 100%;
	  height: 800px;
	}
	
	/*form*/
	.form{
		width: 100%;
		background: #cd9c51;
		padding: 4% 0 5% 0;
	}
	.form .main-title{
		width: 100%;
		font-size: 30px;
		letter-spacing: 4px;
		line-height: 2em;
		font-weight: 600;
		color: #fff;
		text-align: center;
		margin: 0 0 3% 0;
	}
	.form-wrap{
		width: 100%;
		max-width: 1400px;
		padding: 5% 0;
		background: #fff;
		margin: 0 auto;
	}
	form{
		width: 60%;
		margin: 0 auto;
	}
	form .title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
		margin: 0 0 2% 0;
	}
	form .title span{
		width: 100%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
		border: 1px solid #ff0000;
		color: #ff0000;
		box-sizing: border-box;
		padding: 5px 10px;
		margin: 0 10px 0 0;
		position: relative;
		top: -2px;
	}
	.form-text {
		height: 4em;
		width: 100%;
		padding: 0 16px;
		border-radius: 6px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		margin: 0 0 5% 0;
		transition: .3s;
	}
	.form-text:focus {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(205, 156, 81) inset;
		transition: .3s;
	}
	.form-textarea {
		display: block;
		width: 100%;
		height: 300px;
		padding: 16px 16px;
		border-radius: 6px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		resize: vertical;
		margin: 0 0 5% 0;
		transition: .3s;
	}
	.form-textarea:focus {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(205, 156, 81) inset;
		transition: .3s;
	}
	
	.m-form-submit-button {
		width: 250px;
		padding: 15px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		cursor: pointer;
		border: 1px solid #cd9c51;
		margin: 0 auto;
		display: block;
		position: relative;
		font-size: 14px;
		letter-spacing: 2px;
		font-weight: 300;
		transition: .3s;
	}
	.m-form-submit-button span{
		width: 15px;
		position: absolute;
		top: 35%;
        -webkit-transform: translateY(-35%); /* Safari用 */
        transform: translateY(-35%);
		right: 15%;
		transition: .3s;
	}
	.m-form-submit-button:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.m-form-submit-button:hover span{
		right: 10%;
		transition: .3s;
	}
	.m-form-submit-button:focus {
		outline: 0;
		background-color: #000;
		border: 2px solid rgb(33, 150, 243);
	}
	
	/*footer*/
	footer{
		width: 100%;
		background: #000;
		padding: 3% 0 3% 0;
	}
	footer .fotter-box{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
	}
	footer .fotter-box .logo{
		width: 10%;
	}
	footer .fotter-box .txt{
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		color: #fff;
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 500;
	}
	footer .fotter-box .txt a{
		text-decoration: none;
		color: #fff;
		letter-spacing: 1px;
		line-height: 2em;
		display: inline-block;
		margin: 0 0 0 30px;
	}
	footer .fotter-box .copy{
		width: 250px;
		position: absolute;
		right: 0;
		bottom: -20px;
	}
	
	/*thank-box*/
	.thank-box{
		width: 100%;
		max-width: 1200px;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.thank-box .logo{
		width: 25%;
		margin: 0 auto 5% auto;
	}
	.thank-box .txt01{
		font-size: 35px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 auto 5% auto;
	}
	.thank-box .txt02{
		font-size: 20px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		text-align: center;
	}
	
}

/*pc*/
@media screen and (min-width: 1281px) and (max-width: 2559px) {
	.sp-on{
		display: none !important;
	}
	
	.fade01 {
		animation-name: mv-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 1s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in {
		0% {
		  opacity: 0;
		  transform: translateX(-20px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px);
		}
	}
	.fade02 {
		animation-name: mv-in2;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in2 {
		0% {
		  opacity: 0;
		}
		100% {
		  opacity: 1;
		}
	}
	.fade03 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade04 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 3s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade05 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in3 {
		0% {
		  opacity: 0;
		  transform: translateX(20px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px);
		}
	}
	.fade-txt01 {
		animation-name: mv-txt01;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-txt01 {
		0% {
		  opacity: 0;
		  transform: translateY(20px);
		}
		100% {
		  opacity: 1;
		  transform: translateY(0px);
		}
	}
	
	/*fix-nav*/
	.fix-nav{
		width: 100%;
		position: fixed;
		right: 0%;
		top: 3%;
		z-index: 99;
	}
	.fix-nav .logo{
		width: 7%;
		display: block;
		position: absolute;
		left: 2%;
		top: 3%;
		z-index: 99;
	}
	.fix-nav-list{
		width: max-content;
		display: flex;
		justify-content: flex-end;
		position: absolute;
		right: 2%;
	}
	.fix-nav-list li{
		width: max-content;
		margin: 0 0 0 20px;
	}
	.fix-nav-list li a{
		width: 100%;
		background: #fff;
		box-sizing: border-box;
		padding: 10px 20px;
		color: #000;
		text-decoration: none;
		font-size: 13px;
		letter-spacing: 3px;
		transition: .3s;
	}
	.fix-nav-list li a:hover{
		background: #000;
		color: #fff;
		transition: .3s;
	}
	.fix-nav-list li a.end{
		width: 100%;
		background: #000;
		box-sizing: border-box;
		padding: 10px 20px;
		color: #fff;
		text-decoration: none;
		font-size: 13px;
		letter-spacing: 3px;
		transition: .3s;
	}
	.fix-nav-list li a.end:hover{
		background: #fff;
		color: #000;
		transition: .3s;
	}
	
	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 80px;
		right: 15px;
        top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		z-index: 10;
	}
	.side-nav a{
		width: 100%;
		display: block;
		opacity: 1;
		transition: .3s;
	}
	.side-nav a:hover{
		opacity: .5;
		transition: .3s;
	}
	
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 20px;
		width: 50px;
		display: block;
		z-index: 99;
	}
	
	/*header*/
	header{
		width: 100%;
		overflow: hidden;
		position: relative;
	}
	.mv-s{
		margin: 0;
		line-height: 0;
	}
	.mv-data{
		width: 35%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: #fff;
		clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
	}
	.mv-data .title{
		width: 70%;
		overflow: hidden;
		display: block;
		margin: 23% 0 10% 10%;
	}
	.mv-data .txt{
		font-size: 20px;
		letter-spacing: 6px;
		display: block;
		margin: 3% 0 7% 10%;
		overflow: hidden;
	}
	.mv-data .txt span{
		width: max-content;
		font-size: 35px;
		letter-spacing: 4px;
		display: block;
		font-weight: 600;
		padding: 0 10px;
		margin: 10px 0 0 0;
	}
	.mv-data .txt02{
		font-size: 20px;
		letter-spacing: 6px;
		display: block;
		margin: 3% 0 0 10%;
		overflow: hidden;
	}
	.mv-data .txt02 span{
		width: max-content;
		font-size: 35px;
		letter-spacing: 4px;
		display: block;
		font-weight: 600;
		padding: 0 10px;
		margin: 10px 0 0 0;
	}
	.mv-img{
		width: 100%;
		position: relative;
		z-index: -1;
	}
	.mv-img .txt-box{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		bottom: 5%;
		right: 17%;
	}
	.mv-img .txt-box li:first-child{
		width: max-content;
		margin: 0;
	}
	.mv-img .txt-box li{
		width: max-content;
		margin: 0 0 0 15px;
	}
	.mv-img .txt-box li img{
		height: 130px;
	}
	
	/*wrap*/
	#wrap{
		position: relative;
		padding: 0 0 1% 0;
	}
	
	/*service*/
	.service {
		width: 100%;
		position: relative;
	}
	.service .bg{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 900px;
		clip-path: polygon(0 40%, 100% 0, 100% 100%, 0% 100%);
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 200% 200%;
		animation: bggradient 10s ease infinite;
		z-index: -1;
	}
	.service02 .bg{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 900px;
		clip-path: polygon(0 40%, 100% 0, 100% 100%, 0% 100%);
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 200% 200%;
		animation: bggradient 10s ease infinite;
		z-index: -1;
	}
	@keyframes bggradient{
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	
	/*service01*/
	.service01{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
		padding: 5% 0 0 0;
	}
	.service01 .title-box{
		width: 100%;
		position: relative;
		top: 40px;
	}
	.service01 .title-box .title-txt{
		font-size: 25px;
		font-weight: 600;
    	letter-spacing: 6px;
		line-height: 1.8em;
	}
	.service01 .title-box .title-txt span{
		padding: 10px 10px;
	}
	.service01 .title-box .title-txt02{
		font-size: 25px;
		font-weight: 600;
    	letter-spacing: 6px;
		line-height: 1.8em;
	}
	.service01 .title-box .title-txt02 span{
		padding: 10px 10px;
	}
	.service-case-list-box{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		position: relative;
	}
	.service-case-list-box .img{
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 23%;
	}
	.service-case-list{
		width: 30%;
		position: relative;
	}
	.service-case-list li{
		width: 100%;
		background: #fff;
		font-size: 16px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		margin: 0 0 20% 0;
		box-sizing: border-box;
		padding: 30px 30px;
	}
	.service-case-list li:last-child{
		width: 100%;
		background: #fff;
		font-size: 16px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		margin: 0 0 0% 0;
		box-sizing: border-box;
		padding: 30px 30px;
	}
	.service-case-list li .num{
		width: 35%;
		margin: 0 0 5% 0;
	}
	.service01 .arrow{
		width: 13%;
		margin: 0 auto 3% auto;
		animation-name: Down-arrow;
        animation-duration: 2s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	@keyframes Down-arrow{
	  0%{
          transform: translateY(0);
		  opacity: 1;
	  }
	  10%{
          transform: translateY(0);
	  }
      70%{
          transform: translateY(20px);
	  }
	  100%{
          transform: translateY(30px);
		  opacity: 0;
	  }
	}
	
	
	.service01 .txt-box{
		width: 100%;
		text-align: center;
		padding: 0 0 5% 0;
	}
	.service01 .txt-box .txt01{
		font-size: 25px;
		letter-spacing: 10px;
		display: block;
		font-weight: 600;
		margin: 0 0 1% 0;
	}
	.service01 .txt-box .txt02{
		font-size: 40px;
		letter-spacing: 8px;
		line-height: 2em;
		display: block;
		font-weight: 600;
	}
	.service01 .txt-box .txt02 span{
		font-size: 45px;
		color: #cd9c51;
		font-weight: 600;
		padding: 10px 10px;
		margin: 0 10px 0 0;
	}
	
	/*service02*/
	.service02 {
		width: 100%;
		position: relative;
	}
	.service02 .img-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		margin: 0 0 3% 0;
	}
	.service02 .img-box li{
		width: 50%;
	}
	.service02 .point{
		width: 100%;
		max-width: 850px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.service02 .point li:first-child{
		width: 15%;
	}
	.service02 .point li:nth-child(2){
		width: 80%;
	}
	.service02 .point li .title{
		font-size: 18px;
		font-weight: 600;
    	letter-spacing: 2px;
		line-height: 2em;
		color: #cd9c51;
		margin: 0 0 2% 0;
	}
	.service02 .point li .title span{
		padding: 10px 10px;
	}
	.service02 .point li .txt{
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 2em;
	}
	.service02 .point-img{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.service02 .point-img .box{
		width: 30%;
		box-sizing: border-box;
		padding: 10px;
		background: #cd9c51;
		border-radius: 10px;
	}
	.service02 .point-img .box .txt{
		text-align: center;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 2px;
		line-height: 3em;
		color: #fff;
		margin: 2% 0 0 0;
	}
	.service02 .point-img .arrow{
		width: 3%;
	}
	.service02 .arrow02{
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 30px 25px 0 25px;
		border-color: #000 transparent transparent transparent;
		margin: 0 auto 3% auto;
	}
	.service02 .main-txt{
		text-align: center;
		font-size: 30px;
		letter-spacing: 8px;
		line-height: 3.5em;
		font-weight: 600;
		margin: 0 0 3% 0;
	}
	.service02 .main-txt .txt01{
		padding: 0 0px 5px 10px;
	}
	.service02 .main-txt .txt02{
		font-size: 45px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	.service02 .main-txt .txt03{
		color: #fff;
		padding: 10px 10px 10px 20px;
	}
	.service02 .main-txt02{
		text-align: center;
		font-size: 30px;
		letter-spacing: 8px;
		line-height: 3em;
		font-weight: 600;
		margin: 0 0 5% 0;
	}
	.service02 .main-txt02 .txt01{
		padding: 0 0px 5px 10px;
	}
	.service02 .main-txt03{
		text-align: center;
		font-size: 35px;
		letter-spacing: 8px;
		line-height: 2.5em;
		font-weight: 600;
		margin: 0 0 5% 0;
		padding: 0 0 5% 0;
	}
	.service02 .main-txt03 .txt02{
		font-size: 45px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	
	/*service03*/
	.service03{
		width: 100%;
	}
	.service03 .main-title{
		width: max-content;
		margin: 0 auto 4% auto;
		text-align: center;
		position: relative;
	}
	.service03 .main-title .txt{
		font-size: 25px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.service03 .main-title .line{
		width: 30px;
		position: absolute;
		top: 0;
		left: -80px;
	}
	.service03 .main-title .line02{
		width: 30px;
		position: absolute;
		top: 0;
		right: -80px;
		transform: scale(-1, 1);
	}
	.service03 .voice{
		width: 100%;
		max-width: 1500px;
		margin: 0 auto;
		display: flex;
		justify-content: flex-start;
	}
	.service03 .v-bg01{
		background: #fff;
	}
	.service03 .v-bg02{
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 400% 400%;
		animation: bggradient 5s ease infinite;
	}
	.service03 .voice .voice-box{
		width: 50%;
		box-sizing: border-box;
		padding: 3% 0 5% 0;
	}
	.service03 .voice .voice-box .title{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.service03 .voice .voice-box .title .txt01{
		width: max-content;
		margin: 0 auto 3% auto;
		background: #000;
		color: #fff;
		font-size: 20px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		border-radius: 100px;
		padding: 5px 30px;
	}
	.service03 .voice .voice-box .title .txt01-1{
		width: max-content;
		margin: 0 auto 3% auto;
		background: #fff;
		color: #cd9c51;
		font-size: 20px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		border-radius: 100px;
		padding: 5px 30px;
	}
	.service03 .voice .voice-box .title .txt02{
		width: 80%;
		font-size: 16px;
		letter-spacing: 2px;
		text-align: center;
		line-height: 1.8em;
		font-weight: 600;
		border-bottom: 1px solid #000;
		padding: 0 0 3% 0;
		margin: 0 auto;
	}
	.service03 .voice .voice-box .voice-list{
		width: 70%;
		margin: 0 auto;
	}
	.service03 .voice .voice-box .voice-list li{
		width: 100%;
		min-height: 100px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		margin: 0 0 7% 0;
	}
	.service03 .voice .voice-box .voice-list li:last-child{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0;
	}
	.service03 .voice .voice-box .voice-list li .img{
		width: 15%;
	}
	.service03 .voice .voice-box .voice-list li .data{
		width: 80%;
		font-size: 20px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.service03 .voice .voice-box .voice-list li .icon{
		width: 7%;
		position: absolute;
		top: 30%;
        -webkit-transform: translateY(-30%); /* Safari用 */
        transform: translateY(-30%);
		right: -25%;
	}
	
	
	/*figure*/
	.figure{
		width: 100%;
		overflow: hidden;
		padding: 7% 0 0 0;
		margin: 0 0 5% 0;
	}
	.figure .main-title{
		text-align: center;
		margin: 0 0 3% 0;
	}
	.figure .main-title .txt01{
		font-size: 25px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		color: #fff;
		padding: 10px 10px 10px 15px;
	}
	.thumbnail{
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		overflow: hidden;
		cursor: pointer;
	}
	.thumbnail .slick-track {
		transform: unset !important;
		width: 100% !important;
		display: flex;
		justify-content: space-between;
		flex-flow: row wrap;
	}
	.thumbnail .slick-slide {
		display: block!important;
		float: none !important;
		flex: 0 0 20%;
		box-sizing: border-box;
		padding: 5px 5px;
		margin: 0;
		line-height: 0;
	}
	.slick-slide {
		opacity: .5;
		transition: opacity .3s linear;
	}
	.slick-current {
		opacity: 1!important;
	}
	
	/*pr*/
	.pr{
		width: 100%;
		overflow: hidden;
	}
	.pr-01{
		width: 150px;
	}
	.pr .main-title{
		width: 100%;
		max-width: 1200px;
		font-size: 30px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #000;
		padding: 0 0 3% 0;
	}
	.pr-box{
		width: 100%;
		max-width: 1200px;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #000;
		padding: 0 0 5% 0;
	}
	.pr-box .data{
		width: max-content;
	}
	.pr-box .data .txt{
		width: max-content;
		font-size: 26px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 700;
		border-left: 5px solid #000;
		padding: 0 0 0 40px;
		box-sizing: border-box;
		margin: 0 auto;
	}
	.pr-box .data02{
		width: max-content;
		display: flex;
		justify-content: flex-start;
	}
	.pr-box .data02-2{
		width: max-content;
	}
	.pr-box .data02 .count-box{
		width: max-content;
		margin: 0 20px 0 0;
	}
	.pr-box .data02 .count-box .sub-txt{
		font-size: 25px;
		letter-spacing: 3px;
		font-weight: 600;
	}
	.count-txt{
		font-size: 100px;
		font-weight: 800;
		line-height: 1.2em;
		color: #cd9c51;
	}
	.count-txt .dot{
		position: relative;
		font-family: system-ui;
		left: -2px;
	}
	.count-txt .min{
		font-size: 50px;
		letter-spacing: 0px;
		line-height: 1.8em;
		font-weight: 800;
		color: #cd9c51;
	}
	.pr-box .data03{
		width: max-content;
		display: flex;
		justify-content: flex-start;
	}
	.mb{
		margin: 0 0 10% 0;
	}
	.pr-box .data02-2 .data03 .count-box{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0 20px 0 0;
	}
	.pr-box .data02-2 .data03 .count-box .sub-txt{
		font-size: 25px;
		letter-spacing: 3px;
		font-weight: 600;
		margin: 0 10px 0 0;
	}
	.pr-box .data02 .up-box{
		width: 75px;
		position: relative;
	}
	.pr-box .data02 .up-box .up{
		width: 100%;
        animation-name:UpDown;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	@keyframes UpDown{
	  0%{
          transform: translateY(0);
		  opacity: 1;
	  }
	  10%{
          transform: translateY(0);
	  }
      70%{
          transform: translateY(-20px);
	  }
	  100%{
          transform: translateY(-30px);
		  opacity: 0;
	  }
	}
	.pr-box .data02 .up-box .txt{
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 20px;
	}
	.pr-box .data02-2 .data03 .up-box{
		width: 75px;
		position: relative;
		top: -30px;
	}
	.pr-box .data02-2 .data03 .up-box .up{
		width: 100%;
        animation-name:UpDown;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	.pr-box .data02-2 .data03 .up-box .txt{
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -10px;
	}
	
	/*comparison*/
	.comparison-btn {
		width: max-content;
		padding: 15px 100px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		border: 1px solid #cd9c51;
		display: block;
		position: relative;
		font-size: 14px;
		text-align: center;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 400;
		transition: .3s;
		margin: 3% 0 0 0;
	}
	.comparison-btn span{
		width: 15px;
		position: absolute;
		top: 20%;
        -webkit-transform: translateY(-20%); /* Safari用 */
        transform: translateY(-20%);
		right: 15%;
		transition: .3s;
	}
	.comparison-btn:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.comparison-btn:hover span{
		right: 10%;
		transition: .3s;
	}
	
	.comparison{
		width: 100%;
		padding: 3% 0 0% 0;
	}
	.comp-title-box{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.comp-title{
		width: 15%;
		margin: 0 auto;
		position: relative;
	}
	.comp-title01{
		width: 100%;
		margin: 0 auto;
		position: relative;
		left: 0%;
	}
	.comp01.active{
		opacity : 1;
		animation-name: comp01;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 1;
	}
	@keyframes comp01 {
		0% {
		  opacity: 1;
		  transform: translateX(0px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(-115px);
		}
	}
	.comp-title02{
		width: 100%;
		margin: 0 auto;
		position: absolute;
		top: 0;
		left: 0;
		right: 0%;
	}
	.comp02.active{
		opacity : 1;
		animation-name: comp02;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 1;
	}
	@keyframes comp02 {
		0% {
		  opacity: 1;
		  transform: translateX(0px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(115px);
		}
	}
	.comp-sub-title{
		font-size: 30px;
		letter-spacing: 6px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 0 2% 0;
	}
	.comparison-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	.comparison-box .img{
		width: 50%;
		overflow: hidden;
	}
	.comparison-box .data{
		width: 50%;
		box-sizing: border-box;
		padding: 0 7%;
	}
	.comparison-box .data .num{
		width: 70px;
		margin: 0 0 3% 0;
		animation: poyoyon2 2s ease-in-out infinite;
	}
	.comparison-box .data .txt{
		font-size: 25px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
	}
	.comparison-box .data .logo{
		width: 100%;
		margin: 5% auto 0 auto;
	}
	.comparison-box .data .title{
		font-size: 30px;
		letter-spacing: 2px;
		line-height: 1.6em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.comparison-box .data .list .list01{
		font-size: 18px;
		border: 1px solid #000;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
		text-align: center;
		padding: 10px 0;
	}
	.comparison-box .data .list .list02{
		width: 30px;
		margin: 2% auto 2% auto;
	}
	.comparison .main-txt{
		text-align: center;
		font-size: 35px;
		letter-spacing: 8px;
		line-height: 2.5em;
		font-weight: 600;
		margin: 5% 0 0 0;
	}
	.comparison .main-txt .txt01{
		color: #cd9c51;
		font-size: 45px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	
	/*price*/
	.price{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 0 auto;
		padding: 5% 0 0 0;
	}
	.price .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.price .sub-title{
		width: 90%;
		font-size: 20px;
		letter-spacing: 4px;
		line-height: 2em;
		font-weight: 500;
		color: #cd9c51;
		margin: 0 auto 2% auto;
	}
	.price .price-img{
		width: 90%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 3% auto;
	}
	.price .price-img li{
		width: 48%;
	}
	.price-list01{
		width: 90%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: flex-start;
		border: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list01 li:first-child{
		width: 20%;
		position: relative;
		border-right: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list01 li:first-child .txt01{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
		font-weight: 500;
	}
	.price-list01 li:last-child{
		width: 80%;
		position: relative;
		box-sizing: border-box;
		padding: 3% 5%;
	}
	.price-list01 li:last-child .txt01{
		font-size: 30px;
		letter-spacing: 2px;
		margin: 0 0 2% 0;
		font-weight: 500;
	}
	.price-list01 li:last-child .txt01 span{
		font-size: 12px;
	}
	.price-list01 li:last-child .txt02{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 300;
	}
	
	.price-btn {
		width: 220px;
		padding: 15px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		border: 1px solid #cd9c51;
		display: block;
		position: relative;
		font-size: 14px;
		text-align: center;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 400;
		transition: .3s;
		margin: 0 0 3% 0;
	}
	.price-btn span{
		width: 15px;
		position: absolute;
		top: 20%;
        -webkit-transform: translateY(-20%); /* Safari用 */
        transform: translateY(-20%);
		right: 15%;
		transition: .3s;
	}
	.price-btn:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.price-btn:hover span{
		right: 10%;
		transition: .3s;
	}
	
	
	.price-list02{
		width: 90%;
		margin: 0 auto;
		border: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list02 li{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		border-bottom: 1px solid #000;
	}
	.price-list02 li:last-child{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		border-bottom: none;
	}
	.price-list02 li .num{
		width: 20%;
		position: relative;
		border-right: 1px solid #000;
		box-sizing: border-box;
		background: #cd9c51;
	}
	.price-list02 li .num .txt{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
		color: #fff;
	}
	.price-list02 li .data{
		width: 80%;
		box-sizing: border-box;
		padding: 5% 5%;
	}
	.price-list02 li .data .txt{
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
	}
	
	/*flow*/
	.flow{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 0% auto;
		padding: 5% 0 0 0;
	}
	.flow .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.flow-list{
		width: 60%;
		margin: 0 auto;
	}
	.flow-list li{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		margin: 0 auto 3% auto;
	}
	.flow-list li .num{
		width: 80px;
		margin: 0 30px 0 0;
	}
	.flow-list li .data{
		width: 80%;
	}
	.flow-list li .data .title{
		font-size: 30px;
		letter-spacing: 4px;
		font-weight: 600;
		margin: 0 0 1% 0;
	}
	.flow-list li .data .txt{
		font-size: 18px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
	}
	.flow-list li .arrow{
		width: 100%;
		margin: 3% 0 0 0;
	}
	.flow-list li .arrow img{
		height: 50px;
		display: block;
		margin: 0 auto;
	}
	
	/*others*/
	.questions{
		width: 100%;
		max-width: 1200px;
		padding: 5% 0 0 0;
		margin: 0 auto 7% auto;
	}
	.questions .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.questions-box{
		width: 90%;
		margin: 0 auto;
	}
	.toggle {
		display: none;
	}
	.Label {
		display: block;
		background: #cd9c51;
	}
	.Label::after,
	.Label::before {
		content: "";
		position: absolute;
		right: 3em;
		top: 2em;
		width: 1px;
		height: 2em;
		background-color: #000;
		transition: all 0.3s;
	}
	.Label::after {
		transform: rotate(90deg);
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 10px 0 0 0;
		margin: 0 0 5% 0;
		transition: all .3s;
	}
	.toggle:checked + .Label::before {
		transform: rotate(90deg) !important;
	}
	.q-title{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.q-title li:first-child{
		width: 10%;
		box-sizing: border-box;
		border-right: 5px solid #fff;
	}
	.q-title li:last-child{
		width: 90%;
		padding: 0 5%;
		box-sizing: border-box;
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 400;
	}
	.a-txt{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.a-txt li:first-child{
		width: 10%;
		box-sizing: border-box;
		border-right: 5px solid #fff;
	}
	.a-txt li:last-child{
		width: 90%;
		padding: 0 5%;
		box-sizing: border-box;
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 400;
	}
	
	/*others*/
	.others{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 7% auto;
	}
	.others .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.others-list{
		width: 90%;
		margin: 0 auto;
	}
	.others-list li{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 5% auto;
	}
	.others-list li:last-child{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 0 auto;
	}
	.others-list li .img{
		width: 45%;
	}
	.others-list li .data{
		width: 45%;
		box-sizing: border-box;
		padding: 0 5%;
	}
	.others-list li .data .title{
		font-size: 30px;
		letter-spacing: 4px;
		line-height: 2em;
		font-weight: 600;
		color: #cd9c51;
		margin: 0 0 5% 0;
	}
	.others-list li .data .txt{
		font-size: 18px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
	}
	
	/*company*/
	.company{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 7% auto;
	}
	.company .logo{
		display: block;
		width: 20%;
		margin: 0 auto 5% auto;
	}
	.company .video{
		display: block;
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.company-data{
		width: 80%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 5% auto;
	}
	.company-data .img{
		width: 55%;
	}
	.company-data .data{
		width: 40%;
	}
	.company-data .data .txt01{
		font-size: 16px;
		text-align: justify;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 400;
		margin: 0 0 5% 0;
	}
	.company-data .data .txt02{
		font-size: 30px;
		text-align: justify;
		letter-spacing: 1px;
		font-weight: 600;
		text-decoration: none;
		color: #000;
		display: block;
		margin: 0 0 3% 0;
	}
	.company-data .data .txt03{
		font-size: 18px;
		text-align: justify;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 600;
		margin: 0 0 5% 0;
	}
	.company-data .data .txt03 span{
		font-size: 14px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
		border: 1px solid #000;
		padding: 10px 10px 10px 12px;
		margin: 0 10px 0 0;
	}
	.map{
		width: 100%;
		margin: 0 auto;
	}
	.map iframe {
	  width: 100%;
	  aspect-ratio: 16/9;
	}
	
	/*form*/
	.form{
		width: 100%;
		background: #cd9c51;
		padding: 4% 0 5% 0;
	}
	.form .main-title{
		width: 100%;
		font-size: 30px;
		letter-spacing: 4px;
		line-height: 2em;
		font-weight: 600;
		color: #fff;
		text-align: center;
		margin: 0 0 3% 0;
	}
	.form-wrap{
		width: 100%;
		max-width: 1200px;
		padding: 5% 0;
		background: #fff;
		margin: 0 auto;
	}
	form{
		width: 60%;
		margin: 0 auto;
	}
	form .title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
		margin: 0 0 2% 0;
	}
	form .title span{
		width: 100%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
		border: 1px solid #ff0000;
		color: #ff0000;
		box-sizing: border-box;
		padding: 5px 10px;
		margin: 0 10px 0 0;
		position: relative;
		top: -2px;
	}
	.form-text {
		height: 4em;
		width: 100%;
		padding: 0 16px;
		border-radius: 6px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		margin: 0 0 5% 0;
		transition: .3s;
	}
	.form-text:focus {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(205, 156, 81) inset;
		transition: .3s;
	}
	.form-textarea {
		display: block;
		width: 100%;
		height: 300px;
		padding: 16px 16px;
		border-radius: 6px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		resize: vertical;
		margin: 0 0 5% 0;
		transition: .3s;
	}
	.form-textarea:focus {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(205, 156, 81) inset;
		transition: .3s;
	}
	
	.m-form-submit-button {
		width: 250px;
		padding: 15px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		cursor: pointer;
		border: 1px solid #cd9c51;
		margin: 0 auto;
		display: block;
		position: relative;
		font-size: 14px;
		letter-spacing: 2px;
		font-weight: 300;
		transition: .3s;
	}
	.m-form-submit-button span{
		width: 15px;
		position: absolute;
		top: 35%;
        -webkit-transform: translateY(-35%); /* Safari用 */
        transform: translateY(-35%);
		right: 15%;
		transition: .3s;
	}
	.m-form-submit-button:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.m-form-submit-button:hover span{
		right: 10%;
		transition: .3s;
	}
	.m-form-submit-button:focus {
		outline: 0;
		background-color: #000;
		border: 2px solid rgb(33, 150, 243);
	}
	
	/*footer*/
	footer{
		width: 100%;
		background: #000;
		padding: 3% 0 3% 0;
	}
	footer .fotter-box{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
	}
	footer .fotter-box .logo{
		width: 10%;
	}
	footer .fotter-box .txt{
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		color: #fff;
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 500;
	}
	footer .fotter-box .txt a{
		text-decoration: none;
		color: #fff;
		letter-spacing: 1px;
		line-height: 2em;
		display: inline-block;
		margin: 0 0 0 30px;
	}
	footer .fotter-box .copy{
		width: 250px;
		position: absolute;
		right: 0;
		bottom: -20px;
	}
	
	
	/*thank-box*/
	.thank-box{
		width: 100%;
		max-width: 1200px;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.thank-box .logo{
		width: 25%;
		margin: 0 auto 5% auto;
	}
	.thank-box .txt01{
		font-size: 35px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 auto 5% auto;
	}
	.thank-box .txt02{
		font-size: 20px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		text-align: center;
	}
	
	
}

/*note pc*/
@media screen and (min-width: 1025px) and (max-width: 1280px) {
    .sp-on{
		display: none !important;
	}
	
	.fade01 {
		animation-name: mv-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 1s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in {
		0% {
		  opacity: 0;
		  transform: translateX(-20px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px);
		}
	}
	.fade02 {
		animation-name: mv-in2;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in2 {
		0% {
		  opacity: 0;
		}
		100% {
		  opacity: 1;
		}
	}
	.fade03 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade04 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 3s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade05 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in3 {
		0% {
		  opacity: 0;
		  transform: translateX(20px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px);
		}
	}
	.fade-txt01 {
		animation-name: mv-txt01;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-txt01 {
		0% {
		  opacity: 0;
		  transform: translateY(20px);
		}
		100% {
		  opacity: 1;
		  transform: translateY(0px);
		}
	}
	
	/*fix-nav*/
	.fix-nav{
		width: 100%;
		position: fixed;
		right: 0%;
		top: 3%;
		z-index: 99;
	}
	.fix-nav .logo{
		width: 7%;
		display: block;
		position: absolute;
		left: 2%;
		top: 3%;
		z-index: 99;
	}
	.fix-nav-list{
		width: max-content;
		display: flex;
		justify-content: flex-end;
		position: absolute;
		right: 2%;
	}
	.fix-nav-list li{
		width: max-content;
		margin: 0 0 0 20px;
	}
	.fix-nav-list li a{
		width: 100%;
		background: #fff;
		box-sizing: border-box;
		padding: 10px 20px;
		color: #000;
		text-decoration: none;
		font-size: 13px;
		letter-spacing: 3px;
		transition: .3s;
	}
	.fix-nav-list li a:hover{
		background: #000;
		color: #fff;
		transition: .3s;
	}
	.fix-nav-list li a.end{
		width: 100%;
		background: #000;
		box-sizing: border-box;
		padding: 10px 20px;
		color: #fff;
		text-decoration: none;
		font-size: 13px;
		letter-spacing: 3px;
		transition: .3s;
	}
	.fix-nav-list li a.end:hover{
		background: #fff;
		color: #000;
		transition: .3s;
	}
	
	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 60px;
		right: 15px;
        top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		z-index: 10;
	}
	.side-nav a{
		width: 100%;
		display: block;
		opacity: 1;
		transition: .3s;
	}
	.side-nav a:hover{
		opacity: .5;
		transition: .3s;
	}
	
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 20px;
		width: 50px;
		display: block;
		z-index: 99;
	}
	
	/*header*/
	header{
		width: 100%;
		overflow: hidden;
		position: relative;
	}
	.mv-s{
		margin: 0;
		line-height: 0;
	}
	.mv-data{
		width: 35%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: #fff;
		clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
	}
	.mv-data .title{
		width: 70%;
		overflow: hidden;
		display: block;
		margin: 24% 0 10% 10%;
	}
	.mv-data .txt{
		font-size: 18px;
		letter-spacing: 4px;
		display: block;
		margin: 3% 0 7% 10%;
		overflow: hidden;
	}
	.mv-data .txt span{
		width: max-content;
		font-size: 25px;
		letter-spacing: 4px;
		display: block;
		font-weight: 600;
		padding: 0 10px;
		margin: 10px 0 0 0;
	}
	.mv-data .txt02{
		font-size: 18px;
		letter-spacing: 4px;
		display: block;
		margin: 3% 0 0 10%;
		overflow: hidden;
	}
	.mv-data .txt02 span{
		width: max-content;
		font-size: 25px;
		letter-spacing: 4px;
		display: block;
		font-weight: 600;
		padding: 0 10px;
		margin: 10px 0 0 0;
	}
	.mv-img{
		width: 100%;
		position: relative;
		z-index: -1;
	}
	.mv-img .txt-box{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		bottom: 5%;
		right: 10%;
	}
	.mv-img .txt-box li:first-child{
		width: max-content;
		margin: 0;
	}
	.mv-img .txt-box li{
		width: max-content;
		margin: 0 0 0 15px;
	}
	.mv-img .txt-box li img{
		height: 110px;
	}
	
	/*wrap*/
	#wrap{
		position: relative;
		padding: 0 0 1% 0;
	}
	
	/*service*/
	.service {
		width: 100%;
		position: relative;
	}
	.service .bg{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 900px;
		clip-path: polygon(0 40%, 100% 0, 100% 100%, 0% 100%);
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 200% 200%;
		animation: bggradient 10s ease infinite;
		z-index: -1;
	}
	.service02 .bg{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 900px;
		clip-path: polygon(0 40%, 100% 0, 100% 100%, 0% 100%);
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 200% 200%;
		animation: bggradient 10s ease infinite;
		z-index: -1;
	}
	@keyframes bggradient{
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	
	/*service01*/
	.service01{
		width: 80%;
		margin: 0 auto;
		position: relative;
		padding: 5% 0 0 0;
	}
	.service01 .title-box{
		width: 100%;
		position: relative;
		top: 40px;
	}
	.service01 .title-box .title-txt{
		font-size: 21px;
		font-weight: 600;
    	letter-spacing: 6px;
		line-height: 1.8em;
	}
	.service01 .title-box .title-txt span{
		padding: 10px 10px;
	}
	.service01 .title-box .title-txt02{
		font-size: 21px;
		font-weight: 600;
    	letter-spacing: 6px;
		line-height: 1.8em;
	}
	.service01 .title-box .title-txt02 span{
		padding: 10px 10px;
	}
	.service-case-list-box{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		position: relative;
	}
	.service-case-list-box .img{
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 23%;
	}
	.service-case-list{
		width: 30%;
		position: relative;
	}
	.service-case-list li{
		width: 100%;
		background: #fff;
		font-size: 14px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		margin: 0 0 20% 0;
		box-sizing: border-box;
		padding: 30px 30px;
	}
	.service-case-list li:last-child{
		width: 100%;
		background: #fff;
		font-size: 14px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		margin: 0 0 0% 0;
		box-sizing: border-box;
		padding: 30px 30px;
	}
	.service-case-list li .num{
		width: 35%;
		margin: 0 0 5% 0;
	}
	.service01 .arrow{
		width: 13%;
		margin: 0 auto 3% auto;
		animation-name: Down-arrow;
        animation-duration: 2s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	@keyframes Down-arrow{
	  0%{
          transform: translateY(0);
		  opacity: 1;
	  }
	  10%{
          transform: translateY(0);
	  }
      70%{
          transform: translateY(20px);
	  }
	  100%{
          transform: translateY(30px);
		  opacity: 0;
	  }
	}
	
	
	.service01 .txt-box{
		width: 100%;
		text-align: center;
		padding: 0 0 5% 0;
	}
	.service01 .txt-box .txt01{
		font-size: 25px;
		letter-spacing: 10px;
		display: block;
		font-weight: 600;
		margin: 0 0 1% 0;
	}
	.service01 .txt-box .txt02{
		font-size: 30px;
		letter-spacing: 8px;
		line-height: 2em;
		display: block;
		font-weight: 600;
	}
	.service01 .txt-box .txt02 span{
		font-size: 35px;
		color: #cd9c51;
		font-weight: 600;
		padding: 10px 10px;
		margin: 0 10px 0 0;
	}
	
	/*service02*/
	.service02 {
		width: 100%;
		position: relative;
	}
	.service02 .img-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		margin: 0 0 3% 0;
	}
	.service02 .img-box li{
		width: 50%;
	}
	.service02 .point{
		width: 100%;
		max-width: 850px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.service02 .point li:first-child{
		width: 15%;
	}
	.service02 .point li:nth-child(2){
		width: 80%;
	}
	.service02 .point li .title{
		font-size: 18px;
		font-weight: 600;
    	letter-spacing: 2px;
		line-height: 2em;
		color: #cd9c51;
		margin: 0 0 2% 0;
	}
	.service02 .point li .title span{
		padding: 10px 10px;
	}
	.service02 .point li .txt{
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
	}
	.service02 .point-img{
		width: 80%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.service02 .point-img .box{
		width: 30%;
		box-sizing: border-box;
		padding: 10px;
		background: #cd9c51;
		border-radius: 10px;
	}
	.service02 .point-img .box .txt{
		text-align: center;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 2px;
		line-height: 3em;
		color: #fff;
		margin: 2% 0 0 0;
	}
	.service02 .point-img .arrow{
		width: 3%;
	}
	.service02 .arrow02{
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 30px 25px 0 25px;
		border-color: #000 transparent transparent transparent;
		margin: 0 auto 3% auto;
	}
	.service02 .main-txt{
		text-align: center;
		font-size: 25px;
		letter-spacing: 5px;
		line-height: 3.5em;
		font-weight: 600;
		margin: 0 0 3% 0;
	}
	.service02 .main-txt .txt01{
		padding: 0 0px 5px 10px;
	}
	.service02 .main-txt .txt02{
		font-size: 35px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	.service02 .main-txt .txt03{
		color: #fff;
		padding: 10px 10px 10px 20px;
	}
	.service02 .main-txt02{
		text-align: center;
		font-size: 21px;
		letter-spacing: 5px;
		line-height: 3em;
		font-weight: 600;
		margin: 0 0 5% 0;
	}
	.service02 .main-txt02 .txt01{
		padding: 0 0px 5px 10px;
	}
	.service02 .main-txt03{
		text-align: center;
		font-size: 25px;
		letter-spacing: 8px;
		line-height: 2.5em;
		font-weight: 600;
		margin: 0 0 5% 0;
		padding: 0 0 5% 0;
	}
	.service02 .main-txt03 .txt02{
		font-size: 35px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	
	/*service03*/
	.service03{
		width: 100%;
	}
	.service03 .main-title{
		width: max-content;
		margin: 0 auto 4% auto;
		text-align: center;
		position: relative;
	}
	.service03 .main-title .txt{
		font-size: 25px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.service03 .main-title .line{
		width: 30px;
		position: absolute;
		top: 0;
		left: -80px;
	}
	.service03 .main-title .line02{
		width: 30px;
		position: absolute;
		top: 0;
		right: -80px;
		transform: scale(-1, 1);
	}
	.service03 .voice{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		justify-content: flex-start;
	}
	.service03 .v-bg01{
		background: #fff;
	}
	.service03 .v-bg02{
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 400% 400%;
		animation: bggradient 5s ease infinite;
	}
	.service03 .voice .voice-box{
		width: 50%;
		box-sizing: border-box;
		padding: 3% 0 5% 0;
	}
	.service03 .voice .voice-box .title{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.service03 .voice .voice-box .title .txt01{
		width: max-content;
		margin: 0 auto 3% auto;
		background: #000;
		color: #fff;
		font-size: 20px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		border-radius: 100px;
		padding: 5px 30px;
	}
	.service03 .voice .voice-box .title .txt01-1{
		width: max-content;
		margin: 0 auto 3% auto;
		background: #fff;
		color: #cd9c51;
		font-size: 20px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		border-radius: 100px;
		padding: 5px 30px;
	}
	.service03 .voice .voice-box .title .txt02{
		width: 80%;
		font-size: 14px;
		letter-spacing: 2px;
		text-align: center;
		line-height: 1.8em;
		font-weight: 600;
		border-bottom: 1px solid #000;
		padding: 0 0 3% 0;
		margin: 0 auto;
	}
	.service03 .voice .voice-box .voice-list{
		width: 70%;
		margin: 0 auto;
	}
	.service03 .voice .voice-box .voice-list li{
		width: 100%;
		min-height: 80px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		margin: 0 0 7% 0;
	}
	.service03 .voice .voice-box .voice-list li:last-child{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0;
	}
	.service03 .voice .voice-box .voice-list li .img{
		width: 15%;
	}
	.service03 .voice .voice-box .voice-list li .data{
		width: 80%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.service03 .voice .voice-box .voice-list li .icon{
		width: 7%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		right: -25%;
	}
	
	
	/*figure*/
	.figure{
		width: 100%;
		overflow: hidden;
		padding: 7% 0 0 0;
		margin: 0 0 5% 0;
	}
	.figure .main-title{
		text-align: center;
		margin: 0 0 3% 0;
	}
	.figure .main-title .txt01{
		font-size: 25px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		color: #fff;
		padding: 10px 10px 10px 15px;
	}
	.thumbnail{
		width: 80%;
		margin: 0 auto;
		overflow: hidden;
		cursor: pointer;
	}
	.thumbnail .slick-track {
		transform: unset !important;
		width: 100% !important;
		display: flex;
		justify-content: space-between;
		flex-flow: row wrap;
	}
	.thumbnail .slick-slide {
		display: block!important;
		float: none !important;
		flex: 0 0 20%;
		box-sizing: border-box;
		padding: 5px 5px;
		margin: 0;
		line-height: 0;
	}
	.slick-slide {
		opacity: .5;
		transition: opacity .3s linear;
	}
	.slick-current {
		opacity: 1!important;
	}
	
	/*pr*/
	.pr{
		width: 100%;
		overflow: hidden;
	}
	.pr-01{
		width: 150px;
	}
	.pr .main-title{
		width: 80%;
		font-size: 30px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #000;
		padding: 0 0 3% 0;
	}
	.pr-box{
		width: 80%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #000;
		padding: 0 0 5% 0;
	}
	.pr-box .data{
		width: max-content;
	}
	.pr-box .data .txt{
		width: max-content;
		font-size: 26px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 700;
		border-left: 5px solid #000;
		padding: 0 0 0 40px;
		box-sizing: border-box;
		margin: 0 auto;
	}
	.pr-box .data02{
		width: max-content;
		display: flex;
		justify-content: flex-start;
	}
	.pr-box .data02-2{
		width: max-content;
	}
	.pr-box .data02 .count-box{
		width: max-content;
		margin: 0 20px 0 0;
	}
	.pr-box .data02 .count-box .sub-txt{
		font-size: 25px;
		letter-spacing: 3px;
		font-weight: 600;
	}
	.count-txt{
		font-size: 100px;
		font-weight: 800;
		line-height: 1.2em;
		color: #cd9c51;
	}
	.count-txt .dot{
		position: relative;
		font-family: system-ui;
		left: -2px;
	}
	.count-txt .min{
		font-size: 50px;
		letter-spacing: 0px;
		line-height: 1.8em;
		font-weight: 800;
		color: #cd9c51;
	}
	.pr-box .data03{
		width: max-content;
		display: flex;
		justify-content: flex-start;
	}
	.mb{
		margin: 0 0 10% 0;
	}
	.pr-box .data02-2 .data03 .count-box{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0 20px 0 0;
	}
	.pr-box .data02-2 .data03 .count-box .sub-txt{
		font-size: 25px;
		letter-spacing: 3px;
		font-weight: 600;
		margin: 0 10px 0 0;
	}
	.pr-box .data02 .up-box{
		width: 75px;
		position: relative;
	}
	.pr-box .data02 .up-box .up{
		width: 100%;
        animation-name:UpDown;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	@keyframes UpDown{
	  0%{
          transform: translateY(0);
		  opacity: 1;
	  }
	  10%{
          transform: translateY(0);
	  }
      70%{
          transform: translateY(-20px);
	  }
	  100%{
          transform: translateY(-30px);
		  opacity: 0;
	  }
	}
	.pr-box .data02 .up-box .txt{
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 20px;
	}
	.pr-box .data02-2 .data03 .up-box{
		width: 75px;
		position: relative;
		top: -30px;
	}
	.pr-box .data02-2 .data03 .up-box .up{
		width: 100%;
        animation-name:UpDown;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	.pr-box .data02-2 .data03 .up-box .txt{
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -10px;
	}
	
	/*comparison*/
	.comparison-btn {
		width: max-content;
		padding: 15px 100px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		border: 1px solid #cd9c51;
		display: block;
		position: relative;
		font-size: 14px;
		text-align: center;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 400;
		transition: .3s;
		margin: 3% 0 0 0;
	}
	.comparison-btn span{
		width: 15px;
		position: absolute;
		top: 20%;
        -webkit-transform: translateY(-20%); /* Safari用 */
        transform: translateY(-20%);
		right: 15%;
		transition: .3s;
	}
	.comparison-btn:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.comparison-btn:hover span{
		right: 10%;
		transition: .3s;
	}
	
	.comparison{
		width: 100%;
		padding: 3% 0 0% 0;
	}
	.comp-title-box{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.comp-title{
		width: 20%;
		margin: 0 auto;
		position: relative;
	}
	.comp-title01{
		width: 100%;
		margin: 0 auto;
		position: relative;
		left: 0%;
	}
	.comp01.active{
		opacity : 1;
		animation-name: comp01;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 1;
	}
	@keyframes comp01 {
		0% {
		  opacity: 1;
		  transform: translateX(0px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(-115px);
		}
	}
	.comp-title02{
		width: 100%;
		margin: 0 auto;
		position: absolute;
		top: 0;
		left: 0;
		right: 0%;
	}
	.comp02.active{
		opacity : 1;
		animation-name: comp02;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 1;
	}
	@keyframes comp02 {
		0% {
		  opacity: 1;
		  transform: translateX(0px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(115px);
		}
	}
	.comp-sub-title{
		font-size: 30px;
		letter-spacing: 6px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 0 2% 0;
	}
	.comparison-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	.comparison-box .img{
		width: 50%;
		overflow: hidden;
	}
	.comparison-box .data{
		width: 50%;
		box-sizing: border-box;
		padding: 0 7%;
	}
	.comparison-box .data .num{
		width: 55px;
		margin: 0 0 3% 0;
		animation: poyoyon2 2s ease-in-out infinite;
	}
	.comparison-box .data .txt{
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
	}
	.comparison-box .data .logo{
		width: 100%;
		margin: 5% auto 0 auto;
	}
	.comparison-box .data .title{
		font-size: 25px;
		letter-spacing: 2px;
		line-height: 1.6em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.comparison-box .data .list .list01{
		font-size: 14px;
		border: 1px solid #000;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
		text-align: center;
		padding: 5px 0;
	}
	.comparison-box .data .list .list02{
		width: 30px;
		margin: 2% auto 2% auto;
	}
	.comparison .main-txt{
		text-align: center;
		font-size: 25px;
		letter-spacing: 8px;
		line-height: 2.5em;
		font-weight: 600;
		margin: 5% 0 0 0;
	}
	.comparison .main-txt .txt01{
		color: #cd9c51;
		font-size: 35px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	
	/*price*/
	.price{
		width: 80%;
		margin: 0 auto 0 auto;
		padding: 5% 0 0 0;
	}
	.price .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.price .sub-title{
		width: 90%;
		font-size: 20px;
		letter-spacing: 4px;
		line-height: 2em;
		font-weight: 500;
		color: #cd9c51;
		margin: 0 auto 2% auto;
	}
	.price .price-img{
		width: 90%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 3% auto;
	}
	.price .price-img li{
		width: 48%;
	}
	.price-list01{
		width: 90%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: flex-start;
		border: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list01 li:first-child{
		width: 20%;
		position: relative;
		border-right: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list01 li:first-child .txt01{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
		font-weight: 500;
	}
	.price-list01 li:last-child{
		width: 80%;
		position: relative;
		box-sizing: border-box;
		padding: 3% 5%;
	}
	.price-list01 li:last-child .txt01{
		font-size: 30px;
		letter-spacing: 2px;
		margin: 0 0 2% 0;
		font-weight: 500;
	}
	.price-list01 li:last-child .txt01 span{
		font-size: 12px;
	}
	.price-list01 li:last-child .txt02{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 300;
	}
	
	.price-btn {
		width: 220px;
		padding: 15px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		border: 1px solid #cd9c51;
		display: block;
		position: relative;
		font-size: 14px;
		text-align: center;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 400;
		transition: .3s;
		margin: 0 0 3% 0;
	}
	.price-btn span{
		width: 15px;
		position: absolute;
		top: 20%;
        -webkit-transform: translateY(-20%); /* Safari用 */
        transform: translateY(-20%);
		right: 15%;
		transition: .3s;
	}
	.price-btn:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.price-btn:hover span{
		right: 10%;
		transition: .3s;
	}
	
	.price-list02{
		width: 90%;
		margin: 0 auto;
		border: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list02 li{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		border-bottom: 1px solid #000;
	}
	.price-list02 li:last-child{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		border-bottom: none;
	}
	.price-list02 li .num{
		width: 20%;
		position: relative;
		border-right: 1px solid #000;
		box-sizing: border-box;
		background: #cd9c51;
	}
	.price-list02 li .num .txt{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
		color: #fff;
	}
	.price-list02 li .data{
		width: 80%;
		box-sizing: border-box;
		padding: 5% 5%;
	}
	.price-list02 li .data .txt{
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
	}
	
	/*flow*/
	.flow{
		width: 80%;
		margin: 0 auto 0% auto;
		padding: 5% 0 0 0;
	}
	.flow .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.flow-list{
		width: 70%;
		margin: 0 auto;
	}
	.flow-list li{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		margin: 0 auto 3% auto;
	}
	.flow-list li .num{
		width: 80px;
		margin: 0 30px 0 0;
	}
	.flow-list li .data{
		width: 80%;
	}
	.flow-list li .data .title{
		font-size: 25px;
		letter-spacing: 4px;
		font-weight: 600;
		margin: 0 0 1% 0;
	}
	.flow-list li .data .txt{
		font-size: 16px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
	}
	.flow-list li .arrow{
		width: 100%;
		margin: 3% 0 0 0;
	}
	.flow-list li .arrow img{
		height: 50px;
		display: block;
		margin: 0 auto;
	}
	
	/*others*/
	.questions{
		width: 80%;
		padding: 5% 0 0 0;
		margin: 0 auto 7% auto;
	}
	.questions .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.questions-box{
		width: 90%;
		margin: 0 auto;
	}
	.toggle {
		display: none;
	}
	.Label {
		display: block;
		background: #cd9c51;
	}
	.Label::after,
	.Label::before {
		content: "";
		position: absolute;
		right: 3em;
		top: 1.7em;
		width: 1px;
		height: 2em;
		background-color: #000;
		transition: all 0.3s;
	}
	.Label::after {
		transform: rotate(90deg);
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 10px 0 0 0;
		margin: 0 0 5% 0;
		transition: all .3s;
	}
	.toggle:checked + .Label::before {
		transform: rotate(90deg) !important;
	}
	.q-title{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.q-title li:first-child{
		width: 10%;
		box-sizing: border-box;
		border-right: 5px solid #fff;
	}
	.q-title li:last-child{
		width: 90%;
		padding: 0 5%;
		box-sizing: border-box;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.5em;
		font-weight: 400;
	}
	.a-txt{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.a-txt li:first-child{
		width: 10%;
		box-sizing: border-box;
		border-right: 5px solid #fff;
	}
	.a-txt li:last-child{
		width: 90%;
		padding: 0 5%;
		box-sizing: border-box;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.5em;
		font-weight: 400;
	}
	
	/*others*/
	.others{
		width: 80%;
		margin: 0 auto 7% auto;
	}
	.others .main-title{
		width: 100%;
		font-size: 20px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 2% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.others-list{
		width: 90%;
		margin: 0 auto;
	}
	.others-list li{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 5% auto;
	}
	.others-list li:last-child{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 0 auto;
	}
	.others-list li .img{
		width: 45%;
	}
	.others-list li .data{
		width: 45%;
		box-sizing: border-box;
	}
	.others-list li .data .title{
		font-size: 25px;
		letter-spacing: 4px;
		line-height: 2em;
		font-weight: 600;
		color: #cd9c51;
		margin: 0 0 5% 0;
	}
	.others-list li .data .txt{
		font-size: 16px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
	}
	
	/*company*/
	.company{
		width: 80%;
		margin: 0 auto 7% auto;
	}
	.company .logo{
		display: block;
		width: 20%;
		margin: 0 auto 5% auto;
	}
	.company .video{
		display: block;
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.company-data{
		width: 80%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 5% auto;
	}
	.company-data .img{
		width: 55%;
	}
	.company-data .data{
		width: 40%;
	}
	.company-data .data .txt01{
		font-size: 16px;
		text-align: justify;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 400;
		margin: 0 0 5% 0;
	}
	.company-data .data .txt02{
		font-size: 30px;
		text-align: justify;
		letter-spacing: 1px;
		font-weight: 600;
		text-decoration: none;
		color: #000;
		display: block;
		margin: 0 0 3% 0;
	}
	.company-data .data .txt03{
		font-size: 18px;
		text-align: justify;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 600;
		margin: 0 0 5% 0;
	}
	.company-data .data .txt03 span{
		font-size: 14px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
		border: 1px solid #000;
		padding: 10px 10px 10px 12px;
		margin: 0 10px 0 0;
	}
	.map{
		width: 100%;
		margin: 0 auto;
	}
	.map iframe {
	  width: 100%;
	  aspect-ratio: 16/9;
	}
	
	/*form*/
	.form{
		width: 100%;
		background: #cd9c51;
		padding: 4% 0 5% 0;
	}
	.form .main-title{
		width: 100%;
		font-size: 25px;
		letter-spacing: 4px;
		line-height: 2em;
		font-weight: 600;
		color: #fff;
		text-align: center;
		margin: 0 0 3% 0;
	}
	.form-wrap{
		width: 80%;
		padding: 5% 0;
		background: #fff;
		margin: 0 auto;
	}
	form{
		width: 60%;
		margin: 0 auto;
	}
	form .title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
		margin: 0 0 2% 0;
	}
	form .title span{
		width: 100%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
		border: 1px solid #ff0000;
		color: #ff0000;
		box-sizing: border-box;
		padding: 5px 10px;
		margin: 0 10px 0 0;
		position: relative;
		top: -2px;
	}
	.form-text {
		height: 4em;
		width: 100%;
		padding: 0 16px;
		border-radius: 6px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		margin: 0 0 5% 0;
		transition: .3s;
	}
	.form-text:focus {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(205, 156, 81) inset;
		transition: .3s;
	}
	.form-textarea {
		display: block;
		width: 100%;
		height: 300px;
		padding: 16px 16px;
		border-radius: 6px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		resize: vertical;
		margin: 0 0 5% 0;
		transition: .3s;
	}
	.form-textarea:focus {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(205, 156, 81) inset;
		transition: .3s;
	}
	
	.m-form-submit-button {
		width: 250px;
		padding: 15px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		cursor: pointer;
		border: 1px solid #cd9c51;
		margin: 0 auto;
		display: block;
		position: relative;
		font-size: 14px;
		letter-spacing: 2px;
		font-weight: 300;
		transition: .3s;
	}
	.m-form-submit-button span{
		width: 15px;
		position: absolute;
		top: 35%;
        -webkit-transform: translateY(-35%); /* Safari用 */
        transform: translateY(-35%);
		right: 15%;
		transition: .3s;
	}
	.m-form-submit-button:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.m-form-submit-button:hover span{
		right: 10%;
		transition: .3s;
	}
	.m-form-submit-button:focus {
		outline: 0;
		background-color: #000;
		border: 2px solid rgb(33, 150, 243);
	}
	
	/*footer*/
	footer{
		width: 100%;
		background: #000;
		padding: 3% 0 3% 0;
	}
	footer .fotter-box{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
	}
	footer .fotter-box .logo{
		width: 10%;
	}
	footer .fotter-box .txt{
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		color: #fff;
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 500;
	}
	footer .fotter-box .txt a{
		text-decoration: none;
		color: #fff;
		letter-spacing: 1px;
		line-height: 2em;
		display: inline-block;
		margin: 0 0 0 30px;
	}
	footer .fotter-box .copy{
		width: 250px;
		position: absolute;
		right: 0;
		bottom: -20px;
	}
	
	/*thank-box*/
	.thank-box{
		width: 100%;
		max-width: 1100px;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.thank-box .logo{
		width: 25%;
		margin: 0 auto 5% auto;
	}
	.thank-box .txt01{
		font-size: 35px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 auto 5% auto;
	}
	.thank-box .txt02{
		font-size: 20px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		text-align: center;
	}
    
}

/*pad*/
@media screen and (min-width: 767px) and (max-width: 1024px) {
	.sp-on{
		display: none !important;
	}
	
	.fade01 {
		animation-name: mv-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 1s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in {
		0% {
		  opacity: 0;
		  transform: translateX(-20px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px);
		}
	}
	.fade02 {
		animation-name: mv-in2;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in2 {
		0% {
		  opacity: 0;
		}
		100% {
		  opacity: 1;
		}
	}
	.fade03 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade04 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 3s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade05 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in3 {
		0% {
		  opacity: 0;
		  transform: translateX(20px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px);
		}
	}
	.fade-txt01 {
		animation-name: mv-txt01;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-txt01 {
		0% {
		  opacity: 0;
		  transform: translateY(20px);
		}
		100% {
		  opacity: 1;
		  transform: translateY(0px);
		}
	}
	
	/*fix-nav*/
	.fix-nav{
		width: 100%;
		position: fixed;
		right: 0;
		top: 1%;
		z-index: 99;
	}
	.fix-nav .logo{
		width: 7%;
		display: block;
		position: absolute;
		left: 2%;
		top: 3%;
		z-index: 99;
	}
	.fix-nav-list{
		width: max-content;
		display: flex;
		justify-content: flex-end;
		position: absolute;
		right: 2%;
	}
	.fix-nav-list li{
		width: max-content;
		margin: 0 0 0 5px;
	}
	.fix-nav-list li a{
		width: 100%;
		background: #fff;
		box-sizing: border-box;
		padding: 5px 5px;
		color: #000;
		text-decoration: none;
		font-size: 10px;
		letter-spacing: 2px;
		transition: .3s;
	}
	.fix-nav-list li a:hover{
		background: #000;
		color: #fff;
		transition: .3s;
	}
	.fix-nav-list li a.end{
		width: 100%;
		background: #000;
		box-sizing: border-box;
		padding: 5px 5px;
		color: #fff;
		text-decoration: none;
		font-size: 10px;
		letter-spacing: 3px;
		transition: .3s;
	}
	.fix-nav-list li a.end:hover{
		background: #fff;
		color: #000;
		transition: .3s;
	}
	
	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 50px;
		right: 5px;
        top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		z-index: 10;
	}
	.side-nav a{
		width: 100%;
		display: block;
		opacity: 1;
		transition: .3s;
	}
	.side-nav a:hover{
		opacity: .5;
		transition: .3s;
	}
	
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 20px;
		width: 30px;
		display: block;
		z-index: 99;
	}
	
	/*header*/
	header{
		width: 100%;
		overflow: hidden;
		position: relative;
	}
	.mv-s{
		margin: 0;
		line-height: 0;
	}
	.mv-data{
		width: 40%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: #fff;
		clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
	}
	.mv-data .title{
		width: 60%;
		overflow: hidden;
		display: block;
		margin: 24% 0 7% 10%;
	}
	.mv-data .txt{
		font-size: 12px;
		letter-spacing: 2px;
		display: block;
		margin: 3% 0 7% 10%;
		overflow: hidden;
	}
	.mv-data .txt span{
		width: max-content;
		font-size: 18px;
		letter-spacing: 2px;
		display: block;
		font-weight: 600;
		padding: 0 10px;
		margin: 10px 0 0 0;
	}
	.mv-data .txt02{
		font-size: 12px;
		letter-spacing: 2px;
		display: block;
		margin: 3% 0 0 10%;
		overflow: hidden;
	}
	.mv-data .txt02 span{
		width: max-content;
		font-size: 18px;
		letter-spacing: 2px;
		display: block;
		font-weight: 600;
		padding: 0 10px;
		margin: 10px 0 0 0;
	}
	.mv-img{
		width: 100%;
		position: relative;
		z-index: -1;
	}
	.mv-img .txt-box{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		bottom: 5%;
		right: 7%;
	}
	.mv-img .txt-box li:first-child{
		width: max-content;
		margin: 0;
	}
	.mv-img .txt-box li{
		width: max-content;
		margin: 0 0 0 15px;
	}
	.mv-img .txt-box li img{
		height: 70px;
	}
	
	/*wrap*/
	#wrap{
		position: relative;
		padding: 0 0 1% 0;
	}
	
	/*service*/
	.service {
		width: 100%;
		position: relative;
	}
	.service .bg{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 900px;
		clip-path: polygon(0 40%, 100% 0, 100% 100%, 0% 100%);
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 200% 200%;
		animation: bggradient 10s ease infinite;
		z-index: -1;
	}
	.service02 .bg{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 900px;
		clip-path: polygon(0 40%, 100% 0, 100% 100%, 0% 100%);
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 200% 200%;
		animation: bggradient 10s ease infinite;
		z-index: -1;
	}
	@keyframes bggradient{
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	
	/*service01*/
	.service01{
		width: 90%;
		margin: 0 auto;
		position: relative;
		padding: 5% 0 0 0;
	}
	.service01 .title-box{
		width: 100%;
		position: relative;
		top: 40px;
	}
	.service01 .title-box .title-txt{
		font-size: 18px;
		font-weight: 600;
    	letter-spacing: 2px;
		line-height: 1.8em;
	}
	.service01 .title-box .title-txt span{
		padding: 10px 10px;
	}
	.service01 .title-box .title-txt02{
		font-size: 18px;
		font-weight: 600;
    	letter-spacing: 2px;
		line-height: 1.8em;
	}
	.service01 .title-box .title-txt02 span{
		padding: 10px 10px;
	}
	.service-case-list-box{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		position: relative;
	}
	.service-case-list-box .img{
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 23%;
	}
	.service-case-list{
		width: 35%;
		position: relative;
	}
	.service-case-list li{
		width: 100%;
		background: #fff;
		font-size: 14px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		margin: 0 0 5% 0;
		box-sizing: border-box;
		padding: 30px 30px;
	}
	.service-case-list li:last-child{
		width: 100%;
		background: #fff;
		font-size: 14px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		margin: 0 0 0% 0;
		box-sizing: border-box;
		padding: 30px 30px;
	}
	.service-case-list li .num{
		width: 35%;
		margin: 0 0 5% 0;
	}
	.service01 .arrow{
		width: 13%;
		margin: 0 auto 3% auto;
		animation-name: Down-arrow;
        animation-duration: 2s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	@keyframes Down-arrow{
	  0%{
          transform: translateY(0);
		  opacity: 1;
	  }
	  10%{
          transform: translateY(0);
	  }
      70%{
          transform: translateY(20px);
	  }
	  100%{
          transform: translateY(30px);
		  opacity: 0;
	  }
	}
	
	
	.service01 .txt-box{
		width: 100%;
		text-align: center;
		padding: 0 0 5% 0;
	}
	.service01 .txt-box .txt01{
		font-size: 21px;
		letter-spacing: 5px;
		display: block;
		font-weight: 600;
		margin: 0 0 2% 0;
	}
	.service01 .txt-box .txt02{
		font-size: 20px;
		letter-spacing: 5px;
		line-height: 2.3em;
		display: block;
		font-weight: 600;
	}
	.service01 .txt-box .txt02 span{
		font-size: 25px;
		color: #cd9c51;
		font-weight: 600;
		padding: 10px 10px;
		margin: 0 10px 0 0;
	}
	
	/*service02*/
	.service02 {
		width: 100%;
		position: relative;
	}
	.service02 .img-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		margin: 0 0 3% 0;
	}
	.service02 .img-box li{
		width: 50%;
	}
	.service02 .point{
		width: 80%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
	}
	.service02 .point li:first-child{
		width: 15%;
	}
	.service02 .point li:nth-child(2){
		width: 80%;
	}
	.service02 .point li .title{
		font-size: 16px;
		font-weight: 600;
    	letter-spacing: 2px;
		line-height: 2em;
		color: #cd9c51;
		margin: 0 0 2% 0;
	}
	.service02 .point li .title span{
		padding: 10px 10px;
	}
	.service02 .point li .txt{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 2em;
	}
	.service02 .point-img{
		width: 90%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.service02 .point-img .box{
		width: 30%;
		box-sizing: border-box;
		padding: 10px;
		background: #cd9c51;
		border-radius: 10px;
	}
	.service02 .point-img .box .txt{
		text-align: center;
		font-size: 15px;
		font-weight: 600;
		letter-spacing: 2px;
		color: #fff;
		margin: 5% 0 0 0;
	}
	.service02 .point-img .arrow{
		width: 3%;
	}
	.service02 .arrow02{
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 20px 15px 0 15px;
		border-color: #000 transparent transparent transparent;
		margin: 0 auto 3% auto;
	}
	.service02 .main-txt{
		text-align: center;
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 3.5em;
		font-weight: 600;
		margin: 0 0 3% 0;
	}
	.service02 .main-txt .txt01{
		padding: 0 0px 5px 10px;
	}
	.service02 .main-txt .txt02{
		font-size: 25px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	.service02 .main-txt .txt03{
		color: #fff;
		padding: 10px 10px 10px 20px;
	}
	.service02 .main-txt02{
		text-align: center;
		font-size: 16px;
		letter-spacing: 3px;
		line-height: 3em;
		font-weight: 600;
		margin: 0 0 5% 0;
	}
	.service02 .main-txt02 .txt01{
		padding: 0 0px 5px 10px;
	}
	.service02 .main-txt03{
		text-align: center;
		font-size: 21px;
		letter-spacing: 2px;
		line-height: 2.5em;
		font-weight: 600;
		margin: 0 0 5% 0;
		padding: 0 0 5% 0;
	}
	.service02 .main-txt03 .txt02{
		font-size: 25px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	
	/*service03*/
	.service03{
		width: 100%;
	}
	.service03 .main-title{
		width: max-content;
		margin: 0 auto 4% auto;
		text-align: center;
		position: relative;
	}
	.service03 .main-title .txt{
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.service03 .main-title .line{
		width: 20px;
		position: absolute;
		top: 0;
		left: -50px;
	}
	.service03 .main-title .line02{
		width: 20px;
		position: absolute;
		top: 0;
		right: -50px;
		transform: scale(-1, 1);
	}
	.service03 .voice{
		width: 100%;
		display: flex;
		justify-content: flex-start;
	}
	.service03 .v-bg01{
		background: #fff;
	}
	.service03 .v-bg02{
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 400% 400%;
		animation: bggradient 5s ease infinite;
	}
	.service03 .voice .voice-box{
		width: 50%;
		box-sizing: border-box;
		padding: 5% 0 5% 0;
	}
	.service03 .voice .voice-box .title{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.service03 .voice .voice-box .title .txt01{
		width: max-content;
		margin: 0 auto 3% auto;
		background: #000;
		color: #fff;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		border-radius: 100px;
		padding: 5px 30px;
	}
	.service03 .voice .voice-box .title .txt01-1{
		width: max-content;
		margin: 0 auto 3% auto;
		background: #fff;
		color: #cd9c51;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		border-radius: 100px;
		padding: 5px 30px;
	}
	.service03 .voice .voice-box .title .txt02{
		width: 90%;
		font-size: 14px;
		letter-spacing: 2px;
		text-align: center;
		line-height: 1.8em;
		font-weight: 600;
		border-bottom: 1px solid #000;
		padding: 0 0 3% 0;
		margin: 0 auto;
	}
	.service03 .voice .voice-box .voice-list{
		width: 90%;
		margin: 0 auto;
	}
	.service03 .voice .voice-box .voice-list li{
		width: 100%;
		min-height: 80px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		margin: 0 0 7% 0;
	}
	.service03 .voice .voice-box .voice-list li:last-child{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0;
	}
	.service03 .voice .voice-box .voice-list li .img{
		width: 15%;
	}
	.service03 .voice .voice-box .voice-list li .data{
		width: 80%;
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.service03 .voice .voice-box .voice-list li .icon{
		width: 5%;
		position: absolute;
		top: 40%;
        -webkit-transform: translateY(-40%); /* Safari用 */
        transform: translateY(-40%);
		right: -8%;
	}
	
	
	/*figure*/
	.figure{
		width: 100%;
		overflow: hidden;
		padding: 7% 0 0 0;
		margin: 0 0 5% 0;
	}
	.figure .main-title{
		text-align: center;
		margin: 0 0 3% 0;
	}
	.figure .main-title .txt01{
		font-size: 20px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		color: #fff;
		padding: 10px 20px 10px 20px;
	}
	.thumbnail{
		width: 80%;
		margin: 0 auto;
		overflow: hidden;
		cursor: pointer;
	}
	.thumbnail .slick-track {
		transform: unset !important;
		width: 100% !important;
		display: flex;
		justify-content: space-between;
		flex-flow: row wrap;
	}
	.thumbnail .slick-slide {
		display: block!important;
		float: none !important;
		flex: 0 0 20%;
		box-sizing: border-box;
		padding: 5px 5px;
		margin: 0;
		line-height: 0;
	}
	.slick-slide {
		opacity: .5;
		transition: opacity .3s linear;
	}
	.slick-current {
		opacity: 1!important;
	}
	
	/*pr*/
	.pr{
		width: 100%;
		overflow: hidden;
	}
	.pr-01{
		width: 80px;
	}
	.pr .main-title{
		width: 90%;
		font-size: 20px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #000;
		padding: 0 0 3% 0;
	}
	.pr-box{
		width: 90%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #000;
		padding: 0 0 5% 0;
	}
	.pr-box .data{
		width: max-content;
	}
	.pr-box .data .txt{
		width: max-content;
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 700;
		border-left: 5px solid #000;
		padding: 5% 0 5% 30px;
		box-sizing: border-box;
		margin: 0 auto;
	}
	.pr-box .data02{
		width: max-content;
		display: flex;
		justify-content: flex-start;
	}
	.pr-box .data02-2{
		width: max-content;
	}
	.pr-box .data02 .count-box{
		width: max-content;
		margin: 0 20px 0 0;
	}
	.pr-box .data02 .count-box .sub-txt{
		font-size: 16px;
		letter-spacing: 2px;
		font-weight: 600;
	}
	.count-txt{
		font-size: 70px;
		font-weight: 800;
		line-height: 1.2em;
		color: #cd9c51;
	}
	.count-txt .dot{
		position: relative;
		font-family: system-ui;
		left: -2px;
	}
	.count-txt .min{
		font-size: 40px;
		letter-spacing: 0px;
		line-height: 1.8em;
		font-weight: 800;
		color: #cd9c51;
	}
	.pr-box .data03{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.mb{
		margin: 0 0 10% 0;
	}
	.pr-box .data02-2 .data03 .count-box{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0 20px 0 0;
	}
	.pr-box .data02-2 .data03 .count-box .sub-txt{
		font-size: 16px;
		letter-spacing: 2px;
		font-weight: 600;
		margin: 0 10px 0 0;
	}
	.pr-box .data02 .up-box{
		width: 55px;
		position: relative;
	}
	.pr-box .data02 .up-box .up{
		width: 100%;
        animation-name:UpDown;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	@keyframes UpDown{
	  0%{
          transform: translateY(0);
		  opacity: 1;
	  }
	  10%{
          transform: translateY(0);
	  }
      70%{
          transform: translateY(-20px);
	  }
	  100%{
          transform: translateY(-30px);
		  opacity: 0;
	  }
	}
	.pr-box .data02 .up-box .txt{
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 20px;
	}
	.pr-box .data02-2 .data03 .up-box{
		width: 55px;
		position: relative;
		top: -10px;
	}
	.pr-box .data02-2 .data03 .up-box .up{
		width: 100%;
        animation-name:UpDown;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	.pr-box .data02-2 .data03 .up-box .txt{
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -10px;
	}
	
	/*comparison*/
	.comparison-btn {
		width: max-content;
		padding: 10px 30px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		border: 1px solid #cd9c51;
		display: block;
		position: relative;
		font-size: 14px;
		text-align: center;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 400;
		transition: .3s;
		margin: 3% 0 0 0;
	}
	.comparison-btn span{
		width: 15px;
		position: absolute;
		top: 20%;
        -webkit-transform: translateY(-20%); /* Safari用 */
        transform: translateY(-20%);
		right: 15%;
		transition: .3s;
	}
	.comparison-btn:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.comparison-btn:hover span{
		right: 10%;
		transition: .3s;
		display: none;
	}
	
	.comparison{
		width: 100%;
		padding: 3% 0 0% 0;
	}
	.comp-title-box{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.comp-title{
		width: 25%;
		margin: 0 auto;
		position: relative;
	}
	.comp-title01{
		width: 100%;
		margin: 0 auto;
		position: relative;
		left: 0%;
	}
	.comp01.active{
		opacity : 1;
		animation-name: comp01;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 1;
	}
	@keyframes comp01 {
		0% {
		  opacity: 1;
		  transform: translateX(0px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(-85px);
		}
	}
	.comp-title02{
		width: 100%;
		margin: 0 auto;
		position: absolute;
		top: 0;
		left: 0;
		right: 0%;
	}
	.comp02.active{
		opacity : 1;
		animation-name: comp02;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 1;
	}
	@keyframes comp02 {
		0% {
		  opacity: 1;
		  transform: translateX(0px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(85px);
		}
	}
	.comp-sub-title{
		font-size: 20px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 0 2% 0;
	}
	.comparison-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	.comparison-box .img{
		width: 50%;
		overflow: hidden;
	}
	.comparison-box .data{
		width: 50%;
		box-sizing: border-box;
		padding: 0 3%;
	}
	.comparison-box .data .num{
		width: 40px;
		margin: 0 0 3% 0;
		animation: poyoyon2 2s ease-in-out infinite;
	}
	.comparison-box .data .txt{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
	}
	.comparison-box .data .logo{
		width: 100%;
		margin: 3% auto 0 auto;
	}
	.comparison-box .data .title{
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.6em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 0 2% 0;
	}
	.comparison-box .data .list .list01{
		font-size: 12px;
		border: 1px solid #000;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
		text-align: center;
		padding: 10px 0;
	}
	.comparison-box .data .list .list02{
		width: 30px;
		margin: 2% auto 2% auto;
	}
	.comparison .main-txt{
		text-align: center;
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 2.5em;
		font-weight: 600;
		margin: 5% 0 0 0;
	}
	.comparison .main-txt .txt01{
		color: #cd9c51;
		font-size: 25px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 10px 0 0;
	}
	
	/*price*/
	.price{
		width: 90%;
		margin: 0 auto 0 auto;
		padding: 5% 0 0 0;
	}
	.price .main-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 1% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.price .sub-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 500;
		color: #cd9c51;
		margin: 0 auto 2% auto;
	}
	.price .price-img{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 3% auto;
	}
	.price .price-img li{
		width: 48%;
	}
	.price-list01{
		width: 100%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: flex-start;
		border: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list01 li:first-child{
		width: 20%;
		position: relative;
		border-right: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list01 li:first-child .txt01{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		text-align: center;
		font-size: 14px;
		letter-spacing: 1px;
		font-weight: 500;
	}
	.price-list01 li:last-child{
		width: 80%;
		position: relative;
		box-sizing: border-box;
		padding: 3% 5%;
	}
	.price-list01 li:last-child .txt01{
		font-size: 25px;
		letter-spacing: 2px;
		margin: 0 0 2% 0;
		font-weight: 500;
	}
	.price-list01 li:last-child .txt01 span{
		font-size: 12px;
	}
	.price-list01 li:last-child .txt02{
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 300;
	}
	
	.price-btn {
		width: 220px;
		padding: 15px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		border: 1px solid #cd9c51;
		display: block;
		position: relative;
		font-size: 14px;
		text-align: center;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 400;
		transition: .3s;
		margin: 0 0 3% 0;
	}
	.price-btn span{
		width: 15px;
		position: absolute;
		top: 20%;
        -webkit-transform: translateY(-20%); /* Safari用 */
        transform: translateY(-20%);
		right: 15%;
		transition: .3s;
	}
	.price-btn:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.price-btn:hover span{
		right: 10%;
		transition: .3s;
	}
	
	.price-list02{
		width: 100%;
		margin: 0 auto;
		border: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list02 li{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		border-bottom: 1px solid #000;
	}
	.price-list02 li:last-child{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		border-bottom: none;
	}
	.price-list02 li .num{
		width: 20%;
		position: relative;
		border-right: 1px solid #000;
		box-sizing: border-box;
		background: #cd9c51;
	}
	.price-list02 li .num .txt{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		text-align: center;
		font-size: 14px;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 600;
		color: #fff;
	}
	.price-list02 li .data{
		width: 80%;
		box-sizing: border-box;
		padding: 5% 5%;
	}
	.price-list02 li .data .txt{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
	}
	
	/*flow*/
	.flow{
		width: 90%;
		margin: 0 auto 0% auto;
		padding: 5% 0 0 0;
	}
	.flow .main-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 1% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.flow-list{
		width: 90%;
		margin: 0 auto;
	}
	.flow-list li{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		margin: 0 auto 3% auto;
	}
	.flow-list li .num{
		width: 60px;
		margin: 0 30px 0 0;
	}
	.flow-list li .data{
		width: 80%;
	}
	.flow-list li .data .title{
		font-size: 21px;
		letter-spacing: 4px;
		font-weight: 600;
		margin: 0 0 1% 0;
	}
	.flow-list li .data .txt{
		font-size: 14px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
	}
	.flow-list li .arrow{
		width: 100%;
		margin: 3% 0 0 0;
	}
	.flow-list li .arrow img{
		height: 50px;
		display: block;
		margin: 0 auto;
	}
	
	/*others*/
	.questions{
		width: 90%;
		padding: 5% 0 0 0;
		margin: 0 auto 7% auto;
	}
	.questions .main-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 1% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.questions-box{
		width: 100%;
		margin: 0 auto;
	}
	.toggle {
		display: none;
	}
	.Label {
		display: block;
		background: #cd9c51;
	}
	.Label::after,
	.Label::before {
		content: "";
		position: absolute;
		right: 3em;
		top: 1.5em;
		width: 1px;
		height: 2em;
		background-color: #000;
		transition: all 0.3s;
	}
	.Label::after {
		transform: rotate(90deg);
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 10px 0 0 0;
		margin: 0 0 5% 0;
		transition: all .3s;
	}
	.toggle:checked + .Label::before {
		transform: rotate(90deg) !important;
	}
	.q-title{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.q-title li:first-child{
		width: 10%;
		box-sizing: border-box;
		border-right: 5px solid #fff;
		background: #000;
		padding: 1% 0;
	}
	.q-title li:last-child{
		width: 90%;
		padding: 0 5%;
		box-sizing: border-box;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 1.5em;
		font-weight: 400;
	}
	.a-txt{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.a-txt li:first-child{
		width: 10%;
		box-sizing: border-box;
		border-right: 5px solid #fff;
	}
	.a-txt li:last-child{
		width: 90%;
		padding: 0 5%;
		box-sizing: border-box;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 400;
	}
	
	/*others*/
	.others{
		width: 90%;
		margin: 0 auto 7% auto;
	}
	.others .main-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 6px;
		line-height: 2.5em;
		padding: 0 0 1% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.others-list{
		width: 100%;
		margin: 0 auto;
	}
	.others-list li{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 5% auto;
	}
	.others-list li:last-child{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 0 auto;
	}
	.others-list li .img{
		width: 45%;
	}
	.others-list li .data{
		width: 50%;
		box-sizing: border-box;
	}
	.others-list li .data .title{
		font-size: 21px;
		letter-spacing: 4px;
		line-height: 2em;
		font-weight: 600;
		color: #cd9c51;
		margin: 0 0 3% 0;
	}
	.others-list li .data .txt{
		font-size: 14px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
	}
	
	/*company*/
	.company{
		width: 90%;
		margin: 0 auto 7% auto;
	}
	.company .logo{
		display: block;
		width: 20%;
		margin: 0 auto 5% auto;
	}
	.company .video{
		display: block;
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.company-data{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 5% auto;
	}
	.company-data .img{
		width: 55%;
	}
	.company-data .data{
		width: 40%;
	}
	.company-data .data .txt01{
		font-size: 16px;
		text-align: justify;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 400;
		margin: 0 0 5% 0;
	}
	.company-data .data .txt02{
		font-size: 30px;
		text-align: justify;
		letter-spacing: 1px;
		font-weight: 600;
		text-decoration: none;
		color: #000;
		display: block;
		margin: 0 0 3% 0;
	}
	.company-data .data .txt03{
		font-size: 18px;
		text-align: justify;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 600;
		margin: 0 0 5% 0;
	}
	.company-data .data .txt03 span{
		font-size: 14px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
		border: 1px solid #000;
		padding: 10px 10px 10px 12px;
		margin: 0 10px 0 0;
	}
	.map{
		width: 100%;
		margin: 0 auto;
	}
	.map iframe {
	  width: 100%;
	  aspect-ratio: 16/9;
	}
	
	/*form*/
	.form{
		width: 100%;
		background: #cd9c51;
		padding: 7% 0 5% 0;
	}
	.form .main-title{
		width: 100%;
		font-size: 21px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 600;
		color: #fff;
		text-align: center;
		margin: 0 0 3% 0;
	}
	.form-wrap{
		width: 90%;
		padding: 5% 0;
		background: #fff;
		margin: 0 auto;
	}
	form{
		width: 80%;
		margin: 0 auto;
	}
	form .title{
		width: 100%;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
		margin: 0 0 2% 0;
	}
	form .title span{
		width: 100%;
		font-size: 10px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
		border: 1px solid #ff0000;
		color: #ff0000;
		box-sizing: border-box;
		padding: 5px 10px;
		margin: 0 20px 0 0;
		position: relative;
		top: -2px;
	}
	.form-text {
		height: 3em;
		width: 100%;
		padding: 0 16px;
		border-radius: 6px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		margin: 0 0 5% 0;
		transition: .3s;
		box-sizing: border-box;
	}
	.form-text:focus {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(205, 156, 81) inset;
		transition: .3s;
	}
	.form-textarea {
		display: block;
		width: 100%;
		height: 300px;
		padding: 16px 16px;
		border-radius: 6px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		resize: vertical;
		margin: 0 0 5% 0;
		transition: .3s;
		box-sizing: border-box;
	}
	.form-textarea:focus {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(205, 156, 81) inset;
		transition: .3s;
	}
	
	.m-form-submit-button {
		width: 250px;
		padding: 15px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		cursor: pointer;
		border: 1px solid #cd9c51;
		margin: 0 auto;
		display: block;
		position: relative;
		font-size: 14px;
		letter-spacing: 2px;
		font-weight: 300;
		transition: .3s;
	}
	.m-form-submit-button span{
		width: 15px;
		position: absolute;
		top: 35%;
        -webkit-transform: translateY(-35%); /* Safari用 */
        transform: translateY(-35%);
		right: 15%;
		transition: .3s;
	}
	.m-form-submit-button:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.m-form-submit-button:hover span{
		right: 10%;
		transition: .3s;
	}
	.m-form-submit-button:focus {
		outline: 0;
		background-color: #000;
		border: 2px solid rgb(33, 150, 243);
	}
	
	/*footer*/
	footer{
		width: 100%;
		background: #000;
		padding: 5% 0 5% 0;
	}
	footer .fotter-box{
		width: 90%;
		margin: 0 auto;
		position: relative;
	}
	footer .fotter-box .logo{
		width: 10%;
		margin: 0 auto 3% auto;
	}
	footer .fotter-box .txt{
		text-align: center;
		color: #fff;
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 500;
		margin: 0 0 5% 0;
	}
	footer .fotter-box .txt a{
		text-decoration: none;
		color: #fff;
		letter-spacing: 1px;
		line-height: 2em;
		display: inline-block;
		margin: 0 0 0 30px;
	}
	footer .fotter-box .copy{
		width: 250px;
		margin: 0 auto;
	}
	
	/*thank-box*/
	.thank-box{
		width: 100%;
		max-width: 1200px;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.thank-box .logo{
		width: 25%;
		margin: 0 auto 5% auto;
	}
	.thank-box .txt01{
		font-size: 35px;
		letter-spacing: 5px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 auto 5% auto;
	}
	.thank-box .txt02{
		font-size: 20px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		text-align: center;
	}
	
}

/*//////////////////////////////// for iphone ////////////////////////////*/
@media (min-width:0px) and ( max-width:766px) {
	.pc-on{
		display: none !important;
	}
	
	.fade01 {
		animation-name: mv-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 1s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in {
		0% {
		  opacity: 0;
		  transform: translateX(-20px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px);
		}
	}
	.fade02 {
		animation-name: mv-in2;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in2 {
		0% {
		  opacity: 0;
		}
		100% {
		  opacity: 1;
		}
	}
	.fade03 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade04 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 3s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade05 {
		animation-name: mv-in3;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-in3 {
		0% {
		  opacity: 0;
		  transform: translateX(20px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px);
		}
	}
	.fade-txt01 {
		animation-name: mv-txt01;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes mv-txt01 {
		0% {
		  opacity: 0;
		  transform: translateY(20px);
		}
		100% {
		  opacity: 1;
		  transform: translateY(0px);
		}
	}
	
	/*fix-nav-sp*/
	.fix-nav-sp{
		width: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 99;
		background: #fff;
	}
	.fix-nav-sp .logo{
		width: 20%;
		display: block;
		margin: 0 auto;
		padding: 10px 0;
	}
	
	
	#pagetop{
		position: fixed;
		right: 5px;
		bottom: 10px;
		width: 40px;
		display: block;
		z-index: 10;
	}
	
	/*header*/
	header{
		width: 100%;
		overflow: hidden;
		position: relative;
		padding: 50px 0 0 0;
	}
	.mv-s{
		margin: 0;
		line-height: 0;
	}
	.mv-data{
		width: 100%;
		background: #fff;
		padding: 7% 0 10% 0;
	}
	.mv-data .logo{
		width: 15%;
		display: block;
		margin: 3% 0 10% 5%;
	}
	.mv-data .title{
		width: 90%;
		overflow: hidden;
		display: block;
		margin: 0 auto;
		padding: 0 0 5% 0;
	}
	.mv-data .txt{
		width: 90%;
		font-size: 14px;
		letter-spacing: 2px;
		display: block;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.mv-data .txt span{
		width: max-content;
		font-size: 25px;
		letter-spacing: 2px;
		display: block;
		font-weight: 600;
		padding: 0 10px;
		margin: 10px 0 0 0;
	}
	.mv-data .txt02{
		width: 90%;
		font-size: 14px;
		letter-spacing: 2px;
		display: block;
		overflow: hidden;
		margin: 0 auto;
	}
	.mv-data .txt02 span{
		width: max-content;
		font-size: 25px;
		letter-spacing: 2px;
		display: block;
		font-weight: 600;
		padding: 0 10px;
		margin: 10px 0 0 0;
	}
	.mv-img{
		width: 100%;
		position: relative;
		z-index: -1;
	}
	.mv-img .txt-box{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		bottom: 5%;
		right: 7%;
	}
	.mv-img .txt-box li:first-child{
		width: max-content;
		margin: 0;
	}
	.mv-img .txt-box li{
		width: max-content;
		margin: 0 0 0 15px;
	}
	.mv-img .txt-box li img{
		height: 70px;
	}
	
	/*wrap*/
	#wrap{
		position: relative;
		padding: 0 0 1% 0;
	}
	
	/*service*/
	.service {
		width: 100%;
		position: relative;
	}
	.service .bg{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 85%;
		clip-path: polygon(0 10%, 100% 0, 100% 100%, 0% 100%);
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 200% 200%;
		animation: bggradient 10s ease infinite;
		z-index: -1;
	}
	.service02 .bg{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 25%;
		clip-path: polygon(0 10%, 100% 0, 100% 100%, 0% 100%);
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 200% 200%;
		animation: bggradient 10s ease infinite;
		z-index: -1;
	}
	@keyframes bggradient{
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	
	/*service01*/
	.service01{
		width: 90%;
		margin: 0 auto;
		position: relative;
		padding-top: 20%;
		margin-top: -10%;
	}
	.service01 .title-box{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.service01 .title-box .title-txt{
		font-size: 15px;
		font-weight: 600;
    	letter-spacing: 1px;
		line-height: 1.8em;
		margin: 0 0 5% 0;
	}
	.service01 .title-box .title-txt span{
		padding: 10px 10px;
	}
	.service01 .title-box .title-txt02{
		font-size: 15px;
		font-weight: 600;
    	letter-spacing: 1px;
		line-height: 1.8em;
	}
	.service01 .title-box .title-txt02 span{
		padding: 10px 10px;
	}
	.service-case-list-box{
		width: 100%;
		position: relative;
	}
	.service-case-list-box .img{
		margin: 0 auto 5% auto;
		width: 50%;
	}
	.service-case-list{
		width: 100%;
		position: relative;
	}
	.service-case-list li{
		width: 100%;
		background: #fff;
		font-size: 13px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		margin: 0 0 5% 0;
		box-sizing: border-box;
		padding: 5% 5%;
	}
	.service-case-list li:last-child{
		width: 100%;
		background: #fff;
		font-size: 13px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		margin: 0 0 0 0;
		box-sizing: border-box;
		padding: 5% 5%;
	}
	.service-case-list li .num{
		width: 30%;
		margin: 0 0 3% 0;
	}
	.service01 .arrow{
		width: 15%;
		margin: 0 auto 10% auto;
		animation-name: Down-arrow;
        animation-duration: 2s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	@keyframes Down-arrow{
	  0%{
          transform: translateY(0);
		  opacity: 1;
	  }
	  10%{
          transform: translateY(0);
	  }
      70%{
          transform: translateY(20px);
	  }
	  100%{
          transform: translateY(30px);
		  opacity: 0;
	  }
	}
	
	
	.service01 .txt-box{
		width: 100%;
		text-align: center;
		padding: 0 0 10% 0;
	}
	.service01 .txt-box .txt01{
		font-size: 16px;
		letter-spacing: 4px;
		display: block;
		font-weight: 600;
		margin: 0 0 2% 0;
	}
	.service01 .txt-box .txt02{
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2.3em;
		display: block;
		font-weight: 600;
	}
	.service01 .txt-box .txt02 span{
		font-size: 18px;
		color: #cd9c51;
		font-weight: 600;
		padding: 10px 10px;
		margin: 0 5px 0 0;
	}
	
	/*service02*/
	.service02 {
		width: 100%;
		position: relative;
	}
	.service02 .img-box-s{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.service02 .point{
		width: 90%;
		margin: 0 auto 10% auto;
	}
	.service02 .point li:first-child{
		width: 20%;
		margin: 0 auto 5% auto;
	}
	.service02 .point li:nth-child(2){
		width: 100%;
	}
	.service02 .point li .title{
		font-size: 16px;
		font-weight: 600;
    	letter-spacing: 1px;
		color: #cd9c51;
	}
	.service02 .point li .title span{
		padding: 7px 0;
		width: 100%;
		display: block;
		text-align: center;
	}
	.service02 .point .txt{
		width: 100%;
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 2em;
		text-align: justify;
		margin: 5% 0 0 0;
		box-sizing: border-box;
	}
	.service02 .point-img{
		width: 80%;
		margin: 0 auto 10% auto;
	}
	.service02 .point-img .box{
		width: 100%;
		box-sizing: border-box;
		padding: 10px;
		background: #cd9c51;
		border-radius: 5% 5%;
	}
	.service02 .point-img .box .txt{
		text-align: center;
		font-size: 15px;
		font-weight: 600;
		letter-spacing: 2px;
		color: #fff;
		margin: 3% 0 0 0;
	}
	.service02 .point-img .arrow{
		width: 30px;
		transform:rotate(90deg);
		margin: 5% auto;
	}
	.service02 .arrow02{
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 15px 10px 0 10px;
		border-color: #000 transparent transparent transparent;
		margin: 0 auto 7% auto;
	}
	.service02 .main-txt{
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 3em;
		font-weight: 600;
		margin: 0 0 10% 0;
	}
	.service02 .main-txt .txt01{
		padding: 0 0px 5px 10px;
	}
	.service02 .main-txt .txt02{
		font-size: 18px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 5px 0 0;
	}
	.service02 .main-txt .txt03{
		color: #fff;
		padding: 10px 10px 10px 20px;
	}
	.service02 .main-txt02{
		width: 90%;
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2.5em;
		font-weight: 600;
		margin: 0 auto 5% auto;
	}
	.service02 .main-txt02 .txt01{
		padding: 0 0px 5px 10px;
	}
	.service02 .main-txt03{
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2.5em;
		font-weight: 600;
		margin: 0 0 10% 0;
		padding: 0 0 10% 0;
	}
	.service02 .main-txt03 .txt02{
		font-size: 18px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 5px 0 0;
	}
	
	/*service03*/
	.service03{
		width: 100%;
	}
	.service03 .main-title{
		width: max-content;
		margin: 0 auto 4% auto;
		text-align: center;
		position: relative;
	}
	.service03 .main-title .txt{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.service03 .main-title .line{
		width: 20px;
		position: absolute;
		top: 0;
		left: -30px;
	}
	.service03 .main-title .line02{
		width: 20px;
		position: absolute;
		top: 0;
		right: -30px;
		transform: scale(-1, 1);
	}
	.service03 .voice{
		width: 100%;
	}
	.service03 .v-bg01{
		background: #fff;
	}
	.service03 .v-bg02{
		background:linear-gradient(45deg, #e7dbc8,#dabc8e,#cd9c51);
		background-size: 400% 400%;
		animation: bggradient 5s ease infinite;
	}
	.service03 .voice .voice-box{
		width: 100%;
		box-sizing: border-box;
		padding: 5% 0 5% 0;
	}
	.service03 .voice .voice-box .title{
		width: 100%;
		margin: 0 auto 2% auto;
	}
	.service03 .voice .voice-box .voice-list li .title .txt01{
		width: max-content;
		margin: 0 auto 3% auto;
		background: #000;
		color: #fff;
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		border-radius: 100px;
		padding: 5px 30px;
	}
	.service03 .voice .voice-box .voice-list li .title .txt01-1{
		width: max-content;
		margin: 0 auto 2% auto;
		background: #fff;
		color: #cd9c51;
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		border-radius: 100px;
		padding: 5px 30px;
	}
	.service03 .voice .voice-box .voice-list li .title .txt02{
		width: 100%;
		font-size: 12px;
		letter-spacing: 1px;
		text-align: center;
		line-height: 1.8em;
		font-weight: 300;
		border-bottom: 1px solid #000;
		padding: 0 0 3% 0;
		margin: 0 auto;
	}
	.service03 .voice .voice-box .voice-list{
		width: 100%;
		margin: 0 auto;
	}
	.service03 .voice .voice-box .voice-list li{
		width: 100%;
		min-height: 80px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		margin: 0 0 7% 0;
	}
	.service03 .voice .voice-box .voice-list li:last-child{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		margin: 0;
		box-sizing: border-box;
		padding: 10% 5%;
	}
	.service03 .voice .voice-box .voice-list li .img{
		width: 20%;
	}
	.service03 .voice .voice-box .voice-list li .data{
		width: 75%;
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.service03 .voice .voice-box .voice-list li .icon{
		width: 10%;
		position: absolute;
		right: 0%;
		left: 0%;
		bottom: -7%;
		margin: 0 auto;
		transform:rotate(45deg);
	}
	.service03 .voice .voice-box .voice-list li .icon img{
		transform:rotate(90deg);
	}
	
	
	/*figure*/
	.figure{
		width: 100%;
		overflow: hidden;
		padding-top: 20%;
		margin-top: -10%;
		margin-bottom: 15%;
	}
	.figure .main-title{
		text-align: center;
		margin: 0 0 5% 0;
	}
	.figure .main-title .txt01{
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		color: #fff;
		padding: 10px 20px 10px 20px;
	}
	.thumbnail-sp{
		width: 95%;
		margin: 0 auto;
		overflow: hidden;
		cursor: pointer;
	}
	.thumbnail-sp .slick-track {
		transform: unset !important;
		width: 100% !important;
		display: flex;
		justify-content: space-between;
		flex-flow: row wrap;
	}
	.thumbnail-sp .slick-slide {
		display: block!important;
		float: none !important;
		flex: 0 0 20%;
		box-sizing: border-box;
		padding: 2px 2px;
		margin: 0;
		line-height: 0;
	}
	.slick-slide {
		opacity: .5;
		transition: opacity .3s linear;
	}
	.slick-current {
		opacity: 1!important;
	}
	
	/*pr*/
	.pr{
		width: 100%;
		overflow: hidden;
	}
	.pr-01{
		width: 80px;
	}
	.pr .main-title{
		width: 100%;
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #000;
		padding: 0 0 3% 0;
	}
	.pr-box{
		width: 100%;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #000;
		padding: 0 0 5% 0;
	}
	.pr-box .data{
		width: 90%;
		margin: 0 auto 5% auto;
	}
	.pr-box .data .txt{
		width: 100%;
		font-size: 15px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 700;
		border-left: 5px solid #000;
		padding: 5% 0 5% 5%;
		box-sizing: border-box;
	}
	.pr-box .data02{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		margin: 0 auto;
	}
	.pr-box .data02-2{
		width: max-content;
		margin: 0 auto;
	}
	.pr-box .data02 .count-box{
		width: max-content;
		margin: 0 20px 0 0;
	}
	.pr-box .data02 .count-box .sub-txt{
		font-size: 14px;
		letter-spacing: 2px;
		font-weight: 600;
	}
	.count-txt{
		font-size: 60px;
		font-weight: 800;
		line-height: 1.2em;
		color: #cd9c51;
	}
	.count-txt .dot{
		position: relative;
		font-family: system-ui;
		left: -2px;
	}
	.count-txt .min{
		font-size: 40px;
		letter-spacing: 0px;
		line-height: 1.8em;
		font-weight: 800;
		color: #cd9c51;
	}
	.pr-box .data03{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.mb{
		margin: 0 0 10% 0;
	}
	.pr-box .data02-2 .data03 .count-box{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0 20px 0 0;
	}
	.pr-box .data02-2 .data03 .count-box .sub-txt{
		font-size: 14px;
		letter-spacing: 2px;
		font-weight: 600;
		margin: 0 10px 0 0;
	}
	.pr-box .data02 .up-box{
		width: 40px;
		position: relative;
	}
	.pr-box .data02 .up-box .up{
		width: 100%;
        animation-name:UpDown;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	@keyframes UpDown{
	  0%{
          transform: translateY(0);
		  opacity: 1;
	  }
	  10%{
          transform: translateY(0);
	  }
      70%{
          transform: translateY(-20px);
	  }
	  100%{
          transform: translateY(-30px);
		  opacity: 0;
	  }
	}
	.pr-box .data02 .up-box .txt{
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 20px;
	}
	.pr-box .data02-2 .data03 .up-box{
		width: 40px;
		position: relative;
	}
	.pr-box .data02-2 .data03 .up-box .up{
		width: 100%;
        animation-name:UpDown;
        animation-duration: 3s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
	}
	.pr-box .data02-2 .data03 .up-box .txt{
		width: 100%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -10px;
	}
	
	/*comparison*/
	.comparison-btn {
		width: 100%;
		padding: 10px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		border: 1px solid #cd9c51;
		display: block;
		position: relative;
		font-size: 14px;
		text-align: center;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 400;
		transition: .3s;
		margin: 3% 0 0 0;
		box-sizing: border-box;
	}
	.comparison-btn span{
		width: 15px;
		position: absolute;
		top: 20%;
        -webkit-transform: translateY(-20%); /* Safari用 */
        transform: translateY(-20%);
		right: 15%;
		transition: .3s;
	}
	.comparison-btn:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.comparison-btn:hover span{
		right: 10%;
		transition: .3s;
		display: none;
	}
	
	.comparison{
		width: 100%;
		padding: 10% 0 0% 0;
	}
	.comp-title-box{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.comp-title{
		width: 45%;
		margin: 0 auto;
		position: relative;
	}
	.comp-title01{
		width: 100%;
		margin: 0 auto;
		position: relative;
		left: 0%;
	}
	.comp01.active{
		opacity : 1;
		animation-name: comp01;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: .5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 1;
	}
	@keyframes comp01 {
		0% {
		  opacity: 1;
		  transform: translateX(0px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(-75px);
		}
	}
	.comp-title02{
		width: 100%;
		margin: 0 auto;
		position: absolute;
		top: 0;
		left: 0;
		right: 0%;
	}
	.comp02.active{
		opacity : 1;
		animation-name: comp02;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: .5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 1;
	}
	@keyframes comp02 {
		0% {
		  opacity: 1;
		  transform: translateX(0px);
		}
		100% {
		  opacity: 1;
		  transform: translateX(75px);
		}
	}
	.comp-sub-title{
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.comparison-box{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.comparison-box .img{
		width: 100%;
		overflow: hidden;
	}
	.comparison-box .data{
		width: 90%;
		margin: 0 auto 5% auto;
	}
	.comparison-box .data .num{
		width: 60px;
		margin: 0 0 5% 0;
		animation: poyoyon2 2s ease-in-out infinite;
	}
	.comparison-box .data .txt{
		font-size: 16px;
		letter-spacing: 2px;
		text-align: justify;
		line-height: 2em;
		font-weight: 600;
	}
	.comparison-box .data .logo{
		width: 100%;
		margin: 5% auto 0 auto;
	}
	.comparison-box .data .title{
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 1.6em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.comparison-box .data .list .list01{
		font-size: 12px;
		border: 1px solid #000;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 600;
		text-align: center;
		padding: 10px 0;
	}
	.comparison-box .data .list .list02{
		width: 30px;
		margin: 2% auto 2% auto;
	}
	.comparison .main-txt{
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2.5em;
		font-weight: 600;
	}
	.comparison .main-txt .txt01{
		color: #cd9c51;
		font-size: 18px;
		font-weight: 600;
		padding: 10px 10px 10px 15px;
		margin: 0 5px 0 0;
	}
	
	/*price*/
	.price{
		width: 100%;
		margin: 0 auto 0 auto;
		padding-top: 20%;
		margin-top: -10%;
	}
	.price .main-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.8em;
		padding: 0 0 3% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.price .sub-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 2px;
		font-weight: 500;
		color: #cd9c51;
		margin: 0 auto 4% auto;
		text-align: center;
	}
	.price .price-img{
		width: 95%;
		margin: 0 auto 5% auto;
	}
	.price .price-img li{
		width: 100%;
	}
	.price .price-img li:first-child{
		width: 100%;
		margin: 0 0 3% 0;
	}
	.price-list01{
		width: 90%;
		margin: 0 auto 10% auto;
		border: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list01 li:first-child{
		width: 100%;
		border-bottom: 1px solid #000;
		padding: 5% 0;
	}
	.price-list01 li:first-child .txt01{
		width: 100%;
		text-align: center;
		font-size: 16px;
		letter-spacing: 1px;
		line-height: 1.8em;
		font-weight: 600;
	}
	.price-list01 li:last-child{
		width: 100%;
		position: relative;
		box-sizing: border-box;
		padding: 5% 5%;
	}
	.price-list01 li:last-child .txt01{
		font-size: 25px;
		letter-spacing: 1px;
		margin: 0 0 5% 0;
		font-weight: 500;
		text-align: center;
	}
	.price-list01 li:last-child .txt01 span{
		font-size: 12px;
	}
	.price-list01 li:last-child .txt02{
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 300;
	}
	
	.price-btn {
		width: 80%;
		padding: 15px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		border: 1px solid #cd9c51;
		display: block;
		position: relative;
		font-size: 14px;
		text-align: center;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 400;
		transition: .3s;
		margin: 0 auto 5% auto;
	}
	.price-btn span{
		width: 15px;
		position: absolute;
		top: 20%;
        -webkit-transform: translateY(-20%); /* Safari用 */
        transform: translateY(-20%);
		right: 15%;
		transition: .3s;
	}
	.price-btn:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.price-btn:hover span{
		right: 10%;
		transition: .3s;
	}
	
	.price-list02{
		width: 90%;
		margin: 0 auto;
		border-top: 1px solid #000;
		border-left: 1px solid #000;
		border-right: 1px solid #000;
		box-sizing: border-box;
	}
	.price-list02 li{
		width: 100%;
		border-bottom: 1px solid #000;
	}
	.price-list02 li:last-child{
		width: 100%;
		border-bottom: 1px solid #000;
	}
	.price-list02 li .num{
		width: 100%;
		position: relative;
		box-sizing: border-box;
		background: #cd9c51;
		padding: 5% 0;
	}
	.price-list02 li .num .txt{
		width: 100%;
		text-align: center;
		font-size: 16px;
		letter-spacing: 1px;
		line-height: 1.8em;
		font-weight: 600;
		color: #fff;
	}
	.price-list02 li .data{
		width: 100%;
		box-sizing: border-box;
		padding: 5% 5%;
	}
	.price-list02 li .data .txt{
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 1.8em;
		text-align: justify;
		font-weight: 300;
	}
	
	/*flow*/
	.flow{
		width: 100%;
		margin: 0 auto 0% auto;
		padding-top: 20%;
		margin-top: -10%;
	}
	.flow .main-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.8em;
		padding: 0 0 3% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 10% 0;
	}
	.flow-list{
		width: 90%;
		margin: 0 auto;
	}
	.flow-list li{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 0 auto 5% auto;
	}
	.flow-list li .num{
		width: 50px;
		margin: 0 20px 0 0;
	}
	.flow-list li .data{
		width: 75%;
	}
	.flow-list li .data .title{
		font-size: 18px;
		letter-spacing: 4px;
		font-weight: 600;
		margin: 0 0 3% 0;
	}
	.flow-list li .data .txt{
		font-size: 14px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 400;
	}
	.flow-list li .arrow{
		width: 100%;
		margin: 5% 0 0 0;
	}
	.flow-list li .arrow img{
		height: 50px;
		display: block;
		margin: 0 auto;
	}
	
	/*others*/
	.questions{
		width: 100%;
		margin: 0 auto 0 auto;
		padding-top: 20%;
		margin-top: -10%;
	}
	.questions .main-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.8em;
		padding: 0 0 3% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 10% 0;
	}
	.questions-box{
		width: 100%;
		margin: 0 auto;
	}
	.toggle {
		display: none;
	}
	.Label {
		display: block;
		background: #cd9c51;
	}
	.Label::after,
	.Label::before {
		content: "";
		position: absolute;
		right: 1.5em;
		top: 2.3em;
		width: 1px;
		height: 1em;
		background-color: #000;
		transition: all 0.3s;
	}
	.Label::after {
		transform: rotate(90deg);
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 10px 0 0 0;
		margin: 0 0 5% 0;
		transition: all .3s;
	}
	.toggle:checked + .Label::before {
		transform: rotate(90deg) !important;
	}
	.q-title{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.q-title li:first-child{
		width: 13%;
		box-sizing: border-box;
		border-right: 5px solid #fff;
		background: #000;
		padding: 7% 0;
	}
	.q-title li:last-child{
		width: 100%;
		padding: 0 15% 0 5%;
		box-sizing: border-box;
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 1.5em;
		text-align: justify;
		font-weight: 400;
	}
	.a-txt{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.a-txt li:first-child{
		width: 10%;
		box-sizing: border-box;
		border-right: 2px solid #f8f8f7;
		padding: 7% 0;
		background: #cd9c51;
	}
	.a-txt li:last-child{
		width: 90%;
		padding: 0 5% 0 5%;
		box-sizing: border-box;
		font-size: 13px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 400;
	}
	.a-txt li:last-child br{
		display: none;
	}
	
	/*others*/
	.others{
		width: 100%;
		padding: 15% 0 0 0;
		margin: 0 auto 0 auto;
	}
	.others .main-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.8em;
		padding: 0 0 3% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 10% 0;
	}
	.others-list{
		width: 80%;
		margin: 0 auto 0% auto;
	}
	.others-list li{
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.others-list li:last-child{
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.others-list li .img{
		width: 100%;
		overflow: hidden;
	}
	.others-list li .data{
		width: 100%;
		box-sizing: border-box;
		margin: 0 auto 5% auto;
	}
	.others-list li .data .title{
		font-size: 18px;
		letter-spacing: 2px;
		font-weight: 600;
		color: #cd9c51;
		margin: 0 0 3% 0;
	}
	.others-list li .data .txt{
		font-size: 14px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
	}
	
	/*company*/
	.company{
		width: 100%;
		padding: 15% 0 5% 0;
		margin: 0 auto 0 auto;
	}
	.company .logo{
		display: block;
		width: 35%;
		margin: 0 auto 10% auto;
	}
	.company .video{
		display: block;
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.company .main-title{
		width: 100%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 1.8em;
		padding: 0 0 3% 0;
		font-weight: 500;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 10% 0;
	}
	.company-data{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.company-data .img{
		width: 80%;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.company-data .data{
		width: 90%;
		text-align: center;
		margin: 0 auto;
	}
	.company-data .data .logo{
		width: 30%;
		margin: 0 auto 5% auto;
	}
	.company-data .data .txt01{
		font-size: 13px;
		text-align: center;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 400;
		margin: 0 0 5% 0;
	}
	.company-data .data .txt02{
		font-size: 28px;
		text-align: center;
		letter-spacing: 1px;
		font-weight: 600;
		text-decoration: none;
		color: #000;
		display: block;
		margin: 0 0 5% 0;
	}
	.company-data .data .txt03{
		font-size: 14px;
		text-align: center;
		letter-spacing: 1px;
		line-height: 2em;
		font-weight: 600;
		margin: 0 0 10% 0;
	}
	.company-data .data .txt03 span{
		font-size: 10px;
		text-align: justify;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 400;
		border: 1px solid #000;
		padding: 7px 10px 7px 12px;
		margin: 0 20px 0 0;
	}
	.map{
		width: 90%;
		margin: 0 auto;
	}
	.map iframe {
	  width: 100%;
	  aspect-ratio: 16/9;
	}
	
	/*form*/
	.form{
		width: 100%;
		background: #cd9c51;
		padding: 20% 0 5% 0;
	}
	.form .main-title{
		width: 100%;
		font-size: 18px;
		letter-spacing: 3px;
		line-height: 2em;
		font-weight: 600;
		color: #fff;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.form-wrap{
		width: 95%;
		padding: 10% 0;
		background: #fff;
		margin: 0 auto;
	}
	form{
		width: 90%;
		margin: 0 auto;
	}
	form .title{
		width: 100%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
		margin: 0 0 3% 0;
	}
	form .title span{
		width: 100%;
		font-size: 10px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 300;
		border: 1px solid #ff0000;
		color: #ff0000;
		box-sizing: border-box;
		padding: 5px 10px;
		margin: 0 10px 0 0;
		position: relative;
		top: -2px;
	}
	.form-text {
		height: 3em;
		width: 100%;
		padding: 0 16px;
		border-radius: 6px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		margin: 0 0 7% 0;
		transition: .3s;
		box-sizing: border-box;
	}
	.form-text:focus {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(205, 156, 81) inset;
		transition: .3s;
	}
	.form-textarea {
		display: block;
		width: 100%;
		height: 300px;
		padding: 16px 16px;
		border-radius: 6px;
		border: none;
		box-shadow: 0 0 0 1px #ccc inset;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		resize: vertical;
		margin: 0 0 5% 0;
		transition: .3s;
		box-sizing: border-box;
	}
	.form-textarea:focus {
		outline: 0;
		box-shadow: 0 0 0 2px rgb(205, 156, 81) inset;
		transition: .3s;
	}
	
	.m-form-submit-button {
		width: 250px;
		padding: 15px 10px;
		border: none;
		border-radius: 4px;
		background-color: #cd9c51;
		color: #fff;
		font-weight: bold;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		cursor: pointer;
		border: 1px solid #cd9c51;
		margin: 0 auto;
		display: block;
		position: relative;
		font-size: 14px;
		letter-spacing: 2px;
		font-weight: 300;
		transition: .3s;
	}
	.m-form-submit-button span{
		width: 15px;
		position: absolute;
		top: 35%;
        -webkit-transform: translateY(-35%); /* Safari用 */
        transform: translateY(-35%);
		right: 15%;
		transition: .3s;
	}
	.m-form-submit-button:hover {
		background-color: #fff;
		color: #cd9c51;
		border: 1px solid #cd9c51;
		transition: .3s;
	}
	.m-form-submit-button:hover span{
		right: 10%;
		transition: .3s;
	}
	.m-form-submit-button:focus {
		outline: 0;
		background-color: #000;
		border: 2px solid rgb(33, 150, 243);
	}
	
	/*footer*/
	footer{
		width: 100%;
		background: #000;
		padding: 10% 0 5% 0;
	}
	footer .fotter-box{
		width: 90%;
		margin: 0 auto;
		position: relative;
	}
	footer .fotter-box .logo{
		width: 30%;
		margin: 0 auto 10% auto;
	}
	footer .fotter-box .txt{
		text-align: center;
		color: #fff;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
		font-weight: 500;
		margin: 0 0 5% 0;
	}
	footer .fotter-box .txt a{
		text-decoration: none;
		color: #fff;
		letter-spacing: 1px;
		line-height: 2em;
		display: inline-block;
		display: block;
	}
	footer .fotter-box .copy{
		width: 250px;
		margin: 0 auto;
	}
	
	.foot_fix_btn {
		position: fixed;
		z-index: 15;
		bottom: 0;
		left: 0;
		width: 100%;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
	}
	.foot_fix_btn.js_hide {
		transform: translateY(100%);
	}
	.foot_fix_btn ul {
		width: 100%;
	}
	.foot_fix_btn ul li {
		width: 100%;
	}
	.foot_fix_btn ul li a{
		width: 100%;
	}
	
	
	/*nav*/
	.menu{
		height: 10px;
		position: fixed;
		right: 20px;
		top: 20px;
		width: 30px;
		z-index: 99;
		cursor: pointer;
	}
	.menu__line{
		background: rgba(0,0,0,1.00);
		display: block;
		height: 1px;
		position: absolute;
		transition:transform .3s;
		width: 100%;
	}
	.menu__line--center{
		top: 9px;
		display: none;
	}
	.menu__line--bottom{
		bottom: 0;
	}
	.menu__line--icon.active{
		display: none;
	}
	.menu__line--top.active{
		background: rgba(0,0,0,1.00);
		top: 10px;
		transform: rotate(45deg);
	}
	.menu__line--center.active{
		background: rgba(0,0,0,1.00);
		transform:scaleX(0);
	}
	.menu__line--bottom.active{
		background: rgba(0,0,0,1.00);
		bottom: 0px;
		transform: rotate(135deg);
	}
	
	/*gnav*/
	.gnav{
		background: rgba(255,255,255,0.9);
		display: none;
		height: 100%;
		position: fixed;
		width: 100%;
		z-index: 98!important;
		top: 0;
		left: 0;
		-webkit-backdrop-filter: blur(5px);
		backdrop-filter: blur(5px);
	}
	.gnav__wrap{
		align-items:center;
		display: flex;
		flex-wrap: wrap;
		height: 100%;
		justify-content: center;
		position: absolute;
		width: 100%;
	}
	.gnav__wrap .logo{
		width: 7%;
		margin: 0 46.5%;
	}
	
	.grad-btn {
		background: #000;
		color: #fff;
		text-align: center;
		display: block;
		margin: 5% auto 0 auto;
		font-size: 12px;
		padding: 1% 0;
	}
	.grad-btn::before {
	  content: "READ MORE"
	}
	.grad-item {
	  position: relative;
	  overflow: hidden;
	  height: 35px; /*隠した状態の高さ*/
	}
	.grad-item::before {
	  display: block;
	  position: absolute;
	  bottom: 0;
	  left: 0;
	  width: 100%;
	  height: 35px; 
	  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
	  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
	  content: "";
	}
	.grad-trigger {
	  display: none; 
	}
	.grad-trigger:checked ~ .grad-btn::before {
	  content: "CLOSE" 
	}
	.grad-trigger:checked ~ .grad-item {
	  height: auto;
	}
	.grad-trigger:checked ~ .grad-item::before {
	  display: none;
	}
	.logo-h{
		display: none;
	}
	.top-nav-h{
		width: max-content;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.top-nav-h li{
		text-align: center;
		margin: 0 0 15% 0;
	}
	.top-nav-h li:last-child{
		text-align: center;
		margin: 0 0 0 0;
	}
	.top-nav-h li a{
		font-size: 14px;
		letter-spacing: 4px;
		color: #000;
		text-decoration: none;
		opacity: 1;
		transition: .3s;
	}
	.top-nav-h li a:hover{
		opacity: .5;
		transition: .3s;
	}
	
	/*thank-box*/
	.thank-box{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.thank-box .logo{
		width: 50%;
		margin: 0 auto 5% auto;
	}
	.thank-box .txt01{
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		color: #cd9c51;
		text-align: center;
		margin: 0 auto 5% auto;
	}
	.thank-box .txt02{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 1.8em;
		font-weight: 600;
		text-align: center;
	}
	
}
