@charset "utf-8";
body {
  font: normal 18px/1.7 'Noto Sans JP', YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
  text-align: left;
  color: #000;
  background-color: #F5F5F5;
  text-align: justify;
  overflow-x: hidden;
}

@media screen and (max-width: 600px) {
  body {
    min-width: inherit;
    height: 100%;
  }
}

@media screen and (max-width: 600px) {
  .sp img {
    max-width: 90%;
  }
}

.center {
  text-align: center;
}

img {
  line-height: 0;
  padding: 0;
  margin: 0 auto;
  width: 100%;
  height: auto;
  max-width: 600px;
}

/* cta */
.contact {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
    background-size: cover;
    position: relative; 
    overflow: hidden;
}

.body_contact_01,.body_contact_02,.body_contact_03 {
	background: url("../images/section_in_13.webp") no-repeat;
	background-size: contain;
	height: 414px;
}

.contact input {
    max-width: 559px;
	height: auto;
    width: 100%;
    margin: 0 auto;
    outline: none;
	font-weight: 700 !important;
	text-align: center;
}

.contact input.btn {
    padding: 0;
    margin: 0 auto 0 -3px;
    max-width: 559px;
    width: 100%;
}
@media screen and (max-width: 600px) {
	.body_contact_01,.body_contact_02,.body_contact_03 {
		background: url("../images/section_in_13.webp") no-repeat;
		height: auto;
	}
}

.contact-inner {
    position: relative;
    width: 100%;
    padding: 10px;
    box-sizing: border-box; 
    text-align: center;
}
.body_contact>.contact-inner {
    margin-top: 16.5%;
}
@media screen and (max-width: 600px) {
	.body_contact>.contact-inner {
		margin-top: 0;
	}
}

.contact form {
    width: 100%; 
    padding: 0;
    margin: 0; 
    box-sizing: border-box;
}
@media screen and (max-width: 600px) {
	.contact form {
		padding-top: 17.5vw;
	}
}

.btn {
    animation: anime 0.5s ease 0s infinite alternate;
    transform-origin: center;
	width: 100%;
	height: auto;
}

.btn:hover { 
	filter: brightness(110%); 
}

@keyframes anime {
    from {
        transform: scale(0.9, 0.9);
    }
    to {
        transform: scale(1, 1);
    }
}

@media screen and (max-width: 600px) {
	.body_contact {
		height: auto;
	}
	.contact {
        background-size: 100% auto;
        background-position: top center;
        padding-bottom: 8.8vw !important;
    }
	.contact-inner {
		padding: 0 0;
		width: 100%;
	}
    .contact input {
        width: -webkit-fill-available;
        max-width: 94vw;
        width: 100%;
        padding: calc(133 / 800* 100vw) 0 0;
        font-size: calc(40 / 800* 100vw);
        font-family: "Noto Sans JP", sans-serif !important;
        font-weight: 700 !important;
    }
    .contact input.btn {
        padding: calc(145 / 800* 100vw) 0 calc(132 / 800* 100vw);
        width: 93%;
    }
}

/* movie */
.center {
	position: relative;
}

.body_mov_fv,.body_mov_01,.body_mov_02,.body_mov_03,.body_mov_04{
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
}

.body_mov_fv {
	top: 55.6%;
}

.body_mov_01 {
	top: 46.7%;
}

.body_mov_02 {
	top: 51%;
}

.body_mov_03 {
	top: 50.6%;
}

.body_mov_04 {
	top: 51.6%;
}


.body_mov video {
     max-width: 540px; 
    margin: 0 auto;
}
@media screen and (max-width: 600px) {
	.body_mov video {
		width: 90vw;
	}
}

/* footer section */
#footer a,
#footer p {
    color: #fff;
    font-size: 15px;
    line-height: 1.75;
}

#footer {
    background-color: #000;
    text-align: center;
    padding: 15px 0;
    max-width: 600px;
    margin: 0 auto;
    color: #fff;
}

.footer-menu {
    display: flex;
    justify-content: center;
    align-items: center;
}

.divide {
    padding: 0 16px;
}
@media screen and (max-width: 600px) {
	/* footer section */
	#footer a, #footer p {
	   font-size: 2.7vw;
	   line-height: 1.75;
	}
	#footer {
		text-align: center;
		font-size: 0.7em;
		padding: 2.94vw;
		margin-bottom: 0px;
	}
}