body {
  font-family: 'Noto Sans Japanese', sans-serif;
}

@media screen and (min-width: 1200px) {
  main {
    background-color: #f7f7f7;
    padding-bottom: 100px;
  }

  /* この記事に到達するまでのパス */
  .path {
    padding-top: 60px;
    margin-left: 70px;
    display: flex;
    width: 1000px;

  }

  .path a {
    text-decoration: none;
    color: #b3b3b3;
    margin-right: 10px;
    margin-left: 10px;
  }

  .main-all {

    width: 100%;
    display: flex;
    flex-direction: row;

  }

  /* ---------------- 記事の左側 ---------------- */
  .main-left {
    display: flex;
    flex-direction: column;
    margin: 20px 30px 30px 70px;

    width: 70%;
    border-radius: 20px;
    background-color: white;
  }

  /* 記事タイトル */
  .article-title {
    display: flex;
    justify-content: center;

    width: 100%;
    text-align: center;
  }

  /* 記事日時 */
  .article-date {
    display: flex;
    flex-direction: row;
  }

  .article-date p {
    padding-left: 30px;
    color: #9a9a9a;
  }

  /* 目次以下のメイン */
  .main-text {
    padding-left: 30px;
    padding-right: 30px;
  }

  /* 本文に入る前の序章 */
  .preface {
    width: 100%;
  }

  .mark {
    background: linear-gradient(transparent 80%, #8ecae6 0%);
  }

  .what-you-know {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    background-color: #cde7f4;
    border: #8ecae6 2px solid;
    margin-top: 50px;
    margin-bottom: 50px;
  }

  .what-you-know p {
    text-align: center;
    font-size: large;
    font-weight: bold;
  }

  .wyk-title {
    text-align: center;
    font-size: large;

  }

  .wyk-details {

    background-color: white;
  }

  .wyk-details ul {
    list-style-type: none;
  }

  .wyk-details li {
    position: relative;
    margin-bottom: 10px;
  }

  .wyk-details li::after {
    content: '';
    display: block;
    position: absolute;
    top: .35em;
    left: -1.5em;
    width: 12px;
    height: 7px;
    border-left: 3px solid #8ecae6;
    border-bottom: 3px solid #8ecae6;
    transform: rotate(-45deg);
  }


  .recommendation {
    width: 100%;

    display: flex;
    flex-direction: row;
    margin-top: 40px;
  }


  .recommendation img {
    width: 80px;
    height: 80px;
    border-radius: 90px;
    border: #8ecae6 1px solid;
  }

  .recommendation p {
    margin: 0px;
  }

  .profile {
    display: flex;
    flex-direction: column;
    text-align: center;
  }

  .recom-details {
    position: relative;
    display: flex;
    align-items: center;

    margin: 1.5em 0 1.5em 20px;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 16px;
    background: #e0edff;
    border-radius: 8px;
  }

  .recom-details:before {
    content: "";
    position: absolute;
    top: 8px;
    left: -30px;

    border: 15px solid transparent;
    border-right: 15px solid #e0edff;

  }

  .recom-details p {
    margin: 0px;
    padding: 0px;
  }

  /* 目次 */
  .table {
    display: flex;
    flex-direction: column;
    background-color: #f7f7f7;

    margin-bottom: 30px;
    padding-bottom: 30px;
    border: gray 1px solid;

  }

  .table a {
    text-decoration: none;
    padding-left: 30px;
  }

  .table-title {
    display: flex;
    width: 100%;
    justify-content: center;
  }

  /* その箇所のトピック説明 */
  .big-title {
    border-left: #8ecae6 5px solid;
    background-color: #f7f7f7;

    padding: 5px 0px;
  }

  .big-title h1 {
    margin: 0px;
    padding-left: 10px;
  }

  /* その段落の内容 */
  .content {
    margin-bottom: 60px;
  }

  .ad-content {
    width: 100%;
    display: flex;
    justify-content: center;

  }

  .ad-content a {
    width: 80%;
    display: flex;
    justify-content: center;
    border: black 0.5px solid;
  }

  .ad-content img {
    width: 100%;
  }



  span {
    font-weight: bold;
  }

  /* ---------------- 記事の右側 ---------------- */
  .main-right {

    display: flex;
    flex-direction: column;
    
    width: 30%;
    margin: 20px 70px 0px 0px;



  }

  .about-me{
    background-color: white;
    margin-bottom: 40px;
    text-align: center;
    border: black 2px solid;
    border-radius: 20px 20px 0px 0px;
  }
  .about-me h1{
    margin: 0px;
    margin-top: 20px;
  }
  .my-profile{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .my-profile h2{
    margin: 0px;
  }

  .my-profile img{
    width: 170px;
    height: 170px;
  }
  .my-details{
    padding-left: 30px;
    padding-right: 30px;
  }

  .pop-articles {

    width: 100%;
    background-color: white;
    border-radius: 20px 20px 0px 0px;
    border: black 2px solid;
    margin-bottom: 40px;
  }

  .pop-articles-title {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .pop-content {
    width: 100%;
    display: flex;
  }

  .pop-content img {
    width: 100%;
  }

  .category {
    width: 100%;

    display: flex;
    flex-direction: column;
    background-color: white;
    margin-top: 30px;
    border-radius: 20px 20px 0px 0px;


  }

  .category-title {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .cat-option {
    width: 100%;
    display: flex;
    justify-content: center;
    border-top: black 1px solid;
  }

  .cat-option a {
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;

    font-size: large;
    text-decoration: none;
    color: black;
  }

  .cat-option p {
    font-weight: bold;
  }


}


/* モバイル用 */
@media screen and (max-width: 1220px) {
  main {
    width: 100%;
    background-color: #f7f7f7;
    padding-bottom: 100px;
  }

  /* この記事に到達するまでのパス */
  .path {
    display: none;
  }

  .main-all {

    width: 100%;
    display: flex;
    flex-direction: column;
    padding-top: 60px;

  }

  /* ---------------- 記事の左側 ---------------- */
  .main-left {
    display: flex;
    flex-direction: column;

    width: 100%;
    border-radius: 20px;
    background-color: white;

  }

  /* 記事タイトル */
  .article-title {
    display: flex;
    justify-content: center;

    width: 100%;
    text-align: center;
    font-size: 15px;
  }

  .article-title h1 {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* 記事日時 */
  .article-date {
    display: flex;
    flex-direction: row;
  }

  .article-date p {
    padding-left: 30px;
    color: #9a9a9a;
  }

  /* 目次以下のメイン */
  .main-text {
    padding-left: 30px;
    padding-right: 30px;
  }

  /* 本文に入る前の序章 */
  .preface {
    width: 100%;
  }

  .mark {
    background: linear-gradient(transparent 80%, #8ecae6 0%);
  }

  .what-you-know {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    background-color: #cde7f4;
    border: #8ecae6 2px solid;
  }

  .what-you-know p {
    text-align: center;
    font-size: large;
    font-weight: bold;
  }

  .wyk-title {
    text-align: center;
    font-size: large;

  }

  .wyk-details {

    background-color: white;
  }

  .wyk-details ul {
    list-style-type: none;
  }

  .wyk-details li {
    position: relative;
    margin-bottom: 10px;
  }

  .wyk-details li::after {
    content: '';
    display: block;
    position: absolute;
    top: .35em;
    left: -1.5em;
    width: 12px;
    height: 7px;
    border-left: 3px solid #8ecae6;
    border-bottom: 3px solid #8ecae6;
    transform: rotate(-45deg);
  }


  .recommendation {
    width: 100%;

    display: flex;
    flex-direction: row;
    margin-top: 40px;
  }


  .recommendation img {
    width: 80px;
    height: 80px;
    border-radius: 90px;
    border: #8ecae6 1px solid;
  }

  .recommendation p {
    margin: 0px;
  }

  .profile {
    display: flex;
    flex-direction: column;
    text-align: center;
  }

  .recom-details {
    position: relative;
    display: flex;
    align-items: center;

    margin: 1.5em 0 1.5em 20px;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 16px;
    background: #e0edff;
    border-radius: 8px;
  }

  .recom-details:before {
    content: "";
    position: absolute;
    top: 8px;
    left: -30px;

    border: 15px solid transparent;
    border-right: 15px solid #e0edff;

  }

  .recom-details p {
    margin: 0px;
    padding: 0px;
  }


  /* 目次 */
  .table {
    display: flex;
    flex-direction: column;
    background-color: #f7f7f7;

    margin-bottom: 30px;
    padding-bottom: 30px;
    border: gray 1px solid;

  }

  .table a {
    text-decoration: none;
    padding-left: 8px;
  }

  .table-title {
    display: flex;
    width: 100%;
    justify-content: center;
  }

  /* その箇所のトピック説明 */
  .big-title {
    border-left: #8ecae6 5px solid;
    background-color: #f7f7f7;
    padding: 5px 0px;
  }

  .big-title h1 {
    margin: 0px;
    padding-left: 10px;
    font-size: 20px;
  }

  /* その段落の内容 */
  .content {
    margin-bottom: 60px;
  }

  .ad-content {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .ad-content a {
    width: 70%;
    display: flex;
    justify-content: center;
    border: black 0.5px solid;
  }

  .ad-content img {
    width: 100%;
  }

  pre {
    margin: 0px;
    width: 100%;
    direction: rtl;

  }

  code {
    text-align: left;
    direction: ltr;
  }

  span {
    font-weight: bold;

  }

  /* ---------------- 記事の右側 ---------------- */
  .main-right {

    display: flex;
    flex-direction: column;

    width: 100%;
    

   

  }

  .about-me{
    background-color: white;
    margin-top: 40px;
    margin-bottom: 40px;
    text-align: center;
    
    border-radius: 20px 20px 0px 0px;
  }
  .about-me h1{
    margin: 0px;
    margin-top: 20px;
  }
  .my-profile{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .my-profile h2{
    margin: 0px;
  }

  .my-profile img{
    width: 170px;
    height: 170px;
  }
  .my-details{
    padding-left: 30px;
    padding-right: 30px;
  }

  .pop-articles {
    
    width: 100%;
    background-color: white;
    border-radius: 20px 20px 0px 0px;
    
    margin-bottom: 40px;
  }

  .pop-articles-title {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .pop-content {
    width: 100%;
    display: flex;
  }

  .pop-content img {
    width: 100%;
  }

  .category {
    width: 100%;

    display: flex;
    flex-direction: column;
    background-color: white;
    margin-top: 30px;
    border-radius: 20px 20px 0px 0px;


  }

  .category-title {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .cat-option {
    width: 100%;
    display: flex;
    justify-content: center;
    
  }

  .cat-option a {
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;

    font-size: large;
    text-decoration: none;
    color: black;
  }

  .cat-option p {
    font-weight: bold;
  }

}