.contact-btn,
.lp-button a,
.lp-button p button{
	position:relative;
	overflow:hidden;
}

.contact-btn span,
.lp-button a span,
.lp-button p button span{
  position: relative;
  z-index: 2;
}

.contact-btn::before,
.lp-button a::before,
.lp-button p button::before{
  content: "";
  position: absolute;
  inset: 0;
  background:var(--main);
  z-index: 1;
  transform: translateX(-100%);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.contact-btn:hover,
.lp-button a:hover,
.lp-button p button:hover{
	color:var(--main-r)!important;
}

.contact-btn.run::before,
.lp-button a.run::before,
.lp-button p button.run::before{
  animation: slidePass 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes slidePass {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}

#contact_inner{
    background: var(--main-r);
padding: 5rem;
    box-sizing: border-box;
}

@media screen and (max-width:767px) {
#contact_inner{
padding: 3rem;
}
}

#form_comp_inner .lp-button a{
	width:250px;
	margin:0 auto;
	display:block;
}

#form_comp_inner .lp-button{
	width:100%;
}

.sec-title {
  overflow: hidden;
}

.ani {
  opacity: 0;
}

.ani.is-active {
  opacity: 1;
  transition: opacity 0.3s ease;
}

.trigger {
  display: block;
  overflow: hidden;
	line-height:1.3;
}

.innerTrigger {
  display: inline-block;
  transform: translateY(130%);
  will-change: transform;
}

.ani.is-active .innerTrigger {
  animation: slideUp 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.ani.is-active .trigger:nth-of-type(2) .innerTrigger {
  animation-delay: 0.3s;
}

.ani.is-active .trigger:nth-of-type(3) .innerTrigger {
  animation-delay: 0.6s;
}

@keyframes slideUp {
  from {
    transform: translateY(130%);
  }
  to {
    transform: translateY(0);
  }
}

.ani-img {
    position: relative;
    overflow: hidden;
}

img.hide {
    opacity: 0;
    visibility: hidden;
}

.ani.is-active .mask {
    width: 100%;
}

.mask {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    background: var(--main);
    -webkit-transition: width 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
    transition: width 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}

.ani.is-active img.motion {
    transform: scale(1) translateX(0);
}

.ani-img img.motion {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
    transform: scale(1.11) translateX(-30px);
    -webkit-transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}

.ani:nth-child(2) .mask {
  transition-delay: .3s;
}

.ani:nth-child(3) .mask {
  transition-delay: .5s;
}

#page__lp #header{
	padding:0 5rem;
}

@media screen and (max-width:1024px) {
#page__lp #header{
	padding:0 3rem;
}
}

@media screen and (max-width:767px) {
#page__lp #header{
	padding:0 2rem;
}
}

#fv{
	position:relative;
	height:100vh;
	min-height:60rem;
}

#fv:before,
.lp-cta:before,
#choose:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:var(--main);
	opacity:.87;
}

#fv_content{
color: var(--main-r);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    z-index: 99;
}

#fv_content .contact-btn{
background: var(--accent);
    line-height: 1;
    padding: 1.5rem 2rem;
    display: inline-block;
    color: var(--main);
}

#fv_content h1{
    font-family: var(--bold);
	font-size:3vw;
	color: var(--main-r);
}

@media screen and (max-width:1024px) {
#fv_content h1{
	font-size:4vw;
}
}

@media screen and (max-width:767px) {
#fv_content h1{
	font-size:2.3rem;
}
}

#fv_content p{
    margin: 2rem 0;
}

#fv_content p{
    margin: 2rem 0;
}

#fv_logo{
position: absolute;
    height: 100%;
    right: 0;
    mix-blend-mode: overlay;
    opacity: .25;
} 

#approach .title-wrap{
	text-align:left;
}

@media screen and (max-width:767px) {
#approach .title-wrap{
	text-align:center;
}
}

#approach_list{
display: flex;
	flex-wrap:wrap;
    background: var(--main-r);
    padding: 3rem;
    gap: 3rem;
    justify-content: center;
	margin-bottom:7rem;
}

@media screen and (max-width:767px) {
#approach_list{
background: initial;
        gap: 1rem;
        padding: 0;
        margin-bottom: 5rem;
}
}

#approach_list li{
	font-size:1.6rem;
}

@media screen and (max-width:767px) {
#approach_list li{
background: var(--main-r);
        line-height: 1;
        padding: 2rem;
        width: calc(100% / 2 - .5rem);
        text-align: center;
}
}

@media screen and (max-width:960px) {
#approach_list li{
	font-size:1.4rem;
}
}

#approach_list li span{
	font-size:2.5rem;
	display:inline-block;
	margin:0 5px;
}

@media screen and (max-width:960px) {
#approach_list li span{
	font-size:2rem;
}
}

@media screen and (max-width:767px) {
#approach_list li span{
margin-left: 0;
    margin-top: 10px;
}
}

#trouble{
    background: #E2E2E2;
}

#trouble .title-wrap p{
    display: inline-block;
    background: var(--main-r);
    line-height: 1;
    padding: 1rem 2rem;
    color: var(--main);
    margin-bottom: 1rem;
}

#trouble_flex{
flex-wrap: nowrap;
    align-items: initial;
	gap:3rem;
}

@media screen and (max-width:767px) {
#trouble_flex{
	gap:1rem;
	flex-wrap:wrap;
}
}

.trouble-item{
background: var(--main-r);
    aspect-ratio: 4 / 4;
    width: calc(100% / 4 - 2.25rem);
    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;
	padding:1rem;
}

@media screen and (max-width:767px) {
.trouble-item{
    width: calc(100% / 2 - 0.5rem);
}
}

.trouble-icon {
    width: 50px;
    margin: 0 auto 1rem auto;
}

@media screen and (max-width:1024px) {
.trouble-icon {
    width: 30px;
    margin: 0 auto 2rem auto;
}
}

@media screen and (max-width:767px) {
.trouble-icon {
    width: 20px;
    margin: 0 auto 1rem auto;
}
}

.trouble-content h3{
	font-size:1.6rem;
}

@media screen and (max-width:1024px) {
.trouble-content h3{
	font-size:1.2rem;
}
}

@media screen and (max-width:767px) {
.trouble-content h3{
	font-size:1.4rem;
}
}

#sample_img{
background: var(--main-r);
    padding: 5rem;	
}

@media screen and (max-width:767px) {
#sample_img{
    padding: 2rem;	
}
}

#sample_img h3{
	font-size:1.6rem;
	margin-bottom:2rem;
	color:var(--main);
}

#scope{
	position:relative;
}

#scope:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #111;
    opacity: .87;
}

#scope_content{
position: relative;
    color: var(--main-r);
    text-align: center;
}

#scope_list{
display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    margin-bottom: 3rem;
	justify-content:center;
}


@media screen and (max-width: 767px) {
#scope_list{
gap: 2rem;
        margin-right: 1rem;
        margin-left: 1rem;
}
}

#scope_list li {
    position: relative;
    color: var(--main);
    background: var(--main-r);
    border-top: 2px solid var(--main-r);
    border-bottom: 2px solid var(--main-r);
    transform: skewX(150deg);
    line-height: 1;
    padding: 1rem 2rem;
}

@media screen and (max-width:1024px) {
#scope_list li {
width: calc(100% / 3);
}
}

@media screen and (max-width: 767px) {
    #scope_list li {
        width: calc(100% / 2 - 1rem);
    }
}

#scope_list li span {
  display: block;
  transform: skewX(-150deg);/*テキストのみ傾斜を戻す*/
}

#page__moving_scope {
bottom: initial;
    position: relative;
    mix-blend-mode: plus-lighter;
}

#scope .moving-text-wrap {
position: relative;
    top: initial;
    left: initial;
    transform: initial;
    padding-bottom: 7rem;
}

@media screen and (max-width:767px) {
#scope .moving-text-wrap {
    padding-bottom: 5rem;
}
}

.lp-cta{
    position: relative;
}

.lp-cta-inner{
color: var(--main-r);
    position: relative;
}

.lp-cta-inner .title-wrap p{
	font-size:1.6rem;
}

.lp-cta-flex{
	align-items:flex-start;
}

@media screen and (max-width:1024px) {
.lp-cta-flex{
gap: 3rem;
    justify-content: center;
}
}

.lp-cta-l{
	width:calc(30% - 2.5rem);
}

@media screen and (max-width:1024px) {
.lp-cta-l{
width: max-content;
}
}

.lp-cta-l h3{
    font-size: 2.5rem;
}

.lp-cta-r{
width: calc(70% - 2.5rem);
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}

@media screen and (max-width:1024px) {
.lp-cta-r{
width: 100%;
}
}

.lp-button{
    width: calc(50% - 1.5rem);
    text-align: center;
}

@media screen and (max-width:767px) {
.lp-button{
width: 100%;
}
}

#form__center_area .lp-button{
display: inline-block;
    width: max-content;
}

.lp-button a,
.lp-button p button{
    display: block;
    color: var(--main);
    background: var(--accent);
    padding: 1rem;
    font-size: 1.6rem;
}

.lp-button a span{
	display:block;
	font-size:14px;
}

.lp-button p:not(#form__center_area .lp-button p){
    display: flex;
    align-items: center;
	margin-bottom:1rem;
}

.lp-button p:before:not(#form__center_area .lp-button p:before),
.lp-button p:after:not(#form__center_area .lp-button p:after){
    content: "";
    height: 1px;
    flex-grow: 1;
	background: #ababab;
}

.lp-cta-r .lp-button p:before,
.lp-cta-r .lp-button p:after{
    content: "";
    height: 1px;
    flex-grow: 1;
	background: #ababab;	
}

.lp-cta-r .lp-button p:before{
    margin-right: 1rem;
}

.lp-cta-r .lp-button p:after{
    margin-left: 1rem;
}

#cost ul{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin: 0 auto;
    width: 100%;
}

@media screen and (max-width:767px) {
#cost ul {
    grid-template-columns: repeat(2, 160px);
    justify-content: center;
    gap: 2rem;
  }
}

#cost ul li{
    flex-direction: column;
    gap: 2rem;
    color: var(--main);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem;
	font-size:1.2vw;
}

@media screen and (max-width:1024px) {
#cost ul li {
	font-size:16px;
  }
}

@media screen and (max-width:767px) {
#cost ul li {
   width: 160px;
    height: 160px;
	font-size:14px;
  }
}

@media screen and (max-width:767px) {
#cost ul li:nth-child(1){
    grid-column: 1 / -1;
    margin: 0 auto;
margin-bottom: -20px;
}
}

.cost-icon{
width: 60px;
height:60px;
}

@media screen and (max-width:960px) {
.cost-icon{
width: 50px;
height:50px;
}
}

@media screen and (max-width: 767px) {
    .cost-icon {
        width: 30px;
        height: 30px;
    }
}

.cost-icon img{
object-fit:contain!important;
}

#choose{
	position:relative;
}

#choose_content{
position: relative;
    color: var(--main-r);
}

#choose_flex{
display: flex;
    flex-wrap: wrap;
    gap: 5rem;
}

@media screen and (max-width:767px) {
#choose_flex{
    gap: 3rem;
}
}

.choose-item{
width: calc(100% / 3 - 3.333333333rem);	
}

@media screen and (max-width:767px) {
.choose-item{
width: 100%;	
}
}

.choose-item h3{
    margin: 2rem 0;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 1rem;
	font-size:1.8rem;
}

@media screen and (max-width:960px) {
.choose-item h3{
    font-size:1.6rem;
}
}

.choose-item h3 span{
    font-size: 1.4rem;
    background: var(--accent);
    line-height: 1;
    display: inline-block;
    padding: 5px 10px;
    border-radius: 100px;
}

#safety_flex{
display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}

@media screen and (max-width:960px) {
#safety_flex{
    gap: 2rem;
}
}

.safety-item{
    width: calc(100% / 2 - 1.5rem);
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    background: var(--main-r);
    padding: 2rem;
    align-items: center;
}

@media screen and (max-width:960px) {
.safety-item{
    align-items: flex-start;
}
}

@media screen and (max-width:767px) {
.safety-item{
width: 100%;	
}
}

.safety-img{
    width: calc(30% - 1rem);
    aspect-ratio: 4 / 4;
}

.safety-text{
	width: calc(70% - 1rem);
}

.safety-text h3{
    font-size: 1.8rem;
    margin-bottom: 1rem;
    padding-left: 1rem;
    border-left: 5px solid var(--main);
}

@media screen and (max-width:767px) {
.safety-text h3{
    font-size: 1.6rem;
}
}

#other_table table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  table-layout: fixed;
  border-spacing: 10px 0px;
  border-collapse: separate;
}

@media screen and (max-width:767px) {
#other_table table {
  width: max-content;
}
}

#other_table table tr {
  background-color: #fff;
  padding: 2rem;
  border: 2px solid #ddd;
}
#other_table table th{
  padding: 2rem;
  border-right: 2px solid #fff;
}
#other_table table td {
  padding: 2rem;
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  text-align: center;
  background:#F5F5F5;
font-size: 2rem;
}
#other_table table th {

}
#other_table table thead tr{
  background-color: #1F539D;
  color:#fff;
}
#other_table table tbody th {
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  background:#D5D5D5;
  color:#1F539D;
}
#other_table table th,
#other_table table td{
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
}
#other_table table thead th:nth-child(2) {
  border-left: 2px solid #1F539D;
  border-right: 2px solid #1F539D;
}
#other_table table tbody td:nth-child(2) {
  border-left: 2px solid #1F539D;
  border-right: 2px solid #1F539D;
  color:#1F539D;
}
#other_table table tbody tr:nth-child(4) td:nth-child(2) {
  border-bottom: 2px solid #1F539D;
}
#footer_logo{
display: block;
    margin: 0 auto;
    margin-bottom: 5rem;
}
footer{
	text-align:center;
}
footer .l-tb {
    margin-top: 5rem;
    margin-bottom: 2rem;
}
@media screen and (max-width: 600px) {
  .wrap{
     overflow-x: scroll;
  }
}

#page__lp #header .lp-button,
#page__contact-lp #header .lp-button,
#fv_content .lp-button{
width: 250px;
}

@media screen and (max-width:1024px) {
#page__lp #header .lp-button,
#page__contact-lp #header .lp-button,
#fv_content .lp-button{
    width: 200px;
}
}

@media screen and (max-width:767px) {
#page__lp #header .lp-button,
#page__contact-lp #header .lp-button,
#fv_content .lp-button{
    width: 180px;
}
}

#page__lp #header .lp-button a,
#page__contact-lp #header .lp-button a,
#fv_content .lp-button a{
    font-size: 14px;
}

@media screen and (max-width:960px) {
#page__lp #header .lp-button a,
#page__contact-lp #header .lp-button a,
#fv_content .lp-button a{
   padding:5px;
}
}

#page__lp #header .lp-button a .buton-note,
#page__contact-lp #header .lp-button a .buton-note,
#fv_content .lp-button a .buton-note{
    font-size: 12px;
}

#page__lp #header_inner,
#page__contact-lp #header_inner{
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        position: relative;
        height: 80px;
        width: 100%;
    }

#page__lp .toggle {
        display: block;
        width: 50px;
        height: 50px;
        cursor: pointer;
        z-index: 99999999;
right: 0;
        background: var(--accent);
        position: fixed;
        top: 0;
    }

#page__lp #nav_inner {
        text-align: center;
        margin: 0;
        background: #1f539d3d;
        height: 100vh;
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        padding-top: 90px;
        pointer-events: none;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        -webkit-transition: -webkit-transform cubic-bezier(0.8, 0, 0.1, 1) 0.9s 0.2s;
        transition: transform cubic-bezier(0.8, 0, 0.1, 1) 0.9s 0.2s;
    }

#page__lp #header.is-top-sp {

    }

#page__lp .toggle span {
        display: block;
        position: absolute;
        width: 30px;
        border-bottom: solid 2px var(--main-r);
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
        left: 50%;
        transform: translateX(-50%);
    }

.other-icon {
  display: block;
	margin:0 auto;
  width: 25px;
  height: 25px;
}

.other-icon img{
	object-fit:contain!important;
}

.lp-works-flex{
	display: flex;
    align-items: center;
	gap:10px;
}

.lp-works-img{
position: relative;
    aspect-ratio: 4 / 4;
    width: calc(100% / 2 - 20px);
}

.lp-works-arrow{
	width:20px;
}

.beforeafter{
position: absolute;
    bottom: 0;
    background: var(--main);
    color: var(--main-r);
    width: 100%;
    line-height: 1;
    padding: 5px;
    box-sizing: border-box;
}

.beforeafter p{
	font-size:12px;
	text-align:center;
}

.lp-works-img:first-child .beforeafter{
    background: #898484;
}

.post-control-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3rem;
}

#slider__button_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.swiper-button-prev,
.swiper-button-next {
    display: grid !important;
    place-content: center;
    cursor: pointer;
    font-size: 35px;
background: var(--main-r);
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
}

.swiper-button-prev {
    left: 0 !important;
    margin-right: 10px !important;
}

.swiper-button-next {
    right: 0 !important;
}

.lp-works .swiper-controller {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 1.6rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.lp-works .swiper-pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1.2rem 0.8rem;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 0 auto 0 0;
    text-align: center;
position: relative;
    bottom: initial;
}

.lp-works .swiper-pagination-bullet {
    width: 1.6rem;
    height: 3px;
    cursor: pointer;
    -webkit-transition: var(--transition);
    transition: var(--transition);
    vertical-align: top;
    background: var(--main);
    border-radius: 0;
}

.lp-works .swiper-pagination-bullet-active {
    width: 4rem;
    background: var(--main);
}

.lp-works .swiper-button-prev,
.lp-works .swiper-button-next {
    position: relative;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0;
}

.swiper-button-prev::before,
.swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
}

.swiper-button-next:after,
.swiper-button-prev:after {
    content: '' !important;
    font-family: initial;
}

.swiper-button-next::after {
    margin-right: 0.4rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.swiper-button-prev::after {
    margin-left: 0.4rem;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.swiper-button-prev::after,
.swiper-button-next::after {
    width: 1.2rem;
    height: 1.2rem;
    content: "";
    border: solid var(--main);
    border-width: 3px 3px 0 0;
}

.lp-works-content{
	margin-top:3rem;
}

.lp-works-note{
	margin-top:2rem;
	color:var(--main);
}

.lp-works-txt{
    display: flex;
    flex-wrap: wrap;
}

.lp-works-txt:first-child{
    margin-bottom:1rem;
}

.lp-works-txt p{
width: 80%;
    background: var(--main);
    color: var(--main-r);
    line-height: 1;
    padding: 10px;
    text-align: center;
    background: var(--main-r);
    color: var(--main);
	box-sizing: border-box;
}

@media screen and (max-width:767px) {
.lp-works-txt p{
width: 70%;
}
}

.lp-works-txt p:first-child{
width: 20%;
    background: var(--main);
    color: var(--main-r);
}

@media screen and (max-width:767px) {
.lp-works-txt p:first-child{
width: 30%;
}
}

#page__complete-lp h1,
#page__contact-lp h1,
#page__privacy-policy h1{
	font-size:2.5rem;
}

@media screen and (max-width:1024px) {
#page__complete-lp h1,
#page__contact-lp h1,
#page__privacy-policy h1{
	font-size:3vw;
}
}

@media screen and (max-width:767px) {
#page__complete-lp h1,
#page__contact-lp h1,
#page__privacy-policy h1{
	font-size:2rem;
}
}