@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;
}
.grey{
  color: #0C0C0C;
}
:root {
  --background-navbar: rgba(255, 255, 255, 0.98);
}

body {
  background: var(--background-navbar);
  font-size: 0.16rem; /* 1rem = 100pxと定義 */
  width: 100%;
  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;
  padding: 0px 20px;
  background: var(--background-navbar);
  position: sticky;/*固定する*/
  position: -webkit-sticky;/*Safari用*/
  display: flex;
  justify-content: flex-start;
  align-items: center;
  top: 0;
  width: 100%;
  height: 76px;
}
.header::before {
  background-color: #1E88A8; /* 花浅葱 */
  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;
  flex-direction: row;
  justify-content: center;
}
.sidebar{
  width: 350px;
  padding: 0px 40px;
  margin-top: 76px;
  vertical-align: top;
  background: var(--background-navbar);
}
.fsize{
  font-size: 32px;
  margin: 0 20px 20px 0;
  color: #333;
  list-style: none;
}
.gyou{
  margin-bottom: 12px
}
.column2{
  list-style: none;
  column-count:1;
}
.main{
  display: flex;
  margin: 0;
  flex-direction: column;
  background: #FFF5EE;
}
.key-name{
  z-index: 10;
  width: 100%;
  height: 4.5rem;
  position: relative;
  background: var(--background-navbar);
}
.key-name img{
  width: 100%;
  height: 4.5rem;
  object-fit: cover
  display: block;
}
.key-name p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 0.24rem; 
  font-weight: normal;
  color: #FFFFFF;
}
.thema{
  padding-left: 20px;
}
.kotoba{
  font-size: 0.32rem;
}
.main-parson{
  display: flex;
  flex-direction: row;
  margin: 1.0rem 0 1.0rem 0;
}
.main-work{
  min-width: 250px;
}
.main-work img {
  padding: 0 0 0.4rem 0.2rem;
}
.main-memo{
  width: auto;
  padding: 0 0.6rem 0 0.3rem;
  line-height: 1.75;
}
.works{
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}
.column{
  display: flex;
  flex-wrap: wrap;
  align-content:flex-start;
  background: var(--background-navbar);
  list-style: none;
}
.col{
  margin: 0px 20px 40px 0px;
  list-style: none;
}
.footer {
  position: sticky;
  background: var(--background-navbar);
  width: 100%;
  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: block;
    width: 100%;
  }
  .main{
    display: block;
    width: 100%;
  }
  .key-name{
  width: 100%;
  height: 4.5rem;
  }
  .key-name p {
    font-size: 0.32rem;
  }
  .kotoba{
    font-size: 0.52rem;
    color: #FFFFFF;
  }
  .main-parson {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  .main-work {
    padding: 0.8rem 0;
    justify-content: center;
    text-align: center;
    align-items: center;
    order: 1;
  }
  .main-memo {
    display: block;
    padding: 0.4rem 0.9rem;
    order: 2;
  }
  .works {
    flex-direction: column;
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .column{
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .footer {
    order: 3;
    font-size: 0.2rem;
  }
  .sidebar{
    display: none;  
  }
}
