@charset "UTF-8";

/* ========================================
	style
======================================== */

html, body {
  overflow-x: hidden;
}

.anime-wrap {
  display: inline-block;
  overflow: hidden;
}

.anime-wrap span {
  display: inline-block;
	opacity: 0;
}

article {
	z-index: 1;
	position: relative;
}

.about-title {
	font-size: clamp(3.4rem, 4.4vw, 6.6rem);
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: clamp(3rem, 5vw, 5rem);
}

.about-title {
  position: relative;
  --bg-image: none;
}

.bg1::after,
.bg2::after,
.bg3::after{
  content: "";
  position: absolute; 
  right: clamp(-40rem, -15vw, -8rem);
  width: clamp(400px, 70vw,  900px);
  height: clamp(400px, 70vw,  900px);
	transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
	opacity: 0;
  filter: blur(20px);
	transition: opacity 0.6s ease, filter 0.6s ease;
}

.bg1::after { 
	background-image: url('images/img-about01.png'); 
  top: 10vw;
}
.bg2::after {
	background-image: url('images/img-about02.png'); 
  top: 0vw;
}
.bg3::after { 
	background-image: url('images/img-about03.png'); 
  top: -4vw;
}

.bg1.bg-show::after,
.bg2.bg-show::after,
.bg3.bg-show::after {
  opacity: 1;
  filter: blur(0px);
}

section {
	position: relative;
}


section:nth-of-type(1) {
	--nawa-color: var(--nawa-green);
	padding-top: 9rem;
}

section:nth-of-type(2) {
	--nawa-color: var(--nawa-red);
	padding-top: 4rem;

}

section:nth-of-type(3) {
	--nawa-color: var(--nawa-blue);
	padding-top: 4rem;
	padding-bottom: min(20vw, 10rem);
}

.color {
  position: relative;
  display: inline-block;
  margin-inline: 0.6rem;
	color: var(--nawa-color);
	/* overflow: hidden; */
}

.color::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 15%;
  width: 0%;
  height: clamp(4px, 0.7vw, 7px);
  background-color: currentColor;
  transition: width 0.4s ease;
}

.color.appear::after {
  width: 100%;
}

.about-text p {
	margin-bottom: 2rem;
}

.diagonal-lines {
	margin-top: -7vw;
	margin-bottom:  calc(9rem - 6vw);
  position: relative;
  height: 30vw; 
  overflow: hidden;
}

.line {
  position: absolute;
  width: 0%;
  left: 50%;
  transform: translateX(-50%) rotate(-12deg);
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  opacity: 0;
}


.top-line {
  top: 47%;
  background: linear-gradient(to right, var(--nawa-blue) 45%, transparent 45%);
  height: 8px;
}

.middle-line {
  top: calc(50% + 11px);
  background-color: var(--nawa-green);
  height: 4px;
}

.bottom-line {
  top: calc(53% + 18px);
  background: linear-gradient(to right, transparent 40%, var(--nawa-red) 40%);
  height: 6px;
}

.end-img {
  height: calc(40vw + 200px);
  background-image: url('images/end-img.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
	margin-top: -5rem; 
  clip-path: polygon(
    0 calc((100vw * 0.2125)), 
    100% 0,
    100% 100%,
    0 100%
  );
}

/* ========================================
	1180px未満専用スタイル（TAB&SP）
======================================== */
@media screen and (width < 1180px) {}

/* ========================================
	1024px未満専用スタイル（TAB）
======================================== */
@media screen and (width < 1024px) {}

/* ========================================
	768px未満専用スタイル（SP）
======================================== */
@media screen and (width < 768px) {}

/* ========================================
	768px以上（PC&TAB）
======================================== */
@media screen and (768px <=width) {

	section {
		position: relative;
	}
	
	
	section:nth-of-type(1) {
		--nawa-color: var(--nawa-green);
		margin-top: -3vw;
		padding-top: 7rem;
	
	}
	
	section:nth-of-type(2) {
		--nawa-color: var(--nawa-red);
		padding-top: 0;
	}
	
	section:nth-of-type(3) {
		--nawa-color: var(--nawa-blue);
		padding-top: 0;
		padding-bottom: min(20vw, 1rem);
	}

	.bg1::after { 
		background-image: url('images/img-about01.png'); 
		top: 24rem;
	}
	.bg2::after {
		background-image: url('images/img-about02.png'); 
		top: 9rem;
	}
	.bg3::after { 
		background-image: url('images/img-about03.png'); 
		top: 8rem;
	}

}

/* ========================================
	768px以上1180px未満専用スタイル（TAB）
======================================== */
@media screen and (768px <=width < 1180px) {}

/* ========================================
	1180px以上専用スタイル（PC）
======================================== */
@media print,
screen and (1180px <=width) {}