*{padding: 0;margin: 0;line-height: 1;box-sizing: border-box;}
ul{list-style: none;}a{text-decoration: none;}img{vertical-align: bottom;object-fit:contain;}

/*-------------------------------------------*/
body{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
/**background-image: linear-gradient(#da3940 1px, transparent 1px), linear-gradient(90deg, #da3940 1px, transparent 1px);
background-size: 20px 20px;**/
background-color:rgba(75, 132, 78,.5);
}
  
.main-wrapper{
	width: 100%;
}
.none{display: none;}
.container{
    max-width: 1000px;
    margin: 0 auto;
 /**   background-color: #fff;**/
}
/*-------------------------------------------*/
.button a{
    display: block;
    text-align: center;
    max-width: 400px;
    padding: 15px 5px;
    border-bottom: solid 5px #ad0230;
    border-radius: 10px;
    background-color: #df0a38;
    color: #fff;
    font-weight: 600;
    font-size: 24px;
    transition: .4s ease;
    margin: 20px auto;
}

.button a:hover {
	opacity: 0.5;
	transform:translate(.1, .1);
}
header{width:100%;}
header h1.top-img{
	max-width:1000px;
	width:100%;
	margin:0 auto;
	text-align:center;
}
header h1.top-img img{
	width:100%;
	height:auto;
	display:inline-block;
}

.main-wrapper .container .schedule h2,
.main-wrapper .container .trial-lesson h2,
.main-wrapper .container .tokuten h2,
.main-wrapper .container .voice h2,
.main-wrapper .container .thatswhy h2,
.main-wrapper .container .map_midashi h2{
	text-align:left;
	padding-left:50px;
}
.main-wrapper .container .schedule h2 img,
.main-wrapper .container .trial-lesson h2 img,
.main-wrapper .container .voice h2 img,
.main-wrapper .container .thatswhy h2 img,
.main-wrapper .container .tokuten h2 img,
.main-wrapper .container .map_midashi h2 img{
	width:300px;
	height:auto;
}
.main-wrapper .container .tokuchou{
	margin:10px auto;
	display:flex;
	justify-content:space-between;
	width:100%;
	align-items:center;
	gap:10px;
	flex-wrap:nowrap;
}
.main-wrapper .container .tokuchou img{
	width:calc(25% - 30px);
  	height: auto;
  	object-fit: cover;
  	display: block;
	text-align:center;
}
.main-wrapper .container .schedule{
	margin:30px auto 50px;
}
.main-wrapper .container .schedule ul{
	display:flex;
	justify-content:flex-start;
	width:100%;
	align-items: flex-start;
	flex-wrap:nowrap;
	gap:10px;
}
.main-wrapper .container .schedule ul li{
	width:calc(20% - 10px);
	text-align: center;
}
.main-wrapper .container .schedule ul li img{
	height: 240px;       /* 4分割＝25%ずつ */
  	width: auto;     /* 縦横比を保つ */
  	object-fit: cover; /* はみ出し防止・トリミング調整 */
  	display: block;
	margin-right:auto;
	margin-left:auto;
}
.main-wrapper .container .trial-lesson ul {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px; /* 任意の余白 */
  justify-content: center;
  align-items: flex-start;
  list-style: none;
  padding: 0;
  margin: 30px auto;
}

.main-wrapper .container .trial-lesson ul li{
 flex: 0 0 auto;
}
.main-wrapper .container .trial-lesson ul li img {
  height: 25px;       /* 高さを統一 */
  width: auto;        /* 横幅は画像比率に合わせて自動 */
  object-fit: contain; /* はみ出し防止・余白調整 */
  display: block;
}
.bunya{
  	display: flex;
  	flex-wrap: wrap;
  	justify-content: flex-start;
  	max-width: 900px;
  	margin: 0 auto;
	gap:0;
	align-items: stretch;
}
.box1, .box2, .box3, .box4, .box5{
 flex: 0 0 calc(50% - 5px);/**  横幅の半分 - gap調整 */
  box-sizing: border-box;
  padding: 5px;
  border-radius: 8px;
  margin:0;
}

.box1 h3, .box2 h3, .box3 h3, .box4 h3, .box5 h3{
padding: 20px;
font-size: 18px;
font-weight: bold;
color: #ffffff;
border: 1px solid #000;
border-bottom: none;
}

.box1 p, .box2 p, .box3 p, .box4 p, .box5 p{
    font-size: 20px;
    padding: 20px;
    line-height: 1.6;
    border: 1px solid #000;
}

.box1 h3{background: #00A5E3;
background: linear-gradient(360deg, rgba(0, 165, 227, 1) 0%, rgba(255, 255, 255, 1) 100%);}
.box2 h3{background: #E83820;
background: linear-gradient(360deg, rgba(232, 56, 32, 1) 0%, rgba(255, 255, 255, 1) 100%);}
.box3 h3{background: #ED6C00;
background: linear-gradient(360deg, rgba(237, 108, 0, 1) 0%, rgba(255, 255, 255, 1) 100%);}
.box4 h3{background: #7B59A3;
background: linear-gradient(360deg, rgba(123, 89, 163, 1) 0%, rgba(255, 255, 255, 1) 100%);}
.box5 h3{background: #E95383;
background: linear-gradient(360deg, rgba(233, 83, 131, 1) 0%, rgba(255, 255, 255, 1) 100%);}
.box1 p,
.box2 p,
.box3 p,
.box4 p,
.box5 p{background-color: #f1f5fa;}

.main-wrapper .container .tokuten {
	padding:10px;
	background:rgba(255, 255, 255, .7);
	border-radius:15px;
}

.main-wrapper .container .tokuten>div{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 1fr;
	gap:10px;
	margin:30px auto;
}

.main-wrapper .container .tokuten div .sono1 {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.main-wrapper .container .tokuten div .sono1 a{
	 word-break: break-word;
	display:block;
	text-decoration:none;
	color:#da3940;
	font-weight:600;
	font-size:14px;
	line-height:1.3;
}
.main-wrapper .container .tokuten div img{
	width:100%;
	height:auto;
}

.main-wrapper .container .main{
	display:flex;
	justify-content:flex-start;
	flex-wrap:nowrap;
	max-width:1000px;
	background:#FFF;
}
.main-wrapper .container .tokuten ul li img {
  	width: 100%;
	height:auto;
  	object-fit: contain;
  	display: block;
}
.main-wrapper .container .voice{
	margin:30px auto;
}
.main-wrapper .container .voice div{
	max-width:960px;
	margin:0 auto;
}
.main-wrapper .container .voice div img{
	width:100%;
	height:auto;
}

.main-wrapper .container .thatswhy{
	margin:30px auto;
	background:rgba(255, 255, 255, .7);
	padding:30px 10px;
	border-radius:15px;
}
.main-wrapper .container .thatswhy ul li{
	display:grid;
	grid-template-columns:1fr 5fr;
	grid-template-rows:auto auto;
	grid-template-areas:
		"col1 col2"
		"col1 col3";
	gap: 10px;
	align-items:flex-start;
	margin:30px auto;
	padding:30px;
}
.col1 {
  grid-area: col1;
}
.col2 {
  grid-area: col2;
	color:#172a88;
	font-weight:800;
}
.col3 {
  grid-area: col3;
}
.col1,
.col2,
.col3{
	align-self: start;
}
img.col1{
	display:inline-block;
	margin:0 auto;
	width:80px;
	height:auto;
}

.main-wrapper .container .thatswhy ul li p{
	word-break: break-word;
	text-align:left;
	padding:5px;
	font-size:22px;
}
.main-wrapper .container .thatswhy ul li img.point{
	padding:5px;
}
.main-wrapper .container .main{
	background:#FFF;
	border-radius:15px;
	margin:30px auto;
}
.main-wrapper .container .main {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
	padding:50px;
}

.main-wrapper .container .main .inner_main,
.main-wrapper .container .main .map_midashi{
  display: grid;
  grid-template-columns: 1fr 3fr; 
  align-items: center;
  gap: 10px;
  width: 100%;
}

.main-wrapper .container .main .inner_main h3 img{
	width:100%; height:auto;
}
.main-wrapper .container .main .inner_main p{
	font-weight:900;
	color:#333;
	font-size:32px;
}
table {
 border-collapse: collapse;
 margin: 30px auto 0;
 table-layout: fixed; 
  }
table caption{
	font-size:28px;
	padding:10px;
}
th, td {
    border: 1px solid #333;
    padding: 15px 20px;
    font-size: 21px;
  }
th.col1 {
  width: 20%;
}
th.col2 {
  width: 60%;
}
th.col3 {
  width: 20%;
}
.otoiawase{margin-bottom:50px;}
.map-img1{
	width:900px;
	margin:0 auto;
}
.map-img1 img{
	width:100%;
	margin:0 auto;
}
.map-img2{
  width: 900px;
  width: 95%;
  margin: 0 auto;
}

.map-img1 iframe{
  width: 100%;
}

.rogo{
  max-width: 900px;
  width: 95%; 
  margin: 0 auto;
  text-align-last: right;
  padding: 5px;
  margin-bottom: 80px;
}

.rogo img{width: 70%;}
.map-img2{
margin-bottom: 100px;
}
.map-img2 img{
  width: 100%;
}


footer{
  color: #ffffff;
  background-color: #757575;
}

.footer-box{
  width: 100%;
  margin: 0 auto;
  padding: 50px 10px 40px 10px;
}
.footer-box img{
  width: 290px;
  margin-bottom: 10px;
}

.footer-box h4{
font-size: 21px;
padding-left: 10px;
background-color: rgb(255, 255, 255);
color: #555555;
display: block;
width: 270px;
text-align: center;
margin-bottom: 50px;
padding: 10px;
}
.footer-box .box{margin-bottom: 10px;}
.footer_flex{display: flex;justify-content: space-between;
width:100%;}
.footer-box dl:first-child{margin-bottom: 40px;width: 60%;}
.footer-box dl:nth-child(2){margin-bottom: 40px;width:calc( 40% - 10px ); }
.footer-box dd{font-weight: bold;font-size: 17px;margin-bottom: 15px;}
.footer-box dt{
  font-size: 15px;
  padding-left: 10px;
  line-height: 1.5;
}
.footer-box img{margin-top: 5px;}
.sp{display:none;}
@media (max-width: 1000px) {
.main-wrapper .container .tokuchou{
	flex-wrap:wrap;
}
.main-wrapper .container .tokuchou img{
	width: calc(50% - 10px);
	padding:0 15px;
 }
.main-wrapper .container .schedule ul{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.main-wrapper .container .schedule ul li{
	width:calc(33% - 10px);
	text-align: center;
}
.main-wrapper .container .schedule ul li img{
	height: 240px;       /* 4分割＝25%ずつ */
  	width: auto;     /* 縦横比を保つ */
  	object-fit: cover; /* はみ出し防止・トリミング調整 */
  	display: block;
	margin-right:auto;
	margin-left:auto;
}
.main-wrapper .container .trial-lesson ul {
  flex-wrap: wrap;
  gap: 0;
  margin: 20px auto;
}
.main-wrapper .container .thatswhy ul li:nth-child(2),
.main-wrapper .container .thatswhy ul li:nth-child(3){
	align-items:center;
}
.box1 h3, .box2 h3, .box3 h3 .box4 h3, .box5 h3{
	padding: 15px 12px;
	font-size: 18px;
}

.box1 p, .box2 p, .box3 p, .box4 p, .box5 p{
    font-size: 16px;
    padding: 15px 12px;
    line-height: 1.5;
}
th, td {
    padding: 12px 15px;
    font-size: 18px;
  }
.footer-box dd{
	font-size: 16px;}
.footer-box dt{
	font-size: 14px;}
.footer-box img{
  width: 186px;
  margin-bottom: 10px;
}
}
 @media (max-width: 500px) {
.sp{display:block;}
.none{display: block;}
/*-------------------------------------------*/
.button a{
  width: 70%;
    padding: 15px 5px;
    font-size: 20px;
    margin: 20px auto 80px;
}
.main-wrapper .container .schedule h2,
.main-wrapper .container .trial-lesson h2,
.main-wrapper .container .tokuten h2,
.main-wrapper .container .voice h2,
.main-wrapper .container .thatswhy h2,
.main-wrapper .container .map_midashi h3{
	text-align:left;
	padding-left:10px;
}
.main-wrapper .container .schedule h2 img,
.main-wrapper .container .trial-lesson h2 img,
.main-wrapper .container .voice h2 img,
.main-wrapper .container .thatswhy h2 img,
.main-wrapper .container .tokuten h2 img,
.main-wrapper .container .map_midashi h3 img{
	width:280px;
	height:auto;
}
.main-wrapper .container .main .map_midashi{
	display:block; 
}
.main-wrapper .container .thatswhy h2 img{
	max-width:200px;
	height:auto;
}
.main-wrapper .container .tokuchou{
	justify-content:space-between;
	gap:0;
}
.main-wrapper .container .schedule{
	margin:10px auto 20px;  
	  }
.main-wrapper .container .schedule ul{
	gap:5px;
	flex-wrap:wrap;
}
.main-wrapper .container .schedule ul li{
	width:calc(50% - 6px);
	gap:3px;
}
.main-wrapper .container .schedule ul li img{
	height: 160px;
  	width: auto;
  	object-fit: cover;
  	display: block;
}
.main-wrapper .container .trial-lesson ul {
  flex-wrap: wrap;
  gap: 3px;
  margin: 5px auto;
}
.main-wrapper .container .trial-lesson ul li img {
	height: 20px; 
	}
.main-wrapper .container .tokuten{
	flex-direction: column;
	margin:20px auto;
	gap:0;
}
.main-wrapper .container .tokuten h2,
.main-wrapper .container .tokuten div{
	width:100%;
}
/**.main-wrapper .container .tokuten>div{
	display:block;
	margin:20px auto;
}**/

.main-wrapper .container .tokuten .sono1 {
	width:100%;
	flex-direction: row;
	gap: 3px;
	align-items:center;
}
.main-wrapper .container .tokuten div .sono1 a{
	font-size:11px;
}
.main-wrapper .container .tokuten div{
	margin:15px auto;
}
.main-wrapper .container .tokuten div img{
	width:98%;
	height:auto;
	margin-right:auto;
	margin-left:auto;
}
.main-wrapper .container .tokuten div.sono1 img{
	width:90%;
	height:auto;
	margin-right:auto;
	margin-left:auto;
}
.bunya{
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
}

.box1, .box2, .box3, .box4, .box5{
    width: 100%;
    padding: 3px 10px;
}

.box1 h3, .box2 h3, .box3 h3 .box4 h3, .box5 h3{
padding: 13px 10px;
font-size: 17px;
border-bottom: none;
}

.box1 p, .box2 p, .box3 p, .box4 p, .box5 p{
    font-size: 14px;
    padding: 13px 10px;
    line-height: 1.5;
}
.main-wrapper .container .main {
	padding:20px 8px;
}
.main-wrapper .container .main .inner_main,
.main-wrapper .container .main .map_midashi{
	align-items:flex-start;
  	grid-template-columns: 2fr 3fr; 
}

.main-wrapper .container .main .inner_main h3 img{
	width:100%; height:auto;
}
.main-wrapper .container .main .inner_main p{
	font-size:20px;
}
.main-wrapper .container .thatswhy{
	padding:20px 5px;
}
.main-wrapper .container .thatswhy ul li{
	gap: 5px;
	align-items:flex-start;
	padding:10px;
}
.main-wrapper .container .thatswhy ul li p{
	padding:3px;
	font-size:18px;
}
img.col1{
	width:40px;
	height:auto;
}
table {margin: 0 auto 30px;}
th, td {padding: 10px;font-size: 13px;}
  

.map-img1, .map-img2{
  max-width: 900px;
  width: 95%;
  margin: 0 auto;
}

.map-img1 iframe{
  width: 100%;
}

.rogo{
  max-width: 900px;
  width: 95%; 
  margin: 0 auto;
  text-align-last: right;
  padding: 5px;
  margin-bottom: 30px;
}

.rogo img{width: 80%;}
.map-img2{
margin-bottom: 30px;
}
.map-img2 img{
  width: 100%;
}


.footer-box{
  width: 100%;
  margin: 0 auto;
}

.footer-box h4{
font-size: 19px;
width: 200px;
}
.footer-box .box{margin-bottom: 15px;}

.footer-box dl{margin-bottom: 40px;}
.footer-box dd{font-weight: bold;margin-top: 17px;margin-bottom: 20px;font-size: 18px;}
.footer-box dt{
  font-size: 14px;
  padding: 5px 5px 5px 10px;
}
.footer_flex{display:block;}
.footer_flex dl{width: 100%;}
.footer-box dl:nth-child(2),
.footer-box dl:first-child{width:100%; }
.footer-box img{
  width: 280px;
}
}