@charset "UTF-8";

/*--- get fonts -------*/
@import url('https://fonts.googleapis.com/css2?family=Poiret+One&family=Zen+Kaku+Gothic+New&display=swap');

body{
  background: #ffedf4;
  background: linear-gradient(238deg, rgba(255, 237, 244, 1) 0%, rgba(255, 255, 235, 1) 48%, rgba(237, 248, 255, 1) 100%);
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  min-height: 100vh;
  position: relative;
}


@media screen and (max-width: 768px) {
  body{
    font-size: .95rem;
  }
}


body.morning { background: linear-gradient(238deg, #fed6e3,#a8edea); }
body.afternoon { background: linear-gradient(238deg,#ffecd2,#fcb69f); }
body.night { background: linear-gradient(238deg,#30cfd0,#330867); }


/*--- font setting -------*/

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.poiret-one-regular {
  font-family: "Poiret One", sans-serif;
  font-weight: 400;
  font-style: normal;
}

h1{
  font-size: 10rem;
  color: #000;
  mix-blend-mode: overlay;
  text-align: left;
  opacity: .5;
  margin-bottom: 3rem;
}

@media screen and (max-width: 768px) {
  h1{
    font-size: 17vw;
  }
}

h1 span.small{
  display: block;
  font-size: 5rem;
}

@media screen and (max-width: 768px) {
  h1 span.small{
    font-size: 7vw;
  }
}


h2{
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  h2{
  	font-size: 1.8rem;
  	text-align: center;
  }
}


p{
  margin:  1rem auto;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  p{
    margin:  1rem auto;
    width: 100%;
  }
}

.br{
  display: none;
}

@media screen and (max-width: 768px) {
  .br{
    display: inline-block;
  }
}


a{
  color: #1248bd;
}
/*--- content setting -------*/

footer{
  font-size: .65rem;
  letter-spacing: 1px;
  text-align: center;
  padding: 10rem 0 5rem;
}


.inner{
  margin: 0 auto;
  max-width: 1200px;
  width: 90%;
}

/*
@media screen and (min-width: 769px) {
  .inner{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 5;
  }
}
*/

.night .inner{
  color: #fff;
 }

.inner p:last-chils{
  margin-bottom: 0;
}


.inner.policy h2{
  margin-top: 2rem;
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .inner.policy h2{
    font-size: 1.6rem;
  }
}

.flex-div{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.div-box{
  width: 55%;
}

.div-box.left{
  width: 45%;
}


@media screen and (max-width: 768px) {
  .div-box{
    width: 100% !important;
  }
}
@media screen and (max-width: 768px) {
  form{
  	margin-top: 2rem;
  }
}

/*--- anime setting -------*/

.fade-in {
  animation: fadeIn 1s ease-out forwards;
}
@keyframes fadeIn {
  0% { 
  	opacity: 0; 
  	transform: translateY(10px); 
  }
  100% { 
  	opacity: 1; 
  	transform: translateY(0); 
  }
}


@keyframes gradient {
    0% {
        background-position: 0% 0%;
    }
    50% {
        background-position: 100% 100%;
    }
    100% {
        background-position: 0% 0%;
    }
}


.wave {
    background: rgb(255 255 255 / 15%);
    border-radius: 1000% 1000% 0 0;
    position: fixed;
    width: 200%;
    height: 12em;
    animation: wave 10s -3s linear infinite;
    transform: translate3d(0, 0, 0);
    opacity: 0.8;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.wave:nth-of-type(2) {
    bottom: -1.25em;
    animation: wave 18s linear reverse infinite;
    opacity: 0.8;
}

.wave:nth-of-type(3) {
    bottom: -2.5em;
    animation: wave 20s -1s reverse infinite;
    opacity: 0.9;
}

@keyframes wave {
  2%,100% {
    transform: translateX(1);
  }

  25% ,75%{
    transform: translateX(-25%);
  }

  50% {
    transform: translateX(-50%);
  }
}


/*--- input setting -------*/

#message{
  background: #fff;
  border-radius: 3rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  padding: 1rem 1.5rem;
  margin-right: 1rem;
  width: 70%
}

@media screen and (max-width: 768px) {
  #message{
  	display: block;
  	max-width: 100%;
  	width: 100%;
    margin: 0 0;
  }
}

.btn_back a,
#button-submit{
  background: #e075c2;
  background: linear-gradient(90deg, rgba(224, 117, 194, 1) 0%, rgba(252, 176, 69, 1) 100%);
  border-radius: 3rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0;
  padding: 1rem 1.5rem;
  text-decoration: none;
  text-align: center;
  width: 25%;
}

#button-submit.hide{
  background: linear-gradient(90deg,#4682b4 0%, #808080 100%);
  color: #dcdcdc;
}

@media screen and (max-width: 768px) {
  .btn_back a,
  #button-submit{
  	display: block;
  	margin: 1rem auto;
  	width: 50%;
  }

}


.btn_back a{
  display: block;
  margin: 3rem auto 0;
  width: 150px;
}


#result:not(:empty){
  margin: 2rem auto 0;
  background:#fff;
  border-radius: 2rem;
  padding: 1.5rem;
  position: relative;
  text-align: left;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  animation: fadeIn 0.8s ease;
  max-width: 100%;
  width: 100%;
}

#result:not(:empty)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 10px 20px 10px;
  border-color: transparent transparent #fff;
  translate: -50% -100%;
}


.sub-box{
  background: #fff;
  border-radius: 2rem;
  font-size: .85rem;
  margin: 0 auto;
  padding: 1rem;
  max-width: 370px;
  width: 90%;
}


@media screen and (max-width: 768px) {
  .sub-box{
    border-radius: 1.5rem;
    font-size: .75rem;
  }
}
.sub-box strong{
  display: block;
  font-weight: 700;
  text-align: center;
}

.btn_action{
	margin: 0;
}

.btn_action a{
  background: #e075c2;
  background: linear-gradient(90deg, #43e97b 0%, #8fd3f4 100%);
  border-radius: 3rem;
  color: #fff;
  display: block;
  font-weight: 700;
  margin: 0 auto;
  letter-spacing: 0;
  padding: .5rem;
  text-decoration: none;
  text-align: center;
  width: 100px;
}







