﻿@charset "UTF-8";

/* 基本色 */
:root {
  --main-color: #5D9AB2;
  --accent-color: #0274d5;
  --dark-main-color: #2B5566;
  --text-bright-color: #fff;
  --icon-color: #fff;
  --icon-bk-color: #ddd;
  --gray-color: #ddd;
  --large-width: 1000px;
  --middle-width: 800px;
}

/* 基本設定: フォントサイズ */
@media (max-width: 599px) {
  :root{
    font-size: 14px;
    }
  }
  
@media (min-width: 600px) and (max-width: 799px) {
  :root {
    font-size: 16px;
    }
  }
  
@media (min-width: 800px) {
  :root {
    font-size: 18px;
    }
  }
  
body {font-size: 16px}
 
/* 基本設定: ページ全体 */
body{
  margin: 0;
  font-family: 'メイリオ',
    'Hiragino kaku Gothic Prp',
    sans-serif;
}

/* コンテンツページ: 記事 */
.post {
  max-width: 800px;
  max-width: var(--middle-width);
  margin-left:auto;
  margin-right:auto;
  padding: 30px 10px;
}

.post h1{
  padding-left: 0.5rem;
  border-left: solid 0.75rem #2B5566;
  border-left:
  solid 0.75rem var(--accent-color);
  font-size: 1.5rem;
}

.post p{
  font-size: 1rem;
  line-height: 2;
}

.post img {
  max-width: 100%;
}
/* ヘッダー */
header{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: rgba(255,255,255,0.5);
  }
  
.nohero header{
  position: static;
  border-bottom: solid 1px #ddd;
  border-bottom: solid 1px var(--gray-color);
  }
    
/* ヘッダーA: サイト名 */
.headA{
  display: inline-block;
  line-height: 70px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #5D9AB2;
  background-color: var(--main-color);
  color: #fff;
  color: var(--text-bright-color);
  font-family: 'Monteserrat', sans-serif;
  font-size: 24px;
  text-decoration: none;
  }
/* ヘッダーB: ナビゲーションメニュー */
.headB ul{
  margin: 0;
  padding: 0;
  list-style: none;
  }

.headB a{
  display: block;
  padding: 15px;
  color: inherit;
  font-size: 12px;
  text-decoration: none;
  }
  
.headB a:hover{
  background-color: rgba(0,0,0,0.3);
}

@media (min-width: 768px){
  header .container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1000px;
    max-width: var(--laege-width);
    margin-left: auto;
    margin-right: auto;
    }
    
  .headB ul{
    display: flex;
    }
}

/* ヘッダーC: トグルボタン */

@media(max-width: 767px){
  /* 小さい画面用の設定 */
  header .container-small{
  display: flex;
    align-items: center;
    justify-content: space-between;
    }

  .headC{
    margin-right: 10px;
    padding: 0;
    border: none;
    outline: none;
    background: none;
    font-size: 28px;
    opacity: 0.5;
    cursor: pointer;
    }

  .headC:hover{
    opacity: 0.3;
    }

  .headB{
    display: none;
    }
}

@media(min-width: 768px){
  /* 大きい画面用の設定 */
  .headC {
    display: none;
    }
  
  .headB{
    display: block !important;
    }
  }
/* フッタ－ */
footer{
  color: #fff;
  color: var(--text-bright-color);
  background-color: #2B5566;
  background-color: var(--dark-main-color);
  }
  
footer .container{
  padding: 40px 20px;
  }
  
@media(min-width: 768px) {
  footer .container{
    display: flex;
    flex-wrap: wrap;
    max-width: 1000px;
    max-width: var(--large-width);
    margin-left: auto;
    margin-right: auto;
    }
    
  .footA{
    flex: 0 0 100%;
  }
  
  .footB{
    flex: 0 0 60%;
  }
  
  .footC{
    flex: 0 0 100%;
  }
}
    
/* フッターA: サイト情報*/
.footA {
  margin-bottom: 30px;
  text-align: center;
  }
  
.footA h2{
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 30px;
 text-align: center;
  }
  
.footA p{
  margin-top: 0;
  margin-bottom: 0;
  font-size: 14px;
  text-align: center;
}

.footA a{
  color: inherit;
  text-decoration: none;
}

/* フッターC: コピーライト */
.footC{
  font-size: 12px;
  text-align: center;
  font-family: 'Monteserrat', sans-serif;
  }
   
/* フッターB: フッターメニュー*/
.footB div{
  margin-bottom: 20px;
  }
  
.footB h3{
  margin-top: 0;
  margin-bottom: 10px;
  border-bottom: solid 1px currentColor;
  font-size: 14px;
  }
  
.footB ul{
  margin: 0;
  padding: 0;
  list-style: none;
  }

.footB a{
  display: block;
  padding: 5px;
  color: inherit;
  font-size: 12px;
  text-decoration: none;
  }
  
.footB a:hover{
  background-color: rgba(0,0,0,0.3);
}

@media(min-width: 768px){
  .footB{
    display: flex;
    }
    
  .footB div{
    flex: 1;
    }
  .footB div:not(:first-child){
    margin-left: 40px;
  } 
