@charset 'utf-8';


/* =========================================================
header
========================================================= */
@media only screen and (max-width: 767px){
	#nav-header-title .page__title__inner{
		padding-right: 5px;
	}
}


/* =========================================================
precut
========================================================= */
#precut {
}


/* =========================================================
precut__top
========================================================= */
#precut__top {
}
#content .precut__top__inner {
	padding-top: 0;
	padding-bottom: 117px;
}
.precut__top--title {
}
.precut__top--txt {
	margin-top: 20px;
}
@media only screen and (max-width: 767px){
	#content .precut__top__inner {
		padding-top: 19px;
	}
}


/* =========================================================
precut_slider
========================================================= */
/*
@keyframes SwiperZoomOut {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes SwiperZoomIn {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
#precut_slider {
	width: 100%;
}
#precut_slider .swiper-wrapper {
}
#precut_slider .swiper-wrapper .swiper-slide img {
	pointer-events: none;
}
#precut_slider{
	position: relative;
	overflow: hidden;
	margin: 0 auto;
}
.swiper-slide:not(.swiper-slide-active){
	transition: opacity 5s cubic-bezier(0.12, 0.92, 0.38, 0.99),
	filter 5.1s cubic-bezier(0.12, 0.92, 0.38, 0.99);
	opacity: 0 !important;
	filter: blur(12px) brightness(0.7);
	animation: SwiperZoomIn 1s linear 0s 1 normal both;
}
.swiper-slide-active{
	transition: opacity 5s cubic-bezier(0.12, 0.92, 0.38, 0.99),
	filter 5s cubic-bezier(0.12, 0.92, 0.38, 0.99);
	opacity: 1 !important;
	filter: blur(0) brightness(1);
}
.swiper-slide-active [class*="_img_bg_"],
.swiper-slide-duplicate-active [class*="_img_bg_"],
.swiper-slide-prev [class*="_img_bg_"]{
	animation: SwiperZoomOut 13s linear 0s 1 normal both;
}
@media only screen and (max-width: 767px){
	#precut_slider .swiper-slide [class*="_img_bg_"][class*="1400/787"]::before {
		padding-top: 75%;
	}
}
*/
#precut_parallax{
	position: relative;
}
#precut_parallax .jarallax {
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	z-index: 0;
	height: 787px;
}
@media print, screen and (min-width: 1401px) {
	#precut_parallax .jarallax {
		height: calc((787 / (1400 + var(--sc__width))) * 100 * 1vw);
	}
}
@media only screen and (max-width: 767px){
	#precut_parallax .jarallax {
		height: calc((235 / (360 + var(--sc__width))) * 100 * 1vw);
	}
}


/* =========================================================
precut__features
========================================================= */
#precut__features {
}
#content .precut__features01 .precut__features__inner {
	padding-top: 107px;
	padding-bottom: 114px;
}
#content .precut__features02 .precut__features__inner {
	padding-top: 0;
	padding-bottom: 60px;
}
#content .precut__features03 .precut__features__inner {
	padding-top: 0;
}
@media only screen and (max-width: 767px){
	#content .precut__features01 .precut__features__inner {
		padding: 107px 0 54px;
		min-height: 0;
	}
	#content .precut__features01 .precut__features__inner > *:not(h2){
		padding-left: 20px;
		padding-right: 20px;
	}
	#content .precut__features02 .precut__features__inner {
		padding: 0 20px 60px;
		min-height: 0;
	}
	#content .precut__features03 .precut__features__inner {
		padding: 0 20px 120px;
		min-height: 0;
	}
	.precut__features__inner .precut__features--title {
		width: 100% !important;
		margin: 0 auto;
		padding-right: 20px;
	}
}


/* =========================================================
precut__features01
========================================================= */
.precut__features01 {
	width: 100%;
}
.precut__features01__bg {
	max-width: 1000px;
	margin:120px auto 0;
}
.precut__features01__info {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	position: relative;
	z-index: 1;
}
.precut__features01__info__text {
	width: 48.3%;
	min-width: 440px;
	padding-right: 20px;
  margin-top: -90px;
}
.precut__features01__info__text--title{
	margin-top: 41px;
}
.precut__features01__info__text--txt {
	margin-top: 48px;
}
.precut__features01__info__img {
	width: 45.6%;
  margin-top: calc((-90 / (1400 + var(--sc__width))) * 100 * 1vw);
}
@media print, screen and (min-width: 1401px) {
	.precut__features01__info__img {
		margin-top: -90px;
	}
}
.precut__features01--sub {
	width: 100%;
  margin-top: 87px;
}
.precut__features01__sub {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap:30px 5.3%;
}
.precut__features01__sub__img {
	width: 29.8%;
}
.precut__features01__sub__img img {
	width: 100%;
}
.precut__features01__sub__img--txt {
	margin-top: 15px;
}
@media only screen and (max-width: 767px){
	.precut__features01__bg {
		max-width: 100%;
		margin:56px auto 0;
	}
	.precut__features01__info {
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column nowrap;
		-webkit-flex-flow: column nowrap;
	}
	.precut__features01__info__text {
		width: 100%;
		min-width: 0;
	  margin-top: -50px;
	  padding-right: 0;
	}
	.precut__features01__info__text--title{
		margin-top: 0;
	}
	.precut__features01__info__img {
		width: 100%;
	  margin-top: 55px;
	}
	.precut__features01--sub {
	  margin-top: 60px;
/*
		overflow-x:scroll;
		overflow-y:hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scrollbar-color: var(--main-color) var(--sub-color--border1);
*/
	}
	.precut__features01__sub {
		        flex-flow: column nowrap;
		-webkit-flex-flow: column nowrap;
		gap:30px 20px;
		width: 100%;
	}
	.precut__features01__sub__img {
		width: 100%;
		min-width: 320px;
	}
}



/* =========================================================
precut__features02
========================================================= */
.precut__features02 {
	width: 100%;
}
.precut__features02__bg {
	max-width: 1000px;
	margin:0 auto;
}
.precut__features02__info {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	position: relative;
	z-index: 1;
}
.precut__features02__info__text {
	width: 48.3%;
	min-width: 380px;
  margin-top: -90px;
}
.precut__features02__info__text--title {
	margin-top: 41px;
}
.precut__features02__info__text--txt {
	margin-top: 48px;
}
.precut__features02__info__img {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	width: 45.6%;
	gap: 60px 5.8%;
  margin-top: calc((-90 / (1400 + var(--sc__width))) * 100 * 1vw);
}
@media print, screen and (min-width: 1401px) {
	.precut__features02__info__img {
		margin-top: -90px;
	}
}
.precut__features02__info__img div {
	width: 47.1%;
}
.precut__features02__info__img2 {
	margin-top: 60px;
}
/*
.precut__features02__sub {
	margin-top: 90px;
}
.precut__features02__sub__bloc {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap: 60px 5.3%;
}
.precut__features02__sub__bloc:not(:first-child) {
	margin-top: 60px;
}
@media only screen and (min-width: 768px){
	.precut__features02__sub__bloc:nth-child(2n) {
		        flex-flow: row-reverse nowrap;
		-webkit-flex-flow: row-reverse nowrap;
	}
}
.precut__features02__sub__bloc__img{
	width: 52.6%;
}
.precut__features02__sub__bloc__img div{
	width: 100%;
}
.precut__features02__sub__bloc__info {
	width: 42.1%;
}
.precut__features02__sub__bloc__info--title {
	margin-top: -7px;
}
.precut__features02__sub__bloc__info--txt {
	margin-top: 20px;
}
*/
@media only screen and (max-width: 767px){
	.precut__features02__bg {
		max-width: 100%;
		margin:0 auto;
	}
	.precut__features02__info {
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column nowrap;
		-webkit-flex-flow: column nowrap;
	}
	.precut__features02__info__text--title {
		margin-top: 0;
	}
	.precut__features02__info__text {
		width: 100%;
		min-width: 0;
	  margin-top: -49px;
	}
	.precut__features02__info__img {
		width: 100%;
	  margin-top: 55px;
	}

/*
	.precut__features02__sub {
		margin-top: 60px;
		padding-left: 20px;
		padding-right: 20px;
	}
	.precut__features02__sub__bloc {
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column nowrap;
		-webkit-flex-flow: column nowrap;
		gap: 30px 0;
	}
	.precut__features02__sub__bloc__img{
		width: 100%;
	}
	.precut__features02__sub__bloc__info {
		width: 100%;
	}
	.precut__features02__sub__bloc__info--title {
		margin-top: 0;
	}
*/
}


/* =========================================================
features_slider
========================================================= */
.features_slider{
	position: relative;
	width: 100%;
}
.splide__track {
}
.features_slider .splide__track .splide__list .splide__slide {
	cursor: grab;
}
.features_slider .splide__track .splide__list .splide__slide:active {
	cursor: grabbing;
}
.features_slider .splide__track .splide__list .splide__slide .features_slide--img{
	width: 100%;
}
.splide__slide {
}
#content .features_slider__inner {
	padding: 218px 0px 60px 60px;
	min-height: 0;
	max-width: 1140px;
	position: relative;
}
.features_slider_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% + (((100vw - (var(--sc__width) * 1px)) - 1140px) / 2) + 2px);
	height: 100%;
	z-index: 0;
}
@media print,screen and (max-width: 1180px) and (min-width: 768px){
	#content .features_slider__inner {
		margin: 0 20px;
	}
	.features_slider_bg{
		width: calc(100% + 22px);
	}
}
@media only screen and (max-width: 767px){
	#content .features_slider__inner{
		padding: 145px 20px 60px;
	}
}
.features_slide__info{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row-reverse nowrap;
	-webkit-flex-flow: row-reverse nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	width: 100%;
}
.features_slide__info__text{
	width: 100%;
	max-width: 930px;
	padding-right: 20px;
	margin-right: auto;
}
@media only screen and (max-width: 767px){
	.features_slide__info__text{
		padding-right: 0;
		padding-left: 0;
		margin-right: 0;
	}
}
.features_slide__info__text--title {
}
.features_slide__info__text--p {
	margin-top: 22px;
	direction: ltr;
}
.features_slider .splide__arrows {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-end;
	        justify-content: flex-end;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap: 10px;
	margin-top: 7px;
}
.features_slider .splide__arrows .splide__arrow {
	overflow: hidden;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        align-items: center;
	-webkit-align-items: center;
	width: 30px;
	height: 30px;
	opacity: 1;
  position: static;
  transform:none;
	transition: background 0.3s ease;
}
.features_slider .splide__arrows .splide__arrow:hover {
	background-color: var(--main-color--bg2) !important;
}
.features_slider .splide__arrows .splide__arrow i {
}
.features_slider .splide__arrows .splide__arrow:hover i {
}


/* =========================================================
features02_slider01
========================================================= */
.precut_features02_slide01{
}
#features02_slider01 .splide__track{
	width: calc(100% - (((100vw - (var(--sc__width) * 1px)) - 1140px) / 2));
	margin-right: auto;
	margin-bottom: -164px;
	position: relative;
  z-index: 1;
}
@media print,screen and (max-width: 1180px) {
	#features02_slider01 .splide__track{
		width: 100%;
	}
}
@media only screen and (max-width: 767px){
	#features02_slider01 .splide__track{
		margin-bottom: -120px;
	}
}

/* =========================================================
features02_slider02
========================================================= */
.precut_features02_slide02{
	margin-top: 60px;
}
#features02_slider02 .splide__track{
	width: calc(100% - (((100vw - (var(--sc__width) * 1px)) - 1140px) / 2));
	margin-right: auto;
	margin-bottom: -164px;
	position: relative;
  z-index: 1;
}
@media print,screen and (max-width: 1180px) {
	#features02_slider02 .splide__track{
		width: 100%;
	}
}
@media only screen and (max-width: 767px){
	#features02_slider02 .splide__track{
		margin-bottom: -120px;
	}
}

/* =========================================================
precut__features03
========================================================= */
.precut__features03 {
	width: 100%;
}
.precut__features03__bg {
	max-width: 1000px;
	margin:118px auto 0;
}
.precut__features03__info {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	position: relative;
	z-index: 1;
}
.precut__features03__info__text {
	width: 48.3%;
	min-width: 380px;
  margin-top: -90px;
}
.precut__features03__info__text--title {
	margin-top: 41px;
}
.precut__features03__info__text--txt {
	margin-top: 48px;
}
.precut__features03__info__img {
	width: 45.6%;
  margin-top: calc((-90 / (1400 + var(--sc__width))) * 100 * 1vw);
}
@media print, screen and (min-width: 1401px) {
	.precut__features03__info__img {
		margin-top: -90px;
	}
}
@media only screen and (max-width: 767px){
	.precut__features03__bg {
		max-width: 100%;
		margin: 60px auto 0;
	}
	.precut__features03__info {
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column nowrap;
		-webkit-flex-flow: column nowrap;
	}
	.precut__features03__info__text {
		width: 100%;
		min-width: 0;
	  margin-top: -49px;
	}
	.precut__features03__info__text--title {
		margin-top: 0;
	}
	.precut__features03__info__img {
		width: 100%;
	  margin-top: 55px;
	}
}


/* =========================================================
precut__facilities
========================================================= */
#precut__facilities {
}
.precut__facilities__inner .precut__facilities--title {
}
#precut__facilities .precut__facilities__inner {
	padding-top: 109px;
}
.precut__facilities {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap:55px 5.3%;
  margin-top: 118px;
}
.precut__facilities__bloc {
	width: 29.8%;
}
.precut__facilities__img {
}
.precut__facilities__info {
	margin-top: 16px;
}
.precut__facilities__info--title {
	width: 100%;
}
.precut__facilities__info--txt {
	width: 100%;
	margin-top: 12px;
}
.precut__facilities__info--txt2 {
	width: 100%;
	margin-top: 10px;
}
.precut__facilities__info--talbe {
	width: 100%;
	margin-top: 11px;
}
.precut__facilities__info--talbe tbody {
}
.precut__facilities__info--talbe tbody tr {
}
.precut__facilities__info--talbe tbody tr th {
	width: 23%;
	vertical-align: top;
	padding: 0;
	line-height: 1.7em;
	font-weight: 400;
}
.precut__facilities__info--talbe tbody tr td {
	width: 77%;
	vertical-align: top;
	padding: 0;
	line-height: 1.7em;
}
@media print, screen and (max-width: 1000px) and (min-width: 768px) {
	.precut__facilities {
		gap:55px 6%;
	}
	.precut__facilities__bloc {
		width: 47%;
	}
}
@media only screen and (max-width: 767px){
	#precut__facilities .precut__facilities__inner {
		padding-top: 109px;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 0;
	}
	.precut__facilities {
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		gap:55px 0px;
	  margin-top: 56px;
	  padding-left: 20px;
	  padding-right: 20px;
	}
	.precut__facilities__bloc {
		width: 100%;
	}
	.precut__facilities__info {
		margin-top: 14px;
	}
	.precut__facilities__info--talbe tbody tr th {
		width: 25%;
	}
	.precut__facilities__info--talbe tbody tr td {
		width: 75%;
	}
}


/* =========================================================
precut__flow
========================================================= */
#precut__flow {
}
#content .precut__flow__inner {
	padding-top: 104px;
	padding-bottom: 360px;
}
.precut__flow__list {
	margin-top: 114px;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column wrap;
	-webkit-flex-flow: column wrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap: 10px;
}
.precut__flow__list li {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	gap:3.1%;
	width: 100%;
	position: relative;
	overflow: hidden;
}
@media print,screen and (min-width: 768px) {
	.precut__flow__list li:not(:last-child) {
		padding-bottom: 32px;
	}
}
.precut__flow__list--no {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: center;
	-webkit-align-items: center;
	gap: 10px;
	width: 120px;
	position: relative;
}
.precut__flow__list li:not(:last-child) .precut__flow__list--no:after {
	content:"";
	width: 1px;
	height: 100vw;
	background-color: var(--sub-color--border1);
	position: absolute;
	top: calc(100% + 10px);
	left: 30px;
}
.precut__flow__list--no .fs__14 {
}
.precut__flow__list--no .fs__26 {
}
.precut__flow__list--step {
	width: 120px;
	margin-left: 2%;
}
.precut__flow__list--info {
}
.precut__flow__list--info:empty {
	display: none;
}
.precut__flow__button{
	margin-top: 60px;
	width: 100%;
}
.precut__flow__button .btn_def{
	max-width: 320px;
	margin: 0 auto 0 0;
}
@media only screen and (max-width: 767px){
	#content .precut__flow__inner {
		padding-top: 104px;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 120px;
	}
	.precut__flow__list {
		margin-top: 53px;
		gap:8px;
		padding-left: 20px;
		padding-right: 20px;
	}
	.precut__flow__list li {
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		gap:14px;
		padding-bottom: 0 !important;
	}
	.precut__flow__list--no {
		width: 85px;
	}
	.precut__flow__list--info {
		width: calc(100% - 100px);
		margin-left: auto;
		padding-bottom: 12px;
	}
	.precut__flow__list li:not(:last-child) .precut__flow__list--info:empty {
		display: block;
		padding-bottom: 20px;
	}
	.precut__flow__list--step {
		margin-left: 0;
	}
	.precut__flow__list li:not(:last-child) .precut__flow__list--no:after {
		top: calc(100% + 13px);
	}
	.precut__flow__button {
		margin: 60px 20px 0;
		width: calc(100% - 40px) !important;
	}
	.precut__flow__button .btn_def{
		width: 100%;
		max-width: 100%;
		margin: 0;
	}
}
