* {
    font-family: "Segoe UI", "Meiryo", sans-serif;
    font-size: 1.1rem;
    box-sizing: border-box;
    color: #333;
}
header {
    position: relative;
    margin-top: 0;
    margin-left: 0;
    width: 100%;
    height: 9rem;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0,0,0,0)),  no-repeat 100% 30% / 100% url('../img/AdobeStock_1375277337.jpeg');
}
header .astropro {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    width: 20%;
    cursor: pointer;
    z-index: 1000;
}
header .astropro img {
    width: 100%;
    z-index: 1000;
    cursor: pointer;
}
header .renraku {
    position: absolute;
    top: 1rem;
    right: 1rem;
    height: 2rem;
    line-height: 2rem;
    width: 4rem;
    border-radius: 3rem;
    width: 10%;
    text-align: center;
    color: white;
    background: rgba(58, 26, 26, 0.508);
    z-index: 1000;
    cursor: pointer;
}
header .ikinuku {
    position: absolute;
    top: 1rem;
    width: 100%;
    text-align: center;
    margin: 0;
    font-size: 1.4rem;
    color: white;
    text-shadow: -1px -1px 0.5px black;
}
header .title {
    position: absolute;
    top: 3rem;
    width: 100%;
    margin: 0;
    text-align: center;
    font-size: 4rem;
    color: white;
    text-shadow: -1px -1px 0.5px black;
}
header .syoninzu-lesson {
    font-size: 2rem;
    color: white;
}
section{
    margin-top: 100px;
} 
.container {
    width: 92%;
    max-width: 1100px;
    margin: 0 auto;
}
.top {
    width: 100%;
}
.top .imgwrap {
    width: 100%;
    text-align: center;
}
.imgwrap img {
    width: 100%;
}
.top span {
    background: linear-gradient(transparent 80%, pink 80%);
}
.junjo p {
    margin: 1rem 10%;
}
.junjo b {
    font-size: 30px;
    color: lightskyblue;
}
.junjo span {
    background: linear-gradient(transparent 80%, pink 80%);
}
h1 {
    margin: 50px 0;
    color: #00aef9;
    font-size: 1.8rem;
}
h2 {
    color: #00aef9;
}

.obi {
    height: 50px;
    width: 80%;
    margin: 20px 10% 20px 15%;
    color: white;
    box-sizing: border-box;
    line-height: 50px;
    font-size: 30px;
    font-family: sans-serif;
}
.tableindex {
    width: 90%;
    margin: 4px 5%;
    border-collapse: collapse;
}
.tableindex th.thlevel {
    width: 11.1%;
    color: #00aef9;
}
.tableindex th.a {
    border-left: 1px solid #555;
    border-right: 1px solid #555;
    border-bottom: 1px solid #555;
    height: 5px;
    width: 8.89%;
}
.tableindex th.b {
    border-left: 1px solid #555;
    border-right: 1px solid #555;
    height: 10px;
}
.HTML {
    background: linear-gradient(90deg, #87CEFA 30%, #E0FFFF 50%);
    padding-left: 10%;
}
.CSS {
    background: linear-gradient(90deg, #F0FFF0 0, #66CDAA 10%, #66CDAA 50%, #AADECC 60%);
    padding-left: 30%;
}
.jQuery {
    background: linear-gradient(90deg, #FFF 40%, #DDA0DD 60%);
    padding-left: 60%;
}
.PHP {
    background: linear-gradient(90deg, #FFF 40%, #D2B48C 70%);
    padding-left: 70%;
}
.SQL {
    background: linear-gradient(90deg, #FFF 40%, #d2d08c 70%);
    padding-left: 70%;
}
.howto .imgwrap {
    text-align: center;
}
.howto img {
    width: 60%;
}
.howto li {
    margin-bottom: 2rem;
}
.howto li strong {
    color: #00aef9;
}
.howto .video-wrap {
    border: 10px solid #333; 
    border-radius: 24px;
}
.howto video {
    width: 300px;
}
.support h3 {
    margin-left: 1rem;
}
.support p {
    margin-left: 2rem;
}
.profile img {
  float: left;
  width: 200px;         /* 画像の幅は調整してください */
  height: auto;
  margin: 0 16px 16px 0; /* 右と下に余白をつける */
}
.kouzanaiyou table {
    width: 100%;
        border: 1px #555 solid;
        border-collapse: collapse;
}
.kouzanaiyou th, .kouzanaiyou td {
    border: 1px #555 solid;
    padding: 1rem;
}

.QandA .faq-table {
    width: 90%;
    margin-left: 5%;
    border-collapse: collapse;
    margin: 3rem 5%;
    font-size: 1rem;
}
.QandA .faq-table th, .faq-table td {
    padding: 16px 12px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
}
.QandA .faq-table th {
    background: #f5f7fa;
    width: 30%; /* タイトル側の幅 */
    font-weight: bold;
    color: #2c3e50;
}
.QandA .faq-table tr:nth-child(even) {
    background: #f9fbfd;
}
.QandA .faq-table tr:nth-child(odd) {
    background: #ffffff;
}
.QandA .answer-click {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: radial-gradient(circle, hsla(0deg 100% 50% / 0) 50%, hsl(300deg 100% 25%) 90%) 0 0 / 100% 100% no-repeat;
    border: 1px #AAA solid; 
    text-align: center;
    line-height: 2rem;
    cursor: pointer;
    user-select: none;
}
.QandA .answer {
    display: none;
    transition: all 0.3s ease;
    opacity: 0;
    color: #00F;
}
.QandA .answer.visible {
    display: table-row;
    opacity: 1;
}
.application-form {
  max-width: 500px;
  margin: 0 auto;
  padding: 1.5em;
  border: 1px solid #ccc;
  background: #f9f9f9;
  border-radius: 8px;
}
.application-form h2 {
  text-align: center;
}
.application-form label {
  display: block;
  margin-top: 1em;
  font-weight: bold;
}
.application-form input,
.application-form select,
.application-form textarea {
  width: 100%;
  padding: 0.6em;
  margin-top: 0.3em;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}
.application-form button {
  margin-top: 1.5em;
  width: 100%;
  padding: 0.8em;
  background: #0078d7;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1em;
  cursor: pointer;
}
.application-form button:hover {
  background: #005fa3;
}

.section13 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.section13 .left {
    width: 45%;
    height: 3rem;
    line-height: 3rem;
    padding: 0 1rem;
    background: rgba(58, 26, 26, 0.508);
    border-radius: 30px;
}
.section13 .email {
    width: 45%;
    height: 3rem;
    line-height: 3rem;
    padding: 0 1rem;
    background: #D2B48C;
    border-radius: 30px;
}
.section14 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.section14 .left {
    width: 45%;
    height: 3rem;
    line-height: 3rem;
    padding: 0 1rem;
    background: rgba(58, 26, 26, 0.508);
    border-radius: 30px;
    line-height: 3rem;
}
.section14 .wrap {
    width: 45%;
}
.section14 .address {
    width: 100%;
    height: 3rem;
    line-height: 3rem;
    padding: 0 1rem;
    background: #D2B48C;
    border-radius: 30px;
    margin-bottom: 1rem;
}
.section14 .tel {
    width: 100%;
    height: 3rem;
    line-height: 3rem;
    padding: 0 1rem;

    background: #D2B48C;
    border-radius: 30px;
}
.SP {
    display: none;
}
@media screen and (max-width: 767px) {
    header {
        height: 12rem;
    }
    header .astropro {
        width: 35%;
    }
    header .ikinuku {
        top: 3rem;
    }
    header .title {
        top: 5rem;
        font-size: 2rem;
    }
    header .syoninzu-lesson {
        font-size: 1rem;
    }
    header .renraku {
        width: 30%;
    }
    section.top {
        margin-top: 0rem;
    }
    .top .imgwrap {
        margin-top: 0;
    }

    .obi {
        width: 70%;
        margin: 20px 10% 20px 25%;
    }
    .jQuery {
        padding-left: 40%;
    }
    .PHP {
        padding-left: 50%;
    }
    .SQL {
        padding-left: 50%;
    }
    .howto img {
        width: 100%;
    }
    .howto .video-wrap {
        border: 2px solid #333; 
        border-radius: 5px;
        width: 120px;
        margin: 0 auto;
    }
    .howto video {
        width: 120px;
    }
    .profile img {
        width: 150px;
    }
    .section13 {
        display: block;
    }
    .section13 .email {
        margin-top: 10px;
        width: 100%;
        font-size: 0.8rem;
    }
    .section14 {
        display: block;
    }
    .section14 .address {
        text-decoration: none;
    }
    .section14 .wrap {
        margin-top: 10px;
        width: 100%;
        font-size: 0.8rem;
    }
    .SP {
        display: block;
        margin: 0;
    }
    .PC {
        display: none;
    }

}