.container {
  display: flex;
  flex-direction: row; /* 横並び */
}

.text {
  writing-mode: horizontal-tb;
  flex: 1; /* 残りのスペースを全て占有 */
}
@media (max-width: 1024px){ 
  .main-visual {
    padding-top: 80px;
    padding-bottom: 100px;
  }
  .top-title {
    font-size: 60px;  
  }    
}
@media (max-width: 670px){
  .header-left {
    display: none;
  }
  .header-right {
    float: none;
    text-align: center;
  }
  .header-right a {
    font-size: 14px;
  } 
}     
.header {
    height:56px;
    width: 100%;
    box-shadow: 0 0 10px #dddddd;
    }
.header {
  position: related; 
  top: 0;
}
.header-left {
    float: left;
}
.header-right {
    float: right;
}
.clear{
    clear: both;
}
.header-right a {
    line-height: 56px;
    color: #ffffff;
    margin-left: 5px;
}
.header-right a:hover {
    transition: background-color 0.2s;
    font-size: 16px;
    padding: 16px 5px;
    background-color: #bddbdb;
    border-radius: 10px;
}
body {
  margin: 50px; 
  background: url(vinyl-4702966_1280.jpg) no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
  height:900px;
  width: 100%;
  border-radius: 10px;
  writing-mode: horizontal-tb;
  background-color:rgba(255,255,255,0.2);
  background-blend-mode:lighten;
  }  
.box {
  margin-top: 50px;
  margin-left: 30px;
.course {
  margin-bottom: 10px;
  padding:30px 0;
  width: 300px;
}
.course p {
  margin: 50px;
  text-align: center;
  background-color:mediumturquoise;
}
.TOP {
  background-color:#38a3a5;     
}
.PROFILE {
  background-color:rgba(230,135,135,1.0);
}
.MUSIC {
  background-color: hsla(35,80%,60%,1.0);
}
.DISCOGRAPHY {
  background-color: skyblue;
}
.LINK {
  background-color:tomato;
}
.container {
    max-width: 980px;
    padding: 0 30px;
}
.container {    
    margin-left: auto;
    margin-right: auto;
main {
  padding:0 40px;
}
.contents h1
  padding:20px;
  border: 1px solid #42acac; 
  color:42acac;    
}
.contents h2 {
  padding: 10px 20px;
  background-color: #42acac;
  border-radius: 5px;
  font-size: 20px;

}   
body {
    background-color: turquoise;
}  
body,
#wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
footer {
  margin-top: auto;
}
.content {
    margin: 64px auto 0 auto;
    padding: 200px;
    max-width: 900px;
    border-radius: 16px;
    
}    
.footer {
    height: 75px;
    width: 100%;
    position: absolute;
    bottom: 2;
}
.footer-left {
 float: left; 
}
.footer-right {
    float: right;
}
.footer {
    padding-top: 20px;
}
.footer-left {
    float: left;
}
.footer-right {
    float: right;
    padding-top: 50px;
}
.footer-left p {
    margin-bottom: 8px;
}

 





