@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;
  <!--line-height: 1.5;-->
}

.red{
  color:#F06C64;
}
: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;
}
.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-right: 20px;
  flex-direction: column;
}
.key-name{
  z-index: 10;
  width: 100%;
  height: 450px;
  position: relative;
  background: var(--background-navbar);
}
.key-name img{
  width: 100%;
  height: 450px;
  object-fit: cover;
  display: block;
}
.key-name p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 0.50rem;
  color: #FFFFFF;
}
.main-parson{
  display: flex;
  flex-direction: row;
  margin: 100px 0px 100px 0px;
}
.main-work{
  min-width: 250px;
  padding: 20px 20px 30px 30px;
}
.read {
    max-width: 350px;
    margin-right: 0.20rem;
    margin-left: 0.20rem;
    position: relative;
}

.read label {
    text-align: center;
    width: 100%;
    height: 450px;
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: 1;
    cursor: pointer;
}
.read label:after {
    content: ' Read More';
    z-index: 2;
    width: 100%;
    max-width: 150px;
    padding: 10px;
    color: #ffffff;
    background-color: #72636E;
    border-radius: 30px;
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translate(-50%, 0);
}
.read input:checked + label {
  height: 0px;
}
.read input:checked + label:after {
  content: ' Close';
}

.read input {
  display: none;
}

.read__content {
  overflow: hidden;
  height: 260px;
}

.read input:checked ~ .read__content {
  height: auto;
}
.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 20px;
  width: 300px;
  list-style: none;
}
.sarani_ichi {
  display: flex;
  flex-wrap: wrap; /* 画像が横幅を超えたときに折り返す */
  justify-content: flex-start; /* 画像を水平方向に中央揃え */
  padding-right: 25%;
}
.sarani_ichi img {
  width: 300px; 
  margin: 10px; /* 画像間のマージン */
}
.sarani_ni {
  display: flex;
  flex-wrap: wrap; /* 画像が横幅を超えたときに折り返す */
  justify-content: flex-start; /* 画像を水平方向に中央揃え */
  padding-right: 55%;
}
.sarani_ni img {
  width: 300px;
  margin: 10px; /* 画像間のマージン */
}
.discri{
  width: 6rem;
  margin: 0.76rem 0 0.76rem 0;
}
.dsize{
  font-size: 0.24rem;
  color: #333;
  list-style: none;
}
.tyui{
  font-size: 0.16rem;
  margin: 0 0.2rem !important;
  color: #333;
  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: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
  .nav_item a {
    color: #fff;
    font-size: 0.36rem;
    text-decoration: none;
  }
  .main{
    display: flex;
    width: 100%;
    margin: 0;
    flex-direction: column;
  }
  .main-parson {
    flex-direction: column;
  }
  .key-name {
    order: 0;
  }
  .key-name p {
    font-size: 0.80rem;
  }
  .main-work {
    margin: auto;
    order: 1;
  }
  .read {
    padding: 0rem 0.6rem;
    order: 2;
  }
  .works {
    /*order: 3;*/
    flex-direction: column;
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .column{
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .sarani_ichi{
    order: 3;
    flex-direction: column;
    width: 100% !important;
    text-align: center;
    justify-content: center;
    padding: 0 !important;
  }  
  .sarani_ni{
    order: 4;
    flex-direction: column;
    width: 100% !important;
    text-align: center;
    justify-content: center;
    padding: 0 !important;
  }
  .discri{
    order: 5;
    margin: 0 0 0.4rem 0.4rem;
  }
  .dsize{
    font-size: 0.32rem !important;
  }
  .tyui{
    margin-left: 0.8rem;
    font-size: 0.28rem !important;
  }
  .footer {
    order: 7;
    font-size: 0.2rem;
  }
  .sidebar{
    display:none;  
  }
