@charset "UTF-8";
html{
  /* 1rem = 100pxと定義 */
  font-size: 100px;
}
*{
  box-sizing:border-box;
}
.img{
  max-width:100%;/*画像が親要素からはみ出すのを防ぐ*/
  height:auto;
}
a,p{
  text-decoration:none;
  color: #333;
}

.red{
  color:#F06C64;
}
:root {
  --background-navbar: rgba(255, 255, 255, 0.98);
}

body {
  background: var(--background-navbar);
  font-size: 0.16rem; /* 1rem = 100pxと定義 */
  margin:0;
  padding:0;
  display: flex;
  overflow: auto;
  flex-direction: column;
  font-family: "Hiragino Maru Gothic Pro", "Times New Roman", sans-serif;/*Helvetica,cursive,Times New Roman,Marck Script,luxus-brutも検討*/
}
h1{
  /* 見出しは大きめの30px、パディングを20px*/
  font-size: 0.3rem;
  padding: 0.2rem;
}

/* ナビバーの設定 */
.header {
  z-index: 20;
  width: 100%; 
  padding: 0px 20px;
  background: var(--background-navbar);
  position: sticky;/*固定する*/
  position: -webkit-sticky;/*Safari用*/
  display: flex;
  justify-content: flex-start;
  align-items: center;
  top: 0;
  height: 76px;
}
.header::before {
  background-color: #70649A; /* 二藍 */
  border-radius: 5px; /* 線の両端を丸く */
  bottom: 0; /* 線の位置 */
  content: "";
  height: 3px; /* 線の高さ */
  left: 50%; /* 線の中央寄せ */
  position: absolute;
  transform: translateX(-50%); /* 線の中央寄せ */
  width: 95%; /* 線の長さ */
}
.navtext {
  position: absolute;
  text-transform: none;
  color: #000000;
  letter-spacing: 5px;
  font-size: 36px;
  font-weight: bold;
}
/* ここから下がハンバーガーメニューに関するCSS */
  
/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 40px;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #333;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: 30%;
  position: fixed;
  bottom: 100%;
  left: 0%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: rgb(110, 110, 110);
  transition: .5s;
  text-align: center;
  padding-top: 20px;
}

/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
}

.nav_item a {
  color: #fff;
  font-size: 0.24rem;
  text-decoration: none;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  top: 0;/* メニューを画面に入れる */
}

.content{
  display: flex;
  width: 100%;
  flex-direction: row;
  justify-content: center;
}
.sidebar{
  width: 3.50rem;
  padding: 0.76rem 0.40rem;
  vertical-align: top;
  background: var(--background-navbar);
}
.fsize{
  font-size: 32px;
  margin-bottom: 20px;
  color: #333;
  list-style: none;
}
.gyou{
  margin-bottom: 12px
}
.column2{
  list-style: none;
  column-count:1;
}
.main{
  display: flex;
  width: 100%;
  flex-direction: column;
  background: #FFF5EE;
}
.thema{
  padding-left: 0.2rem;
}
.kotoba{
  padding: 0.76rem 0;
  font-size: 0.32rem;
  text-align: start; 
  color: #333;
}  
.toi{
  width: 6.0rem;
  padding: 0.2rem 0.4rem 0.4rem 0.4rem;
  list-style: none;
  color: #333;
}
.waku{
  margin: 0.3rem 0 0.3rem 0;
  width: 4.00rem;
  color: #333;
}
.kagi{
  z-index: 10;
  width: 100%;
  height: auto;
  margin-bottom: 0.4rem;
  position: relative;
  background: var(--background-navbar);
}
.kagi img{
  width: 100%;
  background-size: cover;
  display: block;
}
.kagi p{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 0.50rem;
  font-weight: normal;
  color: #FFFFFF;
}
.footer{
  position: sticky;
  background: var(--background-navbar);
  height: 76px;
  font-size: 0.12rem;
  text-align: center;
}
@media screen and (max-width: 550px) {
/* 550pxまでの幅の場合に適用される */
html{
    /* 1rem = 50pxと再定義 */
    font-size: 50px;
  }
body {
  font-size: 0.28rem;   /* フォントサイズを少し小さく14pxに（50px * 0.28rem = 14px） */
  display: block;
  margin: 0;
  padding: 0;
  max-width: 100%;
  min-width: initial;
}
  .nav_item a {
    color: #fff;
    font-size: 0.36rem;
    text-decoration: none;
  }
  .content{
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: center;
  }
  .main {
    display: block;
    width: 100%;
    order: 1;
  }
  .kotoba{
    padding-top: 1.52rem;
    font-size: 0.64rem;
    text-align: center;
    color: #333;
  }
  .toi {
    width: 100%;
    padding: 0 0.8rem;
  }
  .waku{
    width: 100%;
  }
  .kagi p {
    font-size: 0.80rem;
    bottom: 80%;
    right: 20%;
    font-weight: normal;
    color: #FFFFFF;
  }
  .footer {
    order: 3;
    font-size: 0.2rem;
  }
  .sidebar {
    display: none;
  }
}
