@import url(../../../css/kurenai.css);

.contents h1 .bottom-padding {padding-bottom: 2%;}
.contents h1 .mini-title {font-size: 15px !important;}

.max-width200 {max-width: 200px !important;}
.font-regular {font-weight: 500 !important;}

.gakumon  {color: #b10000 !important; font-weight: 500; margin-top: 4%;}

.gakumon-div {margin: 2% 0;}
.gakumon img {padding-bottom: 3%;}
.note-right p { max-width: 50%;
    color: #000000; text-align: justify; font-weight: 500 !important; border: 1px dotted #03a8f4;
    background-color: #03a9f426; border-radius: 10px; padding: 1% 3%; margin: 1% auto;}

    .dialog {margin:5% 0 1%;}
    .max-w70.columns02 {width: 70%;}
    .mini-caption.columns02 p {font-size: 12px; text-align: center; margin-top: 2%;}
.toi-waku-46 { width: 85%; margin: 0 auto 2%; padding: 1.5rem;}
.toi-waku-46 h2 {margin: 0;}
.toi-waku-46 p{padding: 0% 3%;}
.toi-waku-46 h3 {font-weight: 500; color: #001f6f; margin: 1% 0;}

.bullet_number {color: #005e5d;}
.blue-text {color: #00a0e9; font-weight: 600;}
.green-text {color: #005e5d; font-weight: 600;}
.blue-dot {color: #93c9e2; }


/*--- GREEN-BORDER AREA -----------------------------------------------------------*/
.resized  {width: 65% !important; margin: auto; padding: 1% 3%; float: none;}
.resized img {margin-bottom: 2%;}
.green-border {border: 15px solid #005e5d; margin: 1% 0;}
.col-graph-div {margin: 3%;}


/***ステップバーデザイン3***/
.step-wrap {
 counter-reset: count;
 margin: 2em 0;
 position: relative;
}
.step-content {
 padding: 1.3em 0 .3em 1em;
 margin: 0 0 1em 1em;
 position: relative;
 border-top: solid 2px #999;
}
.step-content::before {
 content: "";
 display: block;
 position: absolute;
 bottom: 0;
 left: -10px;
 border-style: solid;
 border-width: 17px 8px 0 8px;
 border-color: #999 transparent transparent transparent;
}
.step-content::after {
 content: "";
 display: block;
 height: calc(100% - 36px);
 border-left: dashed 4px #999;
 position: absolute;
 top: 16px;
 left: -4px;
}


.step-label-other2 {
 padding: 3px 20px 3px 15px;
 color: #005e5d;
 font-weight: bold;
 position: absolute;
 top: -18px;
 left: -20px;
 background: #fff;
 border-radius: 20px;
 z-index: 1;
}


.step-label {
 padding: 3px 20px 3px 15px;
 color: #fff;
 font-weight: bold;
 position: absolute;
 top: -18px;
 left: -20px;
 background: #005e5d;
 border-radius: 20px;
 z-index: 1;
}
.step-label::after {
 position: relative;
 left: .3em;
}
.step-title {
 font-weight: bold;
 font-size: 120%;
 color: #005e5d;
}
.step-body {
 margin-top: .5em;
 padding: 0 0 1em;
}
.step-wrap > :last-child {
 box-shadow: 5px 7px 0 -5px #ddd;
}
.step-wrap > :last-child::before, .step-wrap3 > :last-of-type::after {
 display: none;
}
/***ステップバーデザイン3***/

/* -- BLUE & WHITE GRAPH -----------------------------------------*/
.col-graph {
    display: flex;
    flex-direction: row;  width: 100%; height: auto;}
.col-graph .left-side { float: left;
    width: 25%;
    padding: 1%;
    display: flex;
    flex-direction: column; border-bottom: 1px dotted gray;
    justify-content: right;  background-color: #00a0e9; color: white;}
    .col-graph .left-side p {font-size: 16px; padding: 5%;}
    .col-graph ul {margin: 0 5%;}
    .col-graph ul li {list-style-type:circle; margin-bottom: 0.5rem;}

.col-graph .right-side {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: flex-start;
    width: 73%;
    padding: 1% 2% ; background-color: #ffffff9e; border-bottom: 1px dotted gray;}


.gakumon-box{
	padding:3em 2em 2em; /* ボックス内側余白 */
	position:relative; /* 配置(ここを基準に)*/
	border: 1px solid #757575; /* ボックスの線 (太さ・種類・色)*/
	background-color:#F8F8F8; /* ボックス背景色*/
}
.gakumon-box .box-title {
	background-color:#001f6f; /* タイトル背景色 */
	font-size: 1em;/* タイトル文字の大きさ */
	color: #fff ; /* タイトル文字色 */
	padding: 7px 12px;/*タイトルの余白*/
	line-height: 1;/*タイトルの行の高さ*/
	position:absolute;/* 配置(ここを動かす) */
	top: 0; /*上からの距離*/
	left: 0; /*左からの距離*/
}

/* -- 50% COLUMN -----------------------------------------*/
.col-graph .col-equal { position: relative;
    width: 48%; padding: 1%; border: 1px solid #9e9e9e; border-radius: 10px; margin: 3% 0.5%;} 
.col-graph .col-equal .title-lebal { color: #8b0000; font-weight: 600;
    display:inline-block; padding: 0.5rem 1.5rem;position: absolute; top: -3%; left: 5%; 
    background-color: #c9cbc7; border-radius: 40px;  border: 1px solid #9e9e9e;}
    .col-graph .col-equal img {margin: 3%;} 
    
    .col-graph .col-equal p {font-weight: 600; font-size: 1.3rem;  letter-spacing:-0.03cm;}
    .col-graph .col-equal p span {
        border-radius: 50%; padding: 1% 2%; font-weight: 600; color: white;}

.fill-green {background-color: #005e5d; }
.fill-blue {background-color: #00a0e9; }
.fill-orange {background-color: #ff5722; }
.fill-purple {background-color: #9c27b0; }
.fill-pink {background-color: #e91e63; }

.mini-graph {width: 80%; padding: 2%;  margin: auto; }
.mini-graph p {padding:2% 10%; margin: 0;}
.mini-graph .one-row {width: 100%; display: flex; flex-direction: row; border-bottom: 1px dotted gray;}
.mini-graph .left-text {background-color: #00a0e9; padding: 0.5 2%; width: 35%; color: #ffffff; }
.mini-graph .right-text {background-color: #ffffff; padding: 0.5 2%; width: 65%;}

@media screen and (max-width: 600px)  {
    .max-width200 {padding: 0 20%;}
    .col-graph-div {margin: 3% 0;}
    .resized  {width: 100% !important; padding: 0;}
    .col-graph {display: flex; flex-direction: column; justify-content: flex-start; margin-bottom: 2%;}
    .col-graph .left-side , .col-graph .right-side { width: 100%; margin: 0%; padding: 0% !important;}
    .col-graph .left-side p {text-align: center; padding: 1%;}
    .col-graph .right-side p {margin: 1rem 0 1rem 1rem; padding: 0 2% !important;}

    .col-graph .col-equal {width: 100%; padding: 0; margin: 5% 0%;}
    .col-graph .col-equal p { padding: 0 0 0 2%; letter-spacing:-0.01cm; font-size: 12px;}

    .gakumon  {margin-top: 7%;}

    .mini-graph  {width: 100%; padding: 0;}
    .mini-graph  p {padding: 2%; font-size: 12px;}

    .max-w70.columns02 {width: 100%;}

  
}
@media only screen and (min-width: 601px ) and (max-device-width: 767px) {
    .contents .max-w180 {max-width: 180px;}
    .max-w70.columns02 {width: 70%;}
    .max-w70.columns02 p {padding: 0%; margin: 2% !important;}
    .max-width200 {margin: auto !important;}
}
@media only screen and (min-width: 768px ) and (max-device-width: 1023px) { 
    .col-graph {display: flex;
    flex-direction: column;
    justify-content: flex-start;}
    .col-graph .left-side , .col-graph .right-side { width: 100%; margin: 0%; padding: 0%;}
    .col-graph .left-side p {text-align: center; padding: 1%;}

    .col-graph .col-equal {width: 100%; padding: 0;}
    .col-graph .col-equal p { padding: 0 5%;; font-size: 14px;}

    .max-w70.columns02 {width: 60%;}
        .max-w70.columns02 p {padding: 0%; margin: 1% !important;}

     
    .gakumon  {margin-top: 5%;}
  
}

.testimony-div {padding: 1% 0; background-color: #607d8b26;}
.testimony-div .comment-cont { background-image: linear-gradient(#00a0e90d, #00a0e92b, #00a0e947);
    border-radius: 5px 50px;; border: 2px solid #00a0e9; padding: 2% 3%; margin: 5%; box-shadow: 10px 5px 1px #00a0e9; }
    .testimony-div .comment-cont h2 {font-size: 16px; color: #800000;}
    .testimony-div .comment-cont p {font-size: 12px;}
div.callout { width: 70%; padding: 0; margin: auto;}
div.callout {
	background-image:linear-gradient(#005e5d4a, #005e5dde, #005e5d);
	position: relative;
	color: #fffbfb; text-align: center; font-weight: 600;
	padding: 10px;
	border-radius: 3px;
	box-shadow: 0px 0px 20px #999;
	margin: 3% 13%;
	min-height: 10%;
	border: 1px solid #005e5d;
	text-shadow: 0 0 1px #000;
}

.callout::before {
	content: "";
	width: 0px;
	height: 0px;
	border: 0.8em solid transparent;
	position: absolute;
}

.callout.top::before {
	left: 45%;
	bottom: -20px;
	border-top: 10px solid #005e5d;
}
.contenedor {
  display: flex;
  align-items: flex-start;
  max-width: 900px;
  margin: 0 auto;
  gap: 20px;
}

/* Textos */
.texto {
  flex: 1;
  line-height: 1.8;
  font-size: 14px;
}

/* Imagen */
.bloque-imagen {
  max-width: 200px;
  flex-shrink: 0;
}

.imagen {
  width: 25%;
  height: auto;
  display: block;
  margin-right: 4%;
  margin-top: 5%;
}

.pie-imagen {
  font-size: 10px;
  color: #555;
  margin-top: 6px;
}

h1 {
    font-size: 1.3rem;
    color: #2b3e50;
    margin-top: 30px;
    margin-bottom: 15px;
}
table {
      border-collapse: collapse;
      width: 90%;
      max-width: 800px;
      background-color: #ffffff00;
      box-shadow: 0 4px 12px rgba(13, 96, 160, 0.476);
      border-radius: 10px;
      overflow: hidden;
      text-align: center;
    }
.contents table th {
  background-color: #b3e9ee71;
  padding-left: 8px;
  padding-right: 8px;
}

th, td {
padding: 15px 20px;
text-align: center;
color: #022a2f;
}

thead {
background-color: #00000000;
color: #ffffff00;
}

tbody tr:nth-child(even) {
background-color: #b3e9ee71;
}

/*tbody tr:hover {
background-color: #037582;
transition: background-color 0.3s ease;
}*/

p, span, div {
  word-break: break-word;
}

.sports-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
}

.sport-card {
    background-color: #7badab;
    border-radius: 10px;
    padding: 15px;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.sport-card img {
    width: 150px;
    height: auto;
    object-fit: contain;
    margin-bottom: 10px;
}

.sport-card p {
    font-weight: bold;
    font-size: medium;
    color: #044849;
    margin: 0 0 5px;
}

.sport-card span {
    font-size: 13px;
    color: #000000;
}

.table-scroll {
  overflow-x: auto;
  width: 100%;
}

.hero {
  background: #e3effc;
  padding: 2rem;
  text-align: center;
  position: relative;
}

.intro {
  padding: 2rem;
}

.title-bar {
  background: #00a6d6;
  color: white;
  width: 150px;
  height: auto;
  font-weight: bold;
  font-size: x-large;
  padding: 0.5em 1em;
  border-radius: 30px;
  display: inline-block;
  margin-bottom: 1rem;
}

.images {
  display: flex;
  gap: 1rem;
  text-align: center;
  margin-top: 1rem;
}

.round-img {
  width: 200px;
  height: auto;
  border-radius: 50%;
  display: block;
  margin: 0 auto;
}

.rules {
  background: url(../img/gakumon48-paper.JPG);
  padding: 2rem;
}

.rules table {
  width: 95%;
  text-align: center;
  border-collapse: collapse;
  margin-top: 1rem;
  background-color: #ffffff;
}

.rules th, .rules td {
  border: 1px solid #354751;
  padding: 0.8em;
  text-align: left;
  vertical-align: top;
}

.rules th {
  background: #75bfe7;
  width: 25%;
}
.matches {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  padding: 2rem;
  background: #d5e4f4;
  max-width: 900px;
  margin: 0 auto;
  align-items: start; /* asegura que las filas comienzan arriba */
}

.match {
  display: grid;
  grid-template-rows: auto 1fr auto;
  height: 100%;
}

.match-title {
  font-size: larger;
  color: #005e5d;
  margin-bottom: 0.5rem;
}

.notas {
  background: #29acb89b;
  border-left: 5px solid #0387bf;
  padding: 1em;
  color: #ffffff;
}

.wide-img {
  width: 100%;
  height: auto;
  margin-top: 1rem;
  display: block;
}
/* Estilos para pantallas pequeñas (teléfonos y tabletas) */
@media (max-width: 768px) {
  /* Cambiar el grid de matches para que sea de una columna */
  .matches {
    grid-template-columns: 1fr; /* Una sola columna */
    padding: 1rem; /* Reducir el padding */
  }

  /* Ajustar el layout de match para que sus elementos se apilen */
  .match {
    display: grid;
    grid-template-rows: auto 1fr auto;
    height: auto; /* Permite que cada match crezca según su contenido */
  }

  /* Asegurarse que las notas ocupen el 100% del ancho disponible */
  .notas {
    width: 90%;
    display: block;
    margin-bottom: 1rem; /* Espacio entre las notas y la imagen */
  }

  /* Ajustar la imagen para pantallas más pequeñas */
  .wide-img {
    width: 100%;
    margin-top: 1rem;
  }
}

.student-rules {
  background: #f0f8f5;
  padding: 2rem;
}

.rule-box {
  background: #ffffff;
  border: 2px solid #99e2c4;
  padding: 1.5rem;
  margin-top: 1rem;
}

.rule {
  margin-bottom: 1rem;
}

.adopted {
  border-left: 5px solid #1db36f;
  padding-left: 1rem;
}

.rejected {
  border-left: 5px solid #d9534f;
  padding-left: 1rem;
}

.comment {
  font-size: 0.9em;
  color: #666;
}

.students-comments p {
  background: #f1f1f1;
  border-left: 5px solid #ccc;
  padding: 0.5rem 1rem;
  margin-top: 0.5rem;
}

.contenedor-estudiante {
  background-color: white;
  padding: 20px 30px;
  border-radius: 10px;
  max-width: 600px;
  margin: auto;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.rule {
  border-left: 6px solid #007C82;
  padding-left: 12px;
  margin-bottom: 30px;
}

.title {
  font-weight: bold;
  position: relative;
  margin-bottom: 8px;
  margin-left: 0 !important; /* Asegura que el margen izquierdo sea 0, no importa lo que haya afuera */
  padding-left: 0 !important; /* Elimina el padding, si existe, que esté interfiriendo */
}
.title-segundo {
  font-weight: bold;
  position: relative;
  padding-left: 30px;
  margin-bottom: 8px;
}

.checkbox {
  width: 10px;
  height: 10px;
  border: 4px solid #007C82;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 2px;
  background-color: white;
}

.label {
  font-size: 14px;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 12px;
  margin-left: 10px;
}

.adopt {
  background-color: #00ADA9;
  color: white;
}

.reject {
  background-color: #00ADA9;
  color: white;
}

.comment {
  display: flex;
  align-items: flex-start;
  background-color: #EAF8F7;
  border-radius: 8px;
  padding: 12px;
}

.icon {
  font-size: 20px;
  color: #00ADA9;
  margin-right: 10px;
  margin-top: 2px;
}

.text {
  font-size: 14px;
}

.comment-title {
  font-weight: bold;
  color: #007C82;
  margin-bottom: 5px;
}

.title-barra {
  color: rgb(47, 95, 149);
  font-weight: bold;
  font-size: 24px;
  padding: 0.5em 1em;
  border-radius: 30px;
  display: inline-block;
  margin-bottom: 1rem;
}
.title-barra {
  display: inline-block;
  margin-bottom: 1rem;
  text-align: right;  /* Asegura que el título principal esté alineado a la derecha */
}

.main-title-barra {
  font-weight: bold;
  font-size: 50px;
  color: #005e5d;
  display: block;  /* Esto asegura que el título esté en una línea separada */
}

.subtitle-barra {
  color: rgb(47, 95, 149);
  font-weight: bold;
  font-size: 24px;
  padding: 0.5em 1em;
  border-radius: 30px;
  display: inline-block;
  margin-top: 0.5em; /* Espacio entre el título y el subtítulo */
  text-align: left; /* Alinea el subtítulo a la derecha por defecto */
}

/* Consulta de medios para pantallas pequeñas (por ejemplo, móviles) */
@media (max-width: 768px) {
  .subtitle-barra {
    text-align: left;  /* Alinea el subtítulo a la izquierda en pantallas pequeñas */
    padding-left: 0.5em;  /* Agrega un poco de espacio a la izquierda */
    padding-right: 0.5em;  /* Agrega un poco de espacio a la derecha */
    font-size: 18px;
  }
}


.texto-nuevo{
    color: #08132d;
    font-size: 18px;
    text-align: justify;
    font-weight: bolder;
}

.fila {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.bocadillo-azul {
  background-color: #d0eaff;
  border-radius: 20px;
  padding: 20px;
  max-width: 200px;
  max-height: 200px;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  margin: 10px;
}

.imagen-redondeada {
  width: 250px;
  height: auto;
  border-radius: 15px;
  object-fit: cover;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  margin: 10px;
}

.notas-bloque {
  background: #29acb89b;
  border-left: 8px solid #0387bf;
  border-right: 8px solid #0387bf;
  padding: 1em;
  text-align: center;
  color: #ffffff;
}

.contenedor-imagen {
    position: relative;
    text-align: center;
    display: block;
}

.contenedor-imagen img {
    width: 90%;
    height: auto;
    text-align: center;
}

.titulo-sobre-imagen {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 30px;
    font-weight: bolder;
    text-align: center;
    margin: 0;
    padding: 10px 20px;
}
@media (max-width: 600px) {
  .titulo-sobre-imagen {
    font-size: 11px;
  }
}
@media (max-width: 600px) {
  .label.adopt {
    font-size: 1.2rem;
    padding: 2px 5px;
  }
}
@media (max-width: 600px) {
  .label.reject {
    font-size: 1.2rem;
    padding: 2px 5px;
  }
}
@media (max-width: 600px) {
  .round-img {
    width: 120px; /* o cualquier tamaño más pequeño que quieras */
  }
}

@media (max-width: 600px) {
  .migi.max-w180 {
    max-width: 200px; /* Reduce el tamaño */
    float: right;     /* Sigue a la derecha */
    margin-left: 10px;
    margin-bottom: 10px;
  }

  .migi.max-w180 img {
    width: 100%;
    height: auto;
  }
}

@media (max-width: 600px) {
  .contenedor {
    flex-direction: column; /* apila los elementos */
    align-items: center;    /* centra horizontalmente */
  }

  .bloque-imagen {
    max-width: 100px;       /* imagen más pequeña */
    text-align: center;     /* centra pie de imagen también */
    margin-bottom: 10px;
  }

  .imagen {
    width: 60%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  .texto {
    text-align: left;
    width: 100%;
  }
}
@media (max-width: 600px) {
  .responsive-img {
    width: 80%;
    display: block;
    margin: 0 auto;
  }
}

