/* CSS Document */

:root {
	--red: #FC6262;
}

img {
	width: 100%;
	height: auto;
}
.pc_display {
	display: none;
}
.contents_area  {
	font-family: "Noto Sans JP", sans-serif;
	color: #3F3F3F;
	position: relative;
	background-image: url("../img/back.jpg");
	background-attachment: fixed;
}
.contents__top {
	margin-bottom: 50px;
}
.contents__top h1 {
	background-image: url("../img/top_back.png");
	background-size: contain;
	background-repeat: no-repeat;
}
.contents__top div {
	padding-top: 14%;
}
.title__img {
	margin-bottom: 10px;
	animation: fadeUP-titile 1s forwards;
	animation-delay: 2s;
	opacity: 0;
}

.subtitle__img {
	width: 90%;
	display: block;
	margin: 0 5px 0 auto;
	opacity: 0;
	animation: fadeUP-titile 1s forwards;
	animation-delay: 2.5s;
}

@keyframes fadeUP-titile {
  from {
    opacity: 0;
	transform: translateY(10px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

.contents__message {
	width: min(87.9%, 700px);
    margin: 0 auto;
    padding-bottom: 90px;
}
.contents__message p {
	font-size: 15px;
	letter-spacing: 1px;
    line-height: 2;
	text-align: justify;
}

/* .contents__info */
.contents__info {
	width:min(90%, 500px);
	margin: 0 auto 40px;
	padding: 15px 0;
	color: var(--red);
	background: #FFF;
	border: 2px solid #626262;
	border-radius: 40px;
}
.contents__info p {
	font-size: min(4.6vw, 20px);
	letter-spacing: 1px;
	font-weight: 600;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.info__icon {
	width: 1em;
	height: 1em;
	background-image: url(../img/info__icon.png);
	background-size: contain;
	background-repeat: no-repeat;
}

/* contents__main */
.contents__main h2 {
	font-size: min(4.2vw, 18px);
	font-weight: 600;
	text-align: center;
	line-height: 1.5;
	color: var(--red);
	display: flex;
	justify-content: center;
	width: min(90%, 550px);
	margin: 0 auto 30px;
	letter-spacing: .9px;
	position: relative;
}
.contents__main h2 sppan {
	font-weight: 700;
}
.contents__main h2::before,
.contents__main h2::after {
	content: "";
	width: 25px;
	height: 1px;
	background: var(--red);
	position: absolute;
	top: 50%;
}
.contents__main h2::before {
	left: 0;
	transform: translateY(-50%) rotate(70deg);
}
.contents__main h2::after {
	right: 0;
	transform: translateY(-50%) rotate(110deg);
}
.illust01 {
	width: min(40%, 150px);
	display: block;
	margin: 0 auto 60px;
}


.main_announce {
    font-size: 14px;
    letter-spacing: 1px;
	text-align: center;
    margin-bottom: 40px;
	line-height: 1.5;

}

/* episode__wrap */
.episode__wrap {
	width: min(87.9%, 750px);
	margin: 0 auto 60px;
}
.episode__wrap div:not(.episode__wrap div:last-child) {
	margin-bottom: 100px;
}
.episode__wrap dt h3 {
	 font-family: "Manrope", sans-serif;
	 color: var(--red);
	 font-size: 15px;
	 margin-bottom: 15px;
	 position: relative;
	 font-weight: 600;
	 letter-spacing: 1px;
}
.episode__wrap dt h3 span {
	margin-left: 7px;
	font-weight: 600;
}
.episode__wrap dt h3::before {
	content:"";
	width: 7px;
	height: 7px;
	background: var(--red);
	border-radius: 50%;
	position: absolute;
	left: -16px;
	top: 50%;
	transform: translateY(-50%);
}
.episode__wrap dt h4 {
    letter-spacing: 1px;
}
.person__name {
	font-size: 24px;
	margin-right: 7px;
	font-weight: 700;
	letter-spacing: 1px;
	position: relative;
} 
.border-anim {
	width: 100%;
	height: 2px;
	border-radius: 1px;
	background:var(--red);
	position: absolute;
	left: 0;
	bottom: -5px;
	animation: border-anim 1s forwards linear;
}
@keyframes border-anim {
  from {
	  width: 0%;
	  opacity: 0;
  }
  to {
	  width: 100%;
	  opacity: 1;
  }
}
.borderTrigger {
	opacity: 0;
}

.episode__wrap dt {
	padding-left: min(6.34vw, 30px);
	margin-bottom: 30px;
}
.episode__wrap dd {
	background: #fff;
	border-radius: 7px;
	padding: min(6.34vw, 30px);
	box-shadow: 3px 3px 9px #8b8b8b14;
	border: 2px solid #626262;
	position: relative;
}

.episode__wrap dd p {
	font-size: 15px;
	line-height: 2.2;
	letter-spacing: 1px;
}
.episode__text {
	text-align: justify;
}
.episode__age {
	text-align: end;
}
.episode__age span {
	margin: 0 5px;
}

.episode__wrap dd::before,
.episode__wrap dd::after {
	content:"";
	width: 60px;
	height: 70px;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	margin-right: 5px;
}
.episode__wrap dd::before {
	right: 0;
}
.episode__wrap dd::after {
	right: 50px;
}
.illust__girl::before {
	background-image: url(../img/illust__girl.png);
	top: -54px;
}
.illust__boy::before {
	background-image: url(../img/illust__boy.png);
	top: -54px;
}
.illust__women::before {
	background-image: url(../img/illust__women.png);
	top: -54px;
}
.illust__men::before {
	background-image: url(../img/illust__men.png);
	top: -54px;
}
.illust__senior_w::before {
	background-image: url(../img/illust__senior_w.png);
	top: -54px;
}
.illust__senior_m::before,
.illust__senior_m_left::after {
	background-image: url(../img/illust__senior_m.png);
	top: -53px;
}



/*========= ページトップCSS ===============*/
#page-top {
	position: sticky;
	display: flex;
	justify-content: flex-end;
	bottom: 130px;
	z-index: 999;
	opacity: 0;
	transform: translateY(190px);
	margin-right: 5px;
	margin-bottom: 20px;
}


#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(190px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}


#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(190px);
  }
}


#page-top a {
    display: block;
	width: 56px;
    height: 46px;
    color: #333;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    background: url("../img/illust-top_01.png") no-repeat center;
    background-size: contain;
}
#page-top a:hover {
	opacity: 1;
}
#page-top.floatAnime a{
	width: 43px;
	height: 29px;
	background: url("../img/illust-top_02.png") no-repeat center;
	background-size: contain;
	animation: floatAnime 2s linear infinite;
	opacity: 0;
}

@keyframes floatAnime {
  0% { transform: translateX(0); opacity: 0; }
  25% { transform: translateX(-10px);opacity: 1; }
  50% { transform: translateX(0) }
  100% { transform: translateX(10px);opacity: 1; }
}








/*=============== アニメーションjs ===============*/

/*----- fadeUp -----*/

.fadeUp {
	animation:fadeUpAnime .8s forwards;
	animation-delay: .5s;
	opacity:0;
}

@keyframes fadeUpAnime{
  from {
	  opacity: 0;
	  transform: translateY(30px);
  }

  to {
	  opacity: 1;
	  transform: translateY(0);
  }
}

.fadeUpTrigger {
	opacity: 0;
}
/*==============================
min-width: 768px; 
==============================*/

@media (min-width: 768px) {
	.pc_display {
	display: block;
	}
	.sp_display {
	display: none;
	}
	
	/* .contents__top */
	.title__img {
		width: min(90%, 740px);
		margin-left: 30px;
	}
	.subtitle__img {
		width: 65%;
		margin-right: 30px;
	}
	
	/* .contents__info */
	.contents__info {
		padding: 20px 0;
	}
	
	/* .contents__message */
	.contents__message {
		padding-bottom: 120px;
	}
	.contents__message p {
		font-size: 16px;
		line-height: 2.1;
	}
	
	/*.episode__wrap */
	.episode__wrap div:not(.episode__wrap div:last-child) {
		margin-bottom: 120px;
	}
	.episode__wrap dt {
	    margin-bottom: 40px;
	}
	.episode__wrap dt h4 {
		font-size: 17px;
	}

	.episode__wrap dd p {
		font-size: 16px;
		line-height: 2.4;
	}
	.episode__wrap dd::before,
	.episode__wrap dd::after {
		width: 70px;
		height: 80px;
		margin-right: 10px;
	}
	.episode__wrap dd::before {
		margin-right: 10px;
	}
	.episode__wrap dd::after {
		right: 60px;
	}
	.illust__girl::before,
	.illust__women::before ,
	.illust__men::before,
	.illust__senior_w::before,
	.illust__senior_m::before {
		top: -61px;
	}
	.illust__boy::before,
	.illust__senior_m_left::after {
		top: -62px;
	}
	
	/* #page-top */
	#page-top {
		margin-right: 18px;
	}
	#page-top {
	bottom: 80px;
	transform: translateY(140px);
}


#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(140px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}


#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(140px);
  }
}



}

	
	
