html {
	scroll-behavior: smooth;
    margin-top: 0px !important;
}

.clear {
	clear: both;
	font: 0pt/0pt sans-serif;
}

.owl-nav.disabled {
    display: none;
}

img {
    object-fit: cover;
	display:block;
    width: 100%;
    padding: 0px;
    margin: 0px;
    border: 0px;
}

* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

html, body,  ul, ol, li,  h1, h2, h3, h4, h5, h6, p, div {
	margin: 0;
    padding: 0;
    font-weight:400;
    list-style:none;
}


input, textarea, select {
    font-family: 'Noto Sans JP', sans-serif;
}


::-webkit-scrollbar{
	width: 10px;
}

::-webkit-scrollbar-track{
	border-radius: 4px;
    background: #f1f1f1;
	border-left: solid 0px #dedede;
}

::-webkit-scrollbar-thumb{
	background: #fff;
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px #dedede;
}




@media screen and (max-width: 969px){


:root {
  font-size: 3.24vw;
}

body, html {
		color: #232323;
        font-style: normal;
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        line-height: 1.8;
        font-size: 1rem;
        margin: 0;
        width: 100%;
}


header {
		padding: 1rem 1rem;
        position: relative;
        width: 100%;
        z-index: 99;
}h1#header_h1 {
		font-weight: bold;
        font-size: 1.4rem;
        line-height: 1.2;
        text-align: center;
}h1#header_h1 small {
        display: block;
        font-size: 0.8rem;
}a.contact {
        background: #ff4b4b;
        display: block;
        padding: 0.5rem 4rem;
        text-align: center;
        border-radius: 10rem;
        text-decoration: none;
        color: #fff;
        font-weight: bold;
        letter-spacing: 0.1em;
        font-size: 1.2rem;
        margin: 1rem auto 0;
}




div#fv {
		width: 100%;
        height: 75vh;
        overflow: hidden;
        position: relative;
}div#fv_message {
        position: relative;
}h1#fv_h1 {
        font-weight: bold;
        font-size: 3.2rem;
        text-align: center;
        margin-top: 0rem;
}h2#fv_h2 {
        margin-top: 0rem;
        font-weight: 500;
        font-size: 1rem;
        letter-spacing: 0.05em;
        text-align: center;
        line-height: 1.5;
}div#fv_img {
        width: 40rem;
        top: 7rem;
        margin-left: -5rem;
        position: absolute;
        z-index: -1;
}ul.sns_icon {
        display: flex;
        justify-content: space-between;
        align-items: self-start;
        margin: 25rem auto 0;
        width: 20rem;
}ul.sns_icon li {
    width: 4rem;
}



.wave-background {
        margin-bottom: -2rem;
}



div#top_content {
		margin: 0rem 1rem 6rem;
        background: #fff;
        padding: 2rem;
        border-radius: 1rem;
        text-align: center;
}h2.top_content_h2 {
        font-weight: 800;
        font-size: 1.5rem;
}ul#top_content_ul {
}ul#top_content_ul li {
        text-align: center;
        font-weight: bold;
        font-size: 1.2rem;
        margin-top: 2rem;
        line-height: 1.4;
}span.thik {
    display: block;
    width: 8rem;
    margin: 0 auto 2rem;
}





section#main {
		position: relative;
        padding: 4rem 0rem 0rem;
        background: #f1f1ef;
        z-index: 1;
}h2.content_h2 {
        font-weight: bold;
        font-size: 1.3rem;
        border-radius: 10rem;
        padding: 1rem 2rem;
        background: #232323;
        color: #fff;
        letter-spacing: 0.1em;
        text-indent: 0.5rem;
        margin: 0 1rem;
        display: block;
        text-align: center;
}p.content_top_p {
		margin: 4rem 1rem 6rem;
}p.content_top_p b {
    display: block;
    margin-bottom: 4rem;
    font-size: 1.1rem;
}p.content_top_p b br {
    display: none;
}h3.content_h3 {
        text-align: center;
        font-weight: bold;
        font-size: 1.8rem;
        position: relative;
        margin: 0 auto;
        letter-spacing: 0.1em;
}h3.content_h3:after {
        content: "";
        width: 3rem;
        height: 1px;
        position: absolute;
        bottom: -0.5rem;
        background: #313131;
        left: 13.6rem;
}ul.main_sns {
        margin: 4rem 1rem;
        display: flex;
        justify-content: center;
        align-items: center;

}ul.main_sns li {
        width: 6rem;
        text-align: center;
}p.sns_icon_p {
		display: block;
        font-weight: bold;
        font-size: 1.2rem;
        margin-top: 1rem;
        line-height: 1.4;
}p.sns_icon_p small {
        display: block;
        font-size: 1.2rem;
}span.sns_icon {
    display: block;
    width: 5rem;
    margin: 0 auto;
}



div#flow {
        padding: 4rem 0 2rem;
        overflow: hidden;
        width: 100%;
        position: relative;
}ul.flow {
        margin: 8rem 2rem 8rem;
}
ul.flow li {
        text-align: center;
        position: relative;
        padding-top: 4rem;
        border: solid 1px;
        border-radius: 12rem 12rem 0 0;
        background: #fff;
        margin: 0 1rem 6rem;
}p.flow_title {
        font-weight: bold;
        letter-spacing: 0.1em;
        background: #c90900;
        margin: 2rem 1rem 0;
        border-radius: 10rem;
        color: #fff;
        font-size: 1.4rem;
        padding: 0.2rem 0 0.4rem;
}.flow_img {
        width: 14.5rem;
        margin: 2rem auto;
        height: 13rem;
        overflow: hidden;
}.flow_img.--flow_img {
    width: 11rem;
}span.step {
		font-family: "Afacad Flux", sans-serif;
        font-weight: bold;
        position: absolute;
        font-size: 6rem;
        left: 7.5rem;
        top: -6rem;
}span.step small {
		font-size: 3.2rem;
        margin-right: 0.2rem;
}.flow_img.--flow_img2 {
		width: 16rem;
        margin-top: 1rem;
        margin-bottom: 3rem;
}p.flow_text {
    text-align: left;
    padding: 2rem;
}


p.price {
    text-align: center;
    margin: 4rem;
    font-family: "Afacad Flux", sans-serif;
    font-weight: bold;
    font-size: 6rem;
}p.price small {
    font-size: 2rem;
    margin-left: 0.2rem;
}ul.price {
        margin: 6rem 1rem;
        background: #fff;
        border-radius: 1rem;
        border: solid 4px;
}li.price_text {
        border-radius: 2rem 0 0 2rem;
        padding: 3rem 3rem 0;
        line-height: 1.4;
}p.price_p {
        font-weight: bold;
        font-size: 2rem;
        text-align: center;
}li.price_disp {
        text-align: center;
        padding: 1.2rem 0 0 4rem;
}p.order_price {
		font-family: "Afacad Flux", sans-serif;
        font-weight: bold;
        font-size: 7rem;
        line-height: 1.2;
        text-align: center;
        margin-bottom: 2rem;
}p.order_price small {
    font-size: 2rem;
}p.price_p_text {
		margin-top: 0.5rem;
        text-align: center;
}


div#bottom_contact {
		padding: 2rem 0 6rem;
        background: #ebebeb;
        margin-top: 6rem;
        position: relative;
}h2#content_h2 {
        text-align: center;
        padding-top: 3rem;
        font-weight: bold;
        font-size: 1.8rem;
}a.contact_bt {
        background: #ff4b4b;
        display: block;
        padding: 1rem 4rem;
        text-align: center;
        border-radius: 10rem;
        text-decoration: none;
        color: #fff;
        font-weight: bold;
        letter-spacing: 0.1em;
        font-size: 1.2rem;
        margin: 1rem 1rem 0rem;
        position: relative;
}a.contact_bt:after {
        content: "\002192";
        position: absolute;
        right: 2.4rem;
        font-weight: 400;
        font-size: 1.2rem;
        margin-top: 0rem;
}


footer {
    background: #232323;
    padding: 6rem 0;
    color: #fff;
    text-align: center;
}div#copyright {
        font-family: "Wix Madefor Text", sans-serif;
        padding: 2rem 0;
        text-align: center;
        font-size: 0.8rem;
}p.contact_p img {
    margin: 0 auto;
    width: 340px;
}p.contact_p {
        font-weight: bold;
    }




}



@media screen and (min-width: 969px){




:root {
  font-size: 1vw;
}

body, html {
		color: #232323;
        font-style: normal;
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        line-height: 1.8;
        font-size: 1.2rem;
        margin: 0;
        width: 100%;
}


header {
        padding: 2rem 3rem;
        display: flex;
        justify-content: space-between;
        align-items: self-start;
        position: absolute;
        width: 100%;
        z-index: 99;
}h1#header_h1 {
        font-weight: bold;
        font-size: 2rem;
        margin-left: 1rem;
        line-height: 1.2;
}h1#header_h1 small {
        display: block;
        font-size: 1.04rem;
}a.contact {
        background: #ff4b4b;
        display: block;
        padding: 0.8rem 4rem;
        width: 20rem;
        text-align: center;
        border-radius: 10rem;
        text-decoration: none;
        color: #fff;
        font-weight: bold;
        letter-spacing: 0.1em;
        font-size: 1.4rem;
}




div#fv {
    	width: 100%;
    	height: 68rem;
    	overflow: hidden;
    	position: relative;
}div#fv_message {
        position: absolute;
        top: 20rem;
        left: 6rem;
}h1#fv_h1 {
        font-weight: bold;
        font-size: 5rem;
}h2#fv_h2 {
        margin-top: 2rem;
        font-weight: 500;
        font-size: 1.6rem;
        letter-spacing: 0.05em;
}div#fv_img {
        width: 80rem;
        margin-left: 28rem;
        margin-top: 10rem;
}ul.sns_icon {
        display: flex;
        justify-content: space-between;
        align-items: self-start;
        margin-top: 4rem;
        width: 22rem;
}ul.sns_icon li {
    width: 5rem;
}



.wave-background {
        margin-bottom: -2rem;
}



div#top_content {
        margin: -5rem 10rem 16rem;
        background: #fff;
        padding: 4rem;
        border-radius: 2rem;
        text-align: center;
}h2.top_content_h2 {
    font-weight: 800;
    font-size: 3.6rem;
}ul#top_content_ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 4rem 2rem 2rem;
}ul#top_content_ul li {
        width: 22rem;
        text-align: center;
        font-weight: bold;
        font-size: 1.4rem;
}span.thik {
    display: block;
    width: 10rem;
    margin: 0 auto 2rem;
}





section#main {
		position: relative;
        padding: 8rem 0rem 0rem;
        background: #f1f1ef;
        z-index: 1;
}h2.content_h2 {
        font-weight: bold;
        font-size: 2rem;
        border-radius: 10rem;
        padding: 1rem 6rem;
        display: table;
        background: #232323;
        color: #fff;
        letter-spacing: 0.1em;
        margin: 0 auto;
}p.content_top_p {
        margin: 8rem 0 10rem;
        text-align: center;
        font-size: 1.6rem;
}p.content_top_p b {
    display: block;
    margin-bottom: 6rem;
    font-size: 1.8rem;
}h3.content_h3 {
		text-align: center;
        font-weight: bold;
        font-size: 2.4rem;
        position: relative;
        width: 40rem;
        margin: 0 auto;
        letter-spacing: 0.1em;
}h3.content_h3:after {
        content: "";
        width: 3rem;
        height: 1px;
        position: absolute;
        bottom: -1rem;
        background: #313131;
        left: 18.3rem;
}ul.main_sns {
        margin: 6rem auto 6rem;
        width: 42rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
}ul.main_sns li {
        width: 9rem;
        text-align: center;
}p.sns_icon_p {
        display: block;
        font-weight: bold;
        font-size: 1.6rem;
        margin-top: 1rem;
        line-height: 1.6;
}p.sns_icon_p small {
        display: block;
        font-size: 1.2rem;
}span.sns_icon {
    display: block;
    width: 8rem;
    margin: 0 auto;
}



div#flow {
        padding: 10rem 0 2rem;
        overflow: hidden;
        width: 100%;
        position: relative;
}ul.flow {
		margin: 14rem 8rem 8rem;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        /* flex-wrap: wrap; */
}ul.flow li {
        width: 25.5rem;
        text-align: center;
        position: relative;
        padding-top: 4rem;
        border: solid 1px;
        height: 48rem;
        border-radius: 12rem 12rem 0 0;
        background: #fff;
        margin: 0 1rem 6rem;
}p.flow_title {
        font-weight: bold;
        letter-spacing: 0.1em;
        background: #c90900;
        margin: 2rem 1rem 0;
        border-radius: 10rem;
        color: #fff;
        font-size: 1.4rem;
        padding: 0.2rem 0 0.4rem;
}.flow_img {
        width: 14.5rem;
        margin: 2rem auto;
        height: 13rem;
        overflow: hidden;
}.flow_img.--flow_img {
    width: 11rem;
}span.step {
        font-family: "Afacad Flux", sans-serif;
        font-weight: bold;
        position: absolute;
        font-size: 8rem;
        left: 6rem;
        top: -8rem;
}span.step small {
		font-size: 3.2rem;
        margin-right: 0.2rem;
}.flow_img.--flow_img2 {
		width: 16rem;
        margin-top: 1rem;
        margin-bottom: 3rem;
}p.flow_text {
    text-align: left;
    padding: 1.2rem;
}


p.price {
    text-align: center;
    margin: 4rem;
    font-family: "Afacad Flux", sans-serif;
    font-weight: bold;
    font-size: 6rem;
}p.price small {
    font-size: 2rem;
    margin-left: 0.2rem;
}ul.price {
        margin: 6rem 10rem;
        background: #fff;
        border-radius: 8rem 8rem 0 8rem;
        display: flex;
        justify-content: space-between;
        border: solid 4px;
}li.price_text {
		border-radius: 2rem 0 0 2rem;
        padding: 3rem 7rem;
        width: 50rem;
}p.price_p {
        font-weight: bold;
        font-size: 2.4rem;
}    li.price_disp {
        width: 30rem;
        text-align: center;
        padding: 1.2rem 0 0;
    }p.order_price {
    font-family: "Afacad Flux", sans-serif;
    font-weight: bold;
    font-size: 8.4rem;
}p.order_price small {
    font-size: 2rem;
}p.price_p_text {
        margin-top: 0.5rem;
        font-size: 1.4rem;
}


div#bottom_contact {
		padding: 0 0 12rem;
        background: #ebebeb;
        margin-top: 12rem;
        position: relative;
}h2#content_h2 {
        text-align: center;
        padding-top: 10rem;
        font-weight: bold;
        font-size: 4rem;
}a.contact_bt {
        background: #ff4b4b;
        display: block;
        padding: 1rem 4rem;
        width: 56rem;
        text-align: center;
        border-radius: 10rem;
        text-decoration: none;
        color: #fff;
        font-weight: bold;
        letter-spacing: 0.1em;
        font-size: 2.4rem;
        margin: 4rem auto 0rem;
        position: relative;
}a.contact_bt:after {
        content: "\002192";
        position: absolute;
        right: 2.4rem;
        font-weight: 400;
        font-size: 1.6rem;
        margin-top: 0.7rem;
}


footer {
    background: #232323;
    padding: 6rem 0;
    color: #fff;
    text-align: center;
}div#copyright {
    font-family: "Wix Madefor Text", sans-serif;
    padding: 2rem 0;
    text-align: center;
    font-size: 0.9rem;
}p.contact_p img {
    margin: 0 auto;
    width: 340px;
}p.contact_p {
        font-weight: bold;
    }







}