.first-view {
  width: 100%;
	height: min(calc(600px + 100 * (100vw - 320px)/1080), 700px);
  margin: 0 auto;
	background-position: center top;
	background-size: 100% !important;
	font-family: "mestiza", serif;
	font-weight: 0;
	font-style: normal;
	font-size: min(calc(20px + 25 * (100vw - 320px)/1080), 45px);
	text-align: center;
	color: #fffef3;
	display: flex;
	justify-content: center;
	align-items: center;
}

h1 {
	letter-spacing: 1rem;
	margin-right: -1rem;
}

h1 span {
  letter-spacing: 1rem;
  margin-right: 0;
}

.scrolled a {
  color: #004e2a !important;
	transition: 1s;
}

@media screen and (min-width: 640px) {
	.first-view {
		background-position: center top;
		background-size: 100%;
		height: min(calc(300px + 400 * (100vw - 630px)/760), 700px);
	}
}


.area01 {
  font-family: "mestiza", serif;
	font-weight: 0;
	font-style: normal;
  text-align: center;
  margin: 10% 0;
  color: #004e2a;
}

.area01 h2 {
  font-size: min(calc(18px + 10 * (100vw - 320px)/1080), 28px);
}

.area01 h2 span {
  font-size: min(calc(30px + 15 * (100vw - 320px)/1080), 45px);
  border-bottom: 1px solid;
  padding-bottom: 1%;
}

@media screen and (min-width: 640px) {
  .area01 {
  margin: 3% 0 0;
}
}


.area02 {
  font-family: "mestiza", serif;
	font-weight: 0;
	font-style: normal;
  text-align: center;
  color: #004e2a;
  text-align: center;
  margin-top: 3%;
  margin-bottom: 10%;
}

.area02 h2 {
  font-size: min(calc(30px + 15 * (100vw - 320px)/1080), 45px);
}

.more-cont {
  cursor: pointer;
}

.more-cont-inner {
	display: none;
}

.cont-inner {
	display: none;
	height: 0;
	border: 1px solid #d6d6d6;
  font-family: sans-serif;
  color: #333333;
	padding: 3%;
	width: 95%;
	margin: 0 auto;
  margin-top: 2%;
  margin-bottom: 5%;
  background-color: #ffffff;
}
	
.more-cont-inner:checked + .cont-inner  {
	display: block;
	height: auto;
}

.type {
  width: 95%;
  max-width: 700px;
  margin: 0 auto;
  margin-top: 3%;
}

.button {
  display: block;
  padding: 20px 10px;

  background-color: #004e2a;
  border: 2px solid #004e2a;
  border-radius: 0;
  outline: none;

  color: #fffef3;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.1em;

  transition: .4s ease all;
  width: 95%;
  min-width: 250px;
  max-width: 280px;
  margin-bottom: 10%;
}

.button--attention {
  display: inline-block;
  position: relative;
}

.button2 {
  background-color: #004e2a;
  padding: 20px 10px;
  width: 80%;
  max-width: 280px;
  color: #fffef3;
  font-weight: bold;
  margin-left: 4%;
  margin-bottom: 5%;
}

.button--attention__marker {
    display: block;
    width: 2px;

    position: absolute;
    top: -2px;
    bottom: -2px;
    left: -15px;

    background: #004e2a;

    transition: .5s ease all;
}

.feature {
  margin: 0 auto;
  width: 90%;
  margin-bottom: 5%;
}

.feature-inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  line-height: 1.4;
  width: 95%;
  text-align: left;
}

.feature-img {
  width: 5%;
  margin-bottom: min(calc(20px - 10 * (100vw - 320px)/320), 10px);
  margin-right: 3%;
}

.feature-img img {
  width: 100%;
}

.feature-p {
  width: fit-content !important;
  font-size: min(calc(15px + 10 * (100vw - 320px)/1080), 25px);
  color: #ff9922;
  font-weight: bold;
}

.cont-inner h2 {
  font-weight: bold;
  font-size: min(calc(25px + 10 * (100vw - 320px)/1080), 35px);
}

.btn-area {
  background-color: #004e2a;
  padding: 20px 10px;
  width: 90%;
  max-width: 300px;
  margin: 0 auto;
  font-weight: bold;
  margin-bottom: 5%;
}

.check {

  content: '';
  width: 10px;
  height: 5px;
  border-left: 3px solid #ff9922;
  border-bottom: 3px solid #ff9922;
  transform: rotate(-45deg);

}


@media screen and (min-width: 640px) {
  .type {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .feature {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 700px !important;
  }

  .feature-p {
    width: fit-content;
  }

  .feature-inner {
    width: fit-content;
    margin-right: 3%;
  }

  .feature-img {
    width: 10%;
    margin-bottom: 5% !important;
  }

  .cont-inner {
    margin-top: 5%;
  }

  .button {
    margin-bottom: 0;
  }

  .button2 {
    width: 95%;
    margin-left: 0;
  }
}


.area03 {
  margin: 10% 0;
}

.area03 h2 {
  font-size: min(calc(30px + 15 * (100vw - 320px)/1080), 45px);
  font-family: "mestiza", serif;
	font-weight: 0;
	font-style: normal;
  text-align: center;
  color: #004e2a;
}

iframe {
	width: 100%;
	margin: 3% auto;
}


@media screen and (min-width: 640px) {
  .area03 {
  margin: 3% 0 0;
}
}