@charset "UTF-8";


/* PC */
.spOnly {
		display: none;
}
#lesson{
	margin-top: 70px;
}



/* タイトル 
---------------------------------------------------------*/
#title{
	width: 100%;
	height: 200px;
	position: relative;
	overflow: hidden;
}
#title h2{
	width: 940px;
	text-align: left;
	margin: 0 auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	left: 0;
	font-size: 36px;
	color: #0078bf;
	z-index: 10;
}
#title img{
	width: 100%;
	min-width: 1280px;
	min-height: 200px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	left: 0;
	z-index: 1;
}

h3.qa_category {
	max-width: 900px;
	margin: 0 auto 20px;
	padding: 20px;
	font-size: 1.3em;
	text-align: left;
	background-color: #e6e5e5;
	border-radius: 10px 10px 0 0;
	box-sizing: border-box;
}

#qa-container {
    width: 100%;
	padding: 30px 20px;
	box-sizing: border-box;
	@media screen and (max-width: 750px){
		padding: 30px 5px 60px;
	}
}
#qa-container img {
    width: 100%;
	padding: 1.8rem 0;
}
.qa-1 {
    max-width: 900px;
    margin-bottom: 10px;
    border: 1px solid #d6dde3;
	border-radius: 5px;
	box-sizing: border-box;
	margin: 0 auto 10px;
	text-align: left;
}
.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1.5em 2em 1.5em 3em;
	color: #030000;
	font-size: 1.1rem;
	text-align: left;
	line-height:1.5;
    font-weight: 600;
	cursor: pointer;
	@media screen and (max-width: 750px){
		font-size: 1rem;
		padding: 1.2em 1.8em 1.2em 2.5em;
	}
}
.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
	font-size: 1.3em;
	@media screen and (max-width: 750px){
		 left: 0.5em;
	}
}
.qa-1 summary::before {
    color: #0078bf;
    content: "Q";
}
.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #030000b3;
    border-right: 3px solid #030000b3;
    content: '';
	transition: transform .5s;
	@media screen and (max-width: 750px){
		position: absolute;
		margin-left: 82%;
	}
}
.qa-1[open] summary::after {
    transform: rotate(225deg);
}
.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
	padding: 0.6em 3em 1.5em;
	font-size: 0.95rem;
	line-height: 1.6;
	color: #000;
	text-align: left;
	transition: transform .5s, opacity .5s;
	@media screen and (max-width: 750px){
		padding: 0.6em 1.5em 1.5em 3em;
	}
}
.qa-1[open] p {
    transform: none;
    opacity: 1;
}
.qa-1 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}
.qa-1 .p2 {
	position: relative;
	padding: 0.6em 3em 1.5em;
	line-height: 1.6;
	@media screen and (max-width: 750px){
		padding: 0.6em 1.5em 1.5em 3em;
	}
}

.qa-1 .p_outerbox {
	margin: -10px 45px 30px 45px;
	line-height: 1.5em;
	@media screen and (max-width: 450px){
		margin: -10px 30px 30px 45px;
	}
}
.qa-1 .close_school {
	margin: -10px 45px 30px 45px;
	@media screen and (max-width: 450px){
		margin: -10px 30px 30px 45px;
	}
}
.qa-1 table,
.qa-1 table tr,
.qa-1 table td {
	font-size: 15px;
	border: 1px solid;
	border-collapse: collapse;
}
.qa-1 table td.month_color {
	background-color: #efeeee;
}
.qa-1 table td {
	padding: 10px 20px;
	@media screen and (max-width: 450px){
		padding: 10px 8px;
		text-align: center;
	}
}
.qa-1 .close_memo {
	margin-top: 10px;
	font-size: 14px;
}

.qa-1 table.border_none,
.qa-1 table tr.border_none,
.qa-1 table td.border_none {
	font-size: 15px;
	border: none;
}
.qa-1 table td.border_none {
	padding: 2px 5px ;
	@media screen and (max-width: 450px){
		padding: 2px 8px;
		text-align: center;
	}
}


.grid-container {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px 50px;
	justify-content: center;
	align-items: center;
	@media screen and (max-width: 900px){
		padding: 0 20px 0 46px;
	}
}
.grid-container .g-item {
	text-align: left;
	font-weight: bold;
    width: 100%;
}
.grid-container .g-item img {
    padding: 1rem 0 !important;
}



@media screen and (max-width: 750px){
/* SP */
.pcOnly {
		display: none;
}
.spOnly {
	display: block;
}
#lesson{
	margin-top: 2em;
}

/* タイトル 
---------------------------------------------------------*/
#title{
	width: 100%;
	height: auto;
	position: static;
	overflow: visible;
}
#title h2{
	width: 90%;
	text-align: center;
	margin: 0 auto;
	position: static;
	top: 0;
	transform: translateY(0%);
	right: 0;
	left: 0;
	font-size: 160%;
	color: #0078bf;
	z-index: 10;
	padding-top: 2em;
	padding-bottom: 1em;
}
#title img{
	width: 100%;
	height: auto;
	min-width: 100%;
	min-height: auto;
	position: static;
	top: 0;
	bottom: auto;
	transform: translateY(0%);
	right: 0;
	left: auto;
	z-index: 1;
}



}
