/*=======ヘダーエリアのＣＳＳ=======*/

/*ヘダー箇所*/
header {
  width: 100%;
  position: fixed;  /*ウィンドウを基準に画面に固定*/
  top: 0;  /*上下の固定位置を上から0pxにする*/
  left: 0;  /*左右の固定位置を左から0pxにする*/
  z-index: 500;  /*ヘッダーエリアを最前面にする*/
  background-attachment: fixed;
  }

.header-area{
  width: 100%;
  background-color: #ffffff;
  }

/* 【修正箇所：Flexboxで要素が重ならないように整理】 */
.head01{
  display: flex;
  justify-content: space-between; 
  align-items: center; 
  position: relative;
  max-width: 1200px;
  height: 80px;      /* 【重要】min-heightからheightに変更し、高さを80pxに固定 */
  margin: auto;
  box-sizing: border-box;
  overflow: hidden;  /* 【重要】この枠からはみ出るものは表示しない */
}

/* 【修正箇所：ロゴとタイトルがアイコンを押し出さないように設定】 */
.main-logo{
  display: flex; 
  align-items: center;
  flex: 1; 
  min-width: 0;
  text-align: center;      /* 文字の中央寄せ */
  font-weight: bold;
}

.main-logo a{
  display: flex;
  align-items: center;
  color: #1d4bad;
  text-decoration: none;
  min-width: 0;
}

.main-logo a:hover{
  background-color: #ffffff;
  opacity: 0.7;
}

.main-logo:hover{
  opacity: 0.7;
}

.main-logo img{
  width: 70px;     /* 50 */
  height: 70px;    /* 50 */
  /* vertical-align: middle; */
  flex-shrink: 0;
}

/* 【修正箇所：三点リーダーを廃止し、改行を許可】 */
.main-logo h1{
  padding-left: 10px;
  color: #1d4bad;
  margin: 0;
  font-size: 2rem;       /* ここをどれだけ大きくしても大丈夫です pxでもよい*/
  line-height: 80px;     /* 【追加】ヘッダーと同じ高さに指定（中央に配置されます） */
  max-height: 80px;      /* 【追加】これ以上の高さには絶対にならないように制限 */
  overflow: hidden;      /* 【追加】設定したfont-sizeが大きすぎてはみ出た分をカット */
  display: block;
}

/* 【修正：右側のボタンとハンバーガーをまとめる親】 */
.head-right-items {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 20px;
}

/* ハンバーガーボタンのスタイル調整（位置固定を解除） */
.openbtn4 {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  flex-shrink: 0;
  z-index: 10;
}

/*オプション説明エリア*/
.info_op{ 
  font-size: 12px;
  padding: 20px 20px 0 100px;
}

/*管理者ボタンエリア*/
.kanri-btn{ 
  /* position: absolute; */
  right: 15px;
  bottom: 26px;
}

/*管理者ボタン*/
.btn01 {  /*ＰＣ用管理者ボタン*/
    border: 0;
    padding: 4px 20px;
    font-size: small;
    text-align: center;
    color: #fff;
    text-shadow: 1px 1px 1px #000;
    border-radius: 10px;
    background-color: #ff9244;
    white-space: nowrap;
}

.btn01:hover {
    background-color: #dd5c00;
}

.btn01:active {
    box-shadow: inset -2px -2px 3px rgba(255, 255, 255, .6),
                inset 2px 2px 3px rgba(0, 0, 0, .6);
}

.btn02{  /*スマホ用管理者マーク*/
  display: none;
}

/*ページの使い方ボタンエリア*/
.howto_page-btn {
  display: flex;
  /* position: absolute;
  right: 160px;
  bottom: 13px; */
}

.btn03 {  /*ページの使い方マーク*/
  font-size: 10px;
  text-align: center;
}

.btn03:hover {
  opacity: 0.7;
}
  
.btn03 img {
  width: 45px;  
  height: 36px; 
}

.btn03 a {
  color: #000000;
}

.btn03 p { 
  font-size: 10px; margin: 0; 
}

/*23.4.24*/
@media screen and (max-width: 768px){
.head01{
  justify-content: center;
  min-height: 60px;
}

.btn03{
  display: none;
}

.main-logo img{
  /* display: inline-block; */
  margin: auto;
  width: 45px;
  height: 45px;
}

.kanri-btn{   /*管理者ボタンエリア*/
  float: right;
}

.main-logo h1{
  /* display: inline-block; */
  font-size: 18px; /* 文字を少し小さくして改行時の圧迫感を軽減 */
}

/*オプション説明エリア*/
.info_op{ 
  display: none;
}
}

/* 23.4.24*/ 
@media screen and (max-width: 660px){
.head01{
  height: 50px;   /* 50 */
}

.main-logo img{
  display: inline-block; 
}


.main-logo{
  margin-top: auto;
  justify-content: center;
  padding: 0 10px 4px;
}

.btn01{
  /* font-size: xx-small; */
  display: none;
}

.btn02{
  display: block;
}

.btn02 img{
  width: 20px;
  height: auto;
}

.kanri-btn{
  bottom: 8px;
}
}

@media screen and (max-width: 480px){
  .main-logo h1 {
    font-size: 1.5rem;
    line-height: 1;
  }

.head-right-items {
    justify-content: center;
    width: 50px;
    gap: 0;
  }
}

