* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Hiragino Kaku Gothic ProN";
  background-color: #87CEEB;
}

a {
  text-decoration: none;
}

a.card-link {
  display: flex;
  text-decoration: none;
  color: inherit;
}

/*画面幅とか*/
.container {
  width: 100%;
  height:30%;
  padding: 0 15px;
  margin: 0 auto;
  line-height: 10px;
}

.top-wrapper {
  width: 100%;
  height: 50rem;
  background: url(back2025.jpg) center top / cover no-repeat;
  text-align: center;
}

.top-wrapper::before{
  background-color:black;
}

/*トップページの「メカライフの世界展」の文字と文字を囲う色*/
.top-wrapper h1 {
  color: #000000;/*文字色*/
  font-size: 8rem;
  padding: 18rem 0;
  margin-top: 0;
  text-shadow: 
       2px  2px 1px #98eb87,
      -2px  2px 1px #98eb87,
       2px -2px 1px #98eb87,
      -2px -2px 1px #98eb87,
       2px  0px 1px #98eb87,
       0px  2px 1px #98eb87,
      -2px  0px 1px #98eb87,
       0px -2px 1px #98eb87;
}

/*タイトル系*/
header {
  height: 65px;
  width: 100%;
  background-color: rgba(34,49,52,0.9);
  position :fixed;
  top: 0;
  z-index: 200px;
  cursor: pointer;
}



.header-left h2{

  font-size:26px;
  float: left;
  color:white;
  font-weight: normal;
  padding-top:6px;
}
span{
  font-size: 25px;
  color:green;
}

.header-right {
  font-size:24px;
  float: right;
  margin-right: -25px;
}

/*ポップアップなど他の操作を遮る系らしい*/
.modal ,.header-right a{
  line-height: 65px;
  padding: 0 8px;
  color: white;
  display: block;
  float: left;
  transition: all 0.5s;
}

.modal:hover,.header-right a:hover,.content:hover{
  background-color: rgba(255, 255, 255, 0.3);
  cursor: pointer;
}

/*文字関連*/
.bold-text {
  font-weight: bold;/*見出しでないところを太字にするならこれを使う*/
}

.text-contents {
  font-size: clamp(1.2rem,2.5vw,8rem);
  color: #000000;/*文字色*/
  padding: 0.4em;/*文字周りの余白*/
  padding-top: 1em;/*文字周りの余白*/
  display: block;/*おまじない*/
  line-height: 1;/*行高*/
  background: #ffd700;/*背景色*/
  /*vertical-align: middle;*/
  border-radius: 25px 25px 25px 25px;/*左側の角を丸く*/
  text-align: left;
}

.text-contents:before {
  content: '';
  color: white;
  margin-left: 8px;
}

.text-contents2 {
  font-size: clamp(1.2rem,2.5vw,8rem);
  color: #000000;/*文字色*/
  padding: 0.5em;/*文字周りの余白*/
  padding-top: 1em;/*文字周りの余白*/
  display: block;/*おまじない*/
  line-height: 1.3;/*行高*/
  background: #ffdab9;/*背景色*/
  /*vertical-align: middle;*/
  border-radius: 25px 25px 25px 25px;/*角を丸く*/
  text-align: center;
}


.content:hover{
  box-shadow:6px 6px 80px;
  border:2px solid #000;
}
.contents-wrapper{
  background:url(back2.jpg);
  /* background-position: center top; */
  /* background-size: cover; */
  background-repeat: repeat;
}
.hold-modal-wrapper {
  position: fixed;
  top: 0rem;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 100;
  display: none;
}

.modal-form{
  position: absolute;
  top:50%;
  left:50%;
  transform: translateY(-50%) translateX(-50%);
  
  
  background-color: #e6ecf0;
  padding: 20px 0 40px;
  border-radius: 20px;
  width: 1000px;
  height: auto;
  text-align:justify;
}

.fa-times {
  position: absolute;
  top: 12px;
  right: 12px;
  color: rgba(128, 128, 128, 0.46);
  cursor: pointer;
}


.modal-form h2{
  font-size:35px;
  color: #5f5d60;
  letter-spacing: 1px;
  margin-bottom: 10px;
  padding: 20px 40px;
}

.midashi{
 font-size: 30px;
 line-height: 30px;
 color: red;
 text-align: center;
 font-family: '游ゴシック', sans-serif;
}

.honbun{
 font-size: 30px;
 line-height: 30px;
 color: black;
 text-align: center;
 font-family: '游ゴシック', sans-serif;
}

.honbun2{
 font-size: 20px;
 line-height: 20px;
 color: black;
 text-align: center;
 font-family: '游ゴシック', sans-serif;
}



/*画像*/

.img { /* 画像 */
  display: none; 
  position: relative;
  padding: 0;
}
.img button { /* 「CLOSE」ボタン */
  background: #3A4763;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 24px;
}

.image {
  width: 50%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 6px;
}

.layout{
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 6px;
}

.kaisai{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}

.kaisai img{
width: 400px;
height: auto;
}


.poster{
display: flex;
flex-direction:column;
gap: 10px;
align-items: center;
}

.poster img{
width: 100%;
max-width: 450px;
height: auto;
object-fit: cover;  
}

.contents-wrapper{
  width: 100%;
  margin: 0 auto;
}



.contents {
  padding:50px;
  display:flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  width:100%;
}

.content{
  border:solid 7px #000000;
  zoom:30%;
  padding:20px 20px 0px 20px;
  margin: 50px 55px;
  background-color: #6495ed;

  width: 100vw;
  max-width:none;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.content:hover{
  border:solid 15px #ff0000;
  background-color: #6495ed;
}

.content2{
  border:solid 7px #000000;
  zoom:30%;
  padding:20px 20px 0px 20px;
  margin: 50px 55px;
  background-color: #ff8c00;
}

.content2:hover{
  border:solid 15px #ff0000;
  background-color: #ff8c00;
}

footer {
  padding-top: 30px;
  padding-bottom: 20px;
  text-align: center;
}

.menu-icon {
  color:white;
  float: right;
  font-size: 30px;
  padding: 17px 20px;
  display: block;
}
.report_class{
  margin-top: 0px;
  padding-top:60px;
  background: url(report_back.jpg);
}
.back_1{
  width: 100%;
  
  /* background: url(report_back.jpg); */
  
}
.sanka{
  padding-top: 30px;
  display: block;
  width:50%;
  margin: 0 auto;

}

/*レスポンシブ*/
@media all and (min-width: 900px){

.header-right a {
  line-height: 65px;
  padding: 0 25px;
  color: white;
  display: block;
  float: left;
  transition: all 0.5s;
}

.header-right a:hover {
  background-color: rgba(255,255,255,0.3);
}
.menu-icon {
  color:white;
  float: right;
  font-size: 27px;
  padding: 10px 10px;
  display: none;
}
.text-contents {
  font-size: 6rem;
  color: #000000;/*文字色*/
  padding: 0.4em;/*文字周りの余白*/
  padding-top: 1em;/*文字周りの余白*/
  display: block;/*おまじない*/
  line-height: 1;/*行高*/
  background: #ffd700;/*背景色*/
  /*vertical-align: middle;*/
  border-radius: 25px 25px 25px 25px;/*左側の角を丸く*/
  text-align: left;
}
.text-contents2 {
  font-size: 6rem;
  color: #000000;/*文字色*/
  padding: 0.5em;/*文字周りの余白*/
  padding-top: 1em;/*文字周りの余白*/
  display: block;/*おまじない*/
  line-height: 1.3;/*行高*/
  background: #ffdab9;/*背景色*/
  /*vertical-align: middle;*/
  border-radius: 25px 25px 25px 25px;/*角を丸く*/
  text-align: center;
}

.poster{
  flex-direction: row;
  justify-content: center;
}

.kaisai{
flex-direction: row;
justify-content: center;
align-items: center;
width: 800px;
max-width: 90%;
margin: 0 auto;
}

.kaisai img{
width: 1000px;
height: auto;
}

.midashi{
 font-size: 40px;
 line-height: 40px;
 color: red;
 text-align: center;
 font-family: '游ゴシック', sans-serif;
}

.honbun{
 font-size: 40px;
 line-height: 40px;
 color: black;
 text-align: center;
 font-family: '游ゴシック', sans-serif;
}

.honbun2{
 font-size: 40px;
 line-height: 40px;
 color: black;
 text-align: center;
 font-family: '游ゴシック', sans-serif;
}

}


@media all and (max-width: 1000px) {
  
  .contents {
    /* width: 50%; */
    margin-bottom: 50px;
    text-align: center;
  }

  .content-wrapper {
    height: 990px;
  }

  footer {
    text-align: center;
  }
}

@media all and (max-width: 750px) {
  .heading h2 {
    font-size: 20px;
  }
}

@media all and (max-width: 670px) {
  .header-right {
    display: none;
  } 
  .top-center h1{
    width: 100%;
    border-radius: 50%;
    border: 5px solid #a6ddb0;
    border-left-color: transparent;
    border-right-color: transparent;
  }
  .top-center{
 
    margin: 10rrem auto;
    width:100%;
    height: 5rem;
    padding-top:20rem;
  
  }
  .top-wrapper{
    width: 100%;
  }
  .top-center h1{
    width: 100%;
  }
  .menu-icon span{
    display: block;
  }
  
  .header-left{
    margin-right: -15px;
  }
  .menu-icon:hover{
    background-color: rgba(255,255,255,0.3);
  }
  .top-wrapper h1{
    font-size: 2rem;
    padding:2rem 2rem;
    width: 100%;
    margin: 0 auto;
  }
  .top-wrapper h2 {
    font-size: 24px;
  }
  .contents {
    width: 100%;
  }
  img{
    width:100%;
  }
  .modal:before,.header-right a:before{
    content: '>';
    font-size:20px;
    padding-right:5px;
  } 
  .header-right {
    clear:right;
  }
  .modal,.header-right a{
    clear: left;
    float:flex;
  }
  .modal,.header-right a{
    width:200px; 
    height:80px;
    line-height:80px;
    background-color: rgb(10, 168, 168);
    
  }

  .contents {
    padding:0px;
    display:flex;
    flex-wrap: wrap;
  }
  .modal-form{
   width:100%;
  }

  .content{
    width: 100%;
    flex:auto;
  }
  .sanka{
   
    width:100%;
  
  }
 
  /* .sanka{
    margin: 0 auto;
  } */
  

}

@media all and (max-width: 670px) {
  .top-wrapper h1 {
    font-size: 2rem; /* フォントサイズを縮小 */
    padding: 2rem 1rem; /* パディングを縮小 */
    width: 100%;
    margin: 0 auto;
  }
  .header-right {
    display: none;
  }
  .menu-icon {
    display: block;
  }
  .contents {
    width: 100%;
    flex-direction: column; /* 縦に並べる */
    align-items: center; /* 中央に寄せる */
  }
  .content, .content2 {
    width: 90%; /* 幅を調整 */
    margin: 10px 0; /* マージンを調整 */
    zoom: 1; /* ズームを解除 */
  }
  .modal-form {
    width: 90%; /* 幅を調整 */
  }
  a.card-link {
  display: flex;
  text-decoration: none;
  color: inherit;
  justify-content: center;
  width: 90%;
}

.image {
  max-width: 50%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 6px;
}
}

