/* 外部スタイルシート、ファイル名：style.css */

/*　----------画面小さいとき----------　*/
@media screen and (max-width:767px) {

header {
  font-size: 15px;
  font-size: clamp(8px, 1vw, 15px);
}

main {
  font-size: 15px;
  font-size: clamp(12px, 1vw, 15px);
}

 .bk{
 display: block;
 flex-direction:column;
 justify-content: center;
 }

.yoko {
  margin: 0;
  display:block;
  text-align: initial;
}

.yoko li {
  list-style: none;
  margin: 0;
  width: 70%;
  text-align: left;
}

 .ma_row {
   text-align: center;
   display: inline-block;
   flex-direction: column;
  }                                   
}


/* ----------PC用----------　*/


/* ヘッダ */
header{
  font-size: 20px;
  font-size: clamp(8px, 1vw, 25px);
}

   /* ナビゲーションメニュー */
.bk {
  display: flex;
  background-color:#ffffff;
　max-width: 100%;
  margin: 0 auto;
  width: 100%;
  height: auto;
  justify-content: space-around;
}

.logo {
  width:317px;
  height:68px;
  margin-left:10px;
  float: left;
}


   /* リストをマークなしで横並び */


.yoko {
  display: flex;
　width: 80%;
}

.yoko li {
  margin-left: 20px;
  margin-top: 25px;
  list-style: none;
  white-space: nowrap;
}

.yoko li a {
  position: relative;
  color: #333;/* 文字色 */
  text-decoration: none;
}
.yoko li a::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  display: block;
  width: 0px;
  height: 2px;
  background-color: #FD7E00;
  margin: 0 auto;
  transition: 0.3s;
  transform: translateX(-50%);
}
.yoko li a:hover::after {
  width: 100%;/* 下線の長さ */
}


/* main画像横幅いっぱい */
.title {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.title img {
  display: block;
  width: 100%;
  height: auto;
}



/* メインメニュ */
main{
  flex: 3;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem;
}

aside{
  flex: 2;
  white-space: nowrap;
}

section{
  text-align: left;
  width: 80%;
  height: auto;
  margin:  0 auto;
}

.ma_row{
  display: flex;
}
.ma_row img{
  width: 100%;
  height: auto;
}

span{
  color: #FF0000;
  font-weight: bold;
  text-shadow:
    #ffffff 0px 0px 2px, #ffffff -0px 0px 2px,
    #ffffff 0px -0px 2px, #ffffff -0px -0px 2px;
} 

/* フッター */
footer {
  background: #fb8107;
  height:20px; 
  margin: 0;
  padding: 0;
  margin-top: 3rem;  /* フッター外側上部の余白 */
  padding-top: 0rem;  /* フッター周りの余白 */
  text-align:center;
  flex: 5; 
  font-size: 20px;
  font-size: clamp(8px, 1vw, 25px);
}

/* 縦書き */
.tatekaki {
 display: flex;
 writing-mode: vertical-rl;
 align-items: center;
 margin: 50px;
}


/* queen説明枠 */
p.bun{
  padding: 0em 2em;
}

.queen-wrapper {  
  display: block;
  position: relative;
  margin: 20px auto;
  padding: 10px 0;
  width: 80%;
  background: #f7f1c6;
  }

.queen {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  padding: 5px 0;
  margin: 0 0 0 -20px;
  width: calc(100% + 20px);
  color: white;
  background: #fb8107;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

.queen h3{
  margin: 0;
  padding: 0 30px 0 15px;
  border-top: dashed 1px #FFF;
  border-bottom: dashed 1px #FFF;
  font-size: 20px;
  line-height: 46px;
}

.queen:after {
  position: absolute;
  content: '';
  z-index: 1;
  top: 0;
  right: 0;
  width: 0px;
  height: 0px;
  border-width: 30px 15px 30px 0px;
  border-color: transparent #ffffff transparent transparent;
  border-style: solid;
}

.queen:before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 20px #cc7218;
}