@charset "UTF-8";
body {
  font-family:
       "ヒラギノ角ゴ Pro W3", "sans-serif";
  background: #e0d6e0;
  color: #000080;

  /* line-height: inherit; */
}
body * {
  box-sizing: border-box;
}
article,
aside,
main,
section {
  outline: 0;
  vertical-align: baseline;
}
/* マージン中央寄せ*/
header,
main,
nav,
footer,
section,
#wrapper,
.ma0at {
  margin: 0 auto;
}

ul {
  list-style-type: none;
}
header,
main {
  width: 100%;
}
/* section{
  margin-bottom: 2rem;
} */

img {
  width: 100%;
  max-width: 100%;
}

a {
  text-decoration: none;
}

/* button {
  background-color: transparent;
} */
section:first-child {
  padding-top: 1.5rem;
}
/* 段落 */
section p {
  width: 100%;
  line-height: 1.6;
  /* padding-bottom: 1em; */
  padding: 1em 0;
}
section p:last-child p {
  padding-bottom: 0;
}
/*ナビ*/
nav,
ul#nav {
  width: 100%;
}
/* nav ul#nav */
nav ul#nav {
  list-style: none;
  /* 背景色設定重複 */
  background-color: #5551a9;
}
/* nav ul li */
nav ul li {
  display: block;
  width: 100%;
  background-color: #5151a9;
  text-align: center;
  cursor: pointer;
  transition: all 0.4s;
}

nav ul li a {
  display: block;
  width: 100%;
  padding: 0.8rem 1rem;
  color: inherit;
  font-weight: 700;
}

nav ul li:hover {
  background: #6a6ac0;
}
/* ナビここまで */


/* 見出しタグ関連--- */
h1 {
  width: 100%;
}
h2 {
  margin: 0 0 0.2rem 0;
  padding: 0.2rem 0.2rem 0.2rem 2rem;
  font-size: 1.4rem;
  background: #5151a9;
  /* background: linear-gradient(。。。); */
  
  }
h2 span{
  background-color: #5151a9;
}
.blog p > span{
  text-decoration:underline;
}
.blog p > span a:hover{
  color: #a179fd;
}
.blog h3{
  text-align: center;
  font-size: 2rem;
}
h4{
  padding: 0.8rem 0.8rem;
  line-height: 1.6;
}
/* 見出しタグ関連ここまで--- */

/* wrapper---- */
#wrapper {
  width: 100%;
  max-width: 699px;
  min-width: 378px;
  position: relative;
  background-color: #ebd2e8;
}
/* sticky等つけるなら下記 */
/* #wrapper {
  position: relative;
} */
/* wrapperここまで--- */
/* header */
.headerdiv{
  padding-bottom: 1.4rem;
}
.headerimg {
  width: 100%;
  }

/* article */
article div {
  width: 100%;
  /* padding: 0 1.6rem; */
  /* border: 1px solid #ccc; */
}


/*aside*/
aside > div {
  /* width: min(100%, 1500px); */
  width: 100%;
  padding: 1rem 0;
  /* border: 1px solid #5151a9; */
}
aside > div > div{
  margin-bottom: 1rem;
}
aside > div > div ul{
  padding: 0 1rem;
}
aside > div > div ul li{
  line-height: 1.8;
  list-style-type:square;
  margin-left: 1.4rem;
}
/* aside div dl{
  width: 100%;
}
aside div dl dt{
  width: 100%;
  padding: 0.5rem;
}
aside div dl dd{
  width: 100%;
  padding: 0.5rem;
} */

/* home button--- */
aside div p:last-child{
  padding: 2rem 1rem;
  text-align: center;
}
aside div p:last-child a{
  background-color: rgb(196, 155, 201);
}
/* -------------- */
/* "footer div" はファイル変更時を考慮してクラス名を付与*/
.footerdiv {
  background-color: #5551a9;
  /* #383888 */
  padding: 0.5rem 0;
  text-align: center;
  color: #f1efef;
}


 
/* 部品 */
.plus_flex {
  display: flex;
}
.c_red {
  color: rgb(255, 0, 0);
}
section > div > p {
  width: 100%;
  padding: 1rem;
  text-indent: 1em;
}
section > div > p em{
  font-style: normal;
  font-weight: bold;
  background-color: #ebc0e6;
}
strong{
  font-size: 2em;
}

/* --- */
#works ul li {
  padding: 0.5em;
}
#works ul li {
  /* display: block */
  line-height: 1.4em;
}
#works ul li a {
  color: #000080;
  text-decoration: underline;
}
#works ul li a:hover {
  color: #f68607;
  text-decoration: none;
}
#works ul li a:visited {
  color: #603ac8;
  text-decoration: none;
}

.blog > div{
  width: 100%;
  padding:1rem 2rem;
}
.blog > div.imgdiv{
  /* padding: 1rem 2rem; */
  width: 90%;
  margin: 0 auto;
}
.blog > div > h5{
  margin-bottom: 1rem;
}
/* table */
.blog > div > table{
  line-height: 1.8;
}

.blog > div > table th{
  text-align: left;
}
.blog > div > table td:last-child{
  /*text-indent: 1em;*/
  padding:0.5rem;
}
  table.brdr th,table.brdr td{
  border:#333 solid 1px;
}
table.brdr th{
  padding-left:0.5rem;
}
table.thwidth3 th{
  min-width:3.5rem;
}
/* affi用 */
.affi{
    border:#ebc0e6 solid 1px;
    padding-bottom: 1rem;
}
.affi > div{
  width: 90%;
  padding: 1rem;
  margin: 0 auto;
  border:#6a6ac0 solid 1px;
}
.affibox{
  width: 120px;
  margin: 0 auto;
text-align:center;
}
/* sticky----------*/
/* .fixed {
  position: fixed;
  z-index: 999;
  top: 0;
} */

/* mobile */
@media (min-width: 700px) {
  #wrapper {
    max-width: 1500px;
    min-width: 500px;
    /* sticky用↓ */
    /* padding-top: 3rem; */
  }

  nav ul#nav {
    max-width: 1500px;
    min-width: 500px;
    display: flex;
    justify-content: space-around;
    list-style: none;
  }
  
  nav ul li {
    width: 25%;
  }
  .blog h3{
    margin: 0.8rem 0 0 0;
    font-size: 2.5rem;
}
  
  /* aside div dl dt{
    float: left;
  } */
  /* aside div dl::after {
  display: block;
  content: "";
  clear: both;
  font-size: 0;
} */
/* aside div dl dt{
  width: 30%;
}
aside div dl dd{
  width: 70%;
} */
}
@media (min-width: 430px) {
  .affi > div{
    display: flex;
    justify-content: space-between;
  }
  .affibox{
    margin: auto 0;
  }
}