@charset "utf-8";

#header{
    position: relative;
    height: 100vh;
    width: auto;
    background: url("../images/texture-1504364_1920.jpg") no-repeat;
    background-size: cover;
}

.left{
	animation: fadein 1s ease-in-out forwards;
	opacity: 0;
}

.right p{
	animation: fadein 1s ease-in-out forwards;
	opacity: 0;
}

@keyframes fadein{
	from{opacity: 0;}
	to{opacity: 1;}
}

.right p:nth-child(1){animation-delay: 1.5s;}
.right p:nth-child(2){animation-delay: 1.9s;}
.right p:nth-child(3){animation-delay: 2.3s;}
.right p:nth-child(4){animation-delay: 2.7s;}
/*.right p:nth-child(5){animation-delay: 3.1s;}*/
/*.right p:nth-child(6){animation-delay: 3.5s;}*/

.head{
	animation: fadedown 2s ease-in-out 1.5s forwards;
	opacity: 0;
}

@keyframes fadedown {
    from { 
		opacity: 0; 
		transform: translateY(-100px)
	}
    to {
		opacity: 1;
		transform: translateY(0)
	}
}

	.scroll{
	animation: fadeddown 2s ease-in-out 4s forwards;
	opacity: 0;
}

@keyframes fadeddown {
    from { 
		opacity: 0; 
		transform: translateY(-300%)
	}
    to {
		opacity: 1;
		transform: translateY(0)
	}
}

#main [class$="img"] img{
    object-fit: cover;
	aspect-ratio: 3/2;
/*
    width: 100%;
    height: 100%;
*/
}

.catch{
    padding: 0 20px 0 20px;
    width: fit-content;
    position: absolute;
    top: 30vh;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
}

.left h2{
    font-weight: normal;
    /*font-size: 30px;*/
    font-size: clamp(1.375rem, calc(1.125rem + 1vw), 1.875rem);
    margin-bottom: 5%;
}
.right p{
    font-size: clamp(1rem, calc(0.875rem + 0.5vw), 1.25rem);
    line-height: 2;
}
.right{
    padding-top: 2%;
}
.right p:nth-child(1),.right p:nth-child(3){
    margin-bottom: 5%;
}

.right span{
    font-size: clamp(1.25rem, calc(1.1875rem + 0.25vw), 1.375rem);
}

@media screen and (min-width: 768px){
    .catch{
        width: 80%;
        grid-template-columns: 20% 3fr;
        justify-content: flex-start;
        position: absolute;
        top: 30vh;
        left: 6vw;
        right: 0;
        margin: 0 auto;
    }
}

.totitle h2{
	font-weight: normal;
	font-size: clamp(1.125rem, calc(0.90625rem + 0.8750000000000001vw), 1.5625rem);
	margin-bottom: 10%;
}

.toarticle p{
	font-size: clamp(1rem, calc(0.9375rem + 0.25vw), 1.125rem);
	line-height: 2;
}


.link{
	width: 30%;
	margin: 5% 0;
}

@media screen and (min-width: 768px){
	.link{
		width: 20%;
	}
}

.link p{
	position: relative;
}

.link p::after{
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    background: url("../images/more.svg") no-repeat;
    background-size: contain;
    position: absolute;
    right: 0%;
    bottom: 5%;
    vertical-align: middle;
}

.link a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	border-bottom: 1px solid #554F46;
	bottom: -1px;
	transform: scale(0, 1);
	transform-origin: right top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
	transition: transform 0.4s;  /*変形の時間*/
}

.link a:hover::after {
	transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
	transform-origin: left top; /*左から右に向かう*/
}




.toarticle p span{
	font-size: clamp(1.25rem, calc(1.1875rem + 0.25vw), 1.375rem);;
}


[class^="topic-"] {
	margin: 15% 0;
}

[class^="topic-"] img{
	margin-bottom: 10%;
}

[class^="chap-"]{
	margin-bottom: 8%;
}

[class^="chap-"]:last-child{
      margin-bottom: 30%;
}

@media screen and (min-width: 768px){
	.toarticle p{
		width: 80%;
	}
	
    [class*="2col"]{
		display: grid;
		width: 100%;
		grid-template-rows: auto;
		grid-template-columns:1fr 1.5fr; 
		align-items: center;
		/*margin:10% 0;*/
	}

	#main [class$="img"] img{
		width: 100%;
		aspect-ratio: 1 / 1;    /*古firefox不可*/
	}
	
	[class*="2ctxt"]{
		padding-left: 10%;
	}
}



