@charset "utf-8";
:root {
	--color-logo: #2E3192;
	--color-orange: #f7931e;
	--color-yellow: #FCEE21;
	--color-text: #333;
	--color-lightG: #ccc;
	--color-wh: #fff;
}

/* main-------------------*/

table {
    width: 100%;
    height: auto;
    margin: 20px auto;
    border-collapse: collapse; 
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); 
}

th, td {
    padding: 8px 15px; 
    border: 2px solid var(--color-text); 
    text-align: left;
    background-color: var(--color-wh);
}

/* 見出し行（<th>）-----*/
thead th {
    background-color: var(--color-lightG); 
    color: var(--color-text);
}
th {
    background-color: var(--color-text); 
    color: var(--color-wh); 
    font-weight: bold;
    text-align: center; 
}

main .wrapper p {
	text-align: left;

}
h3 {
    margin: 0;
    padding: 8px 0;
    background-color: var(--color-orange);
    color: var(--color-wh);    
    font-weight: bold;
    font-size: 1.3em;
}
h4 {
    color: var(--color-orange);
    font-size: 1.1em;
    padding: 8px 0;
}

.topics {
    display: block;
    width: 70%;
    padding: 32px;
    margin: 0 auto;
    min-width: 290px;
}
.topics p {
    margin: 0;
    width: 100%;
}

.topics img {
    max-width: 100%;
    height: 100%;
    margin: 32px 0 16px;
}

#item {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
    padding: 24px;
}

.contents {
    background-color: var(--color-wh);
    color: var(--color-text);
    padding: 8px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    max-width: 370px;
}


.block {

    padding: 0;
    margin: 0;
    box-shadow: none;
    
 }
 .block img {
    width: 100%;
    height: auto;
    margin: 0 auto;
 }

.block p {
    padding: 0 16px;
}      


/* レスポンシブデザイン */
 @media (max-width: 600px) {

    main .wrapper {
            padding: 0;
    }
    .topics {
            padding: 0;
    }

    #item {
            grid-template-columns: none;
            gap: 16px;
            padding: 16px;
	}
    .block {
            display: block;
            height: auto;
            margin-top: 16px;
            
    }
    
 }
