@charset "UTF-8";

/*====================================

common base

=====================================*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/*  HTML5 display-role reset for older browsers 
*/
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
html {
  font-size: 62.5%;
}
body {
  font-size: 1.6rem;
  line-height: 1;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  background: #fff;
  color: #222;
  overflow-x: hidden;
      letter-spacing:1px;
  font-feature-settings:"palt";
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
ul, dl, ol {
  list-style-type: none;
  list-style-position: outside;
}
a:link {
  color: #222;
  text-decoration: none;
}
a:visited {
  color: #222;
  text-decoration: none;
}
a:hover {
  color: #954B06;
  text-decoration: none;
  -webkit-transition: all .4s;
  transition: all .4s;   
}

a:active {
  text-decoration: none;
}

img{
  width:100%;
  height:auto;
}

:focus {
	outline: none;
}

/* -------------------------- for PC --------------------------*/

@media screen and (min-width:751px) {

/*====================================

header

=====================================*/

header{
    padding:32px 2% 48px 2%;
    display:flex;
    justify-content:space-between;
}

header #logo span{
  position:relative;
  top:5px;
font-size:1.3rem;  
}

header nav{
  font-size:1.5rem;
  font-weight:bold;
}

header nav ul{
   justify-content: center;
  display:flex;
}

header nav li:not(:last-child){
  margin:16px 24px 0 0;
}

header form{
  margin:6px 0 0 24px;
  border:1px solid #ccc;
  width:208px;
  height:32px;
  border-radius:4px;
  display:flex;
}

header form input[type="text"]{
  border:0;
  width:178px;
  height:32px;
  box-sizing:border-box;
  padding:8px;
  }

header form input[type="submit"]{
  border:0;
  background:url(../img/ico-search.svg) no-repeat #222 center;
  background-size:18px 18px;
  text-indent:-999em;
  color:#fff;
  border-radius:4px;
  width:28px;
  height:28px;
   margin-top:2px; 
  font-size:1.2rem;
}

header form input[type="submit"]:hover{
  cursor:pointer;
}
  

/*====================================

wrapper

=====================================*/

.wrapper{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
}

/*====================================

main

=====================================*/  

#main{
  width:1200px;
  margin:0 auto 48px auto;
  display:flex;
  justify-content:space-between;
}

#main a{
  width:360px;
  display:block;
}

#main a img{
  border-radius:4px;
  margin-bottom:8px;
}  

#main dt{
  font-size:2.0rem;
  font-weight:bold;
  margin-bottom:16px;
}  

#main dd{
  color:#555;
  font-size:1.4rem;
}
  
 /*====================================

archive

=====================================*/

.wrapper article{
  width:100%;
}

.wrapper article h2{
  font-size:2.4rem;
  font-weight:bold;
  margin-bottom:24px;
}

.wrapper .archive{
  display:flex;
  justify-content:left;
  align-items:center;
}

.wrapper article section .archive:not(:last-of-type){
    margin-bottom:40px;
}

article .archive p{
  width:208px;
  min-width:208px;
  line-height:0;
}

article .archive p img{
    border-radius:8px;
}

article .archive dl{
  max-width:576px;
  margin-left:16px;
}

article .archive dt{
  font-weight:bold;
  line-height:1.3;
  font-size:2.0rem;
  margin-bottom:16px;
}

article .archive dd{
  font-size:1.4rem;
  color:#555;
}

article .archive dd.date{
  margin-bottom:16px;
}

.tags li{
  display:inline-block;
  margin-right:8px;
}
  
.tags a:before{
  content:"#";
}

.tags a{
  color:#555;
}

#hdr-archive{
  margin-bottom:32px;
}  


#hdr-archive h2{
  font-size:1.6rem;
}
  
#hdr-archive h2 span{
  font-size:2.4rem;
}  

#hdr-archive .total-number span{
  font-weight:bold;
}
  
/*====================================

aside

=====================================*/

aside{
  width:320px;
  min-width:320px;
  margin-left:80px;
}

aside nav,aside section{
  margin-bottom:48px;
}

aside h3{
  font-size:2.4rem;
  font-weight:bold;
  margin-bottom:24px;
}

aside .archive{
  margin-bottom:16px !important;
    font-size:1.4rem;
    line-height:1.4;  
}

aside .archive a img{
  width:96px;
  height:64px;
  border:1px solid #ccc;
} 

.ranking .archive{
  position:relative;
  overflow:visible;
}

aside .ranking ul li:before{
  content:"1";
  display:block;
  position:absolute;
  width:24px;
  height:24px;
  color:#fff;
  font-size:1.2rem;
  box-sizing:border-box;
  border-radius:50%;
  text-align:center;
  padding-top:4px;
  left:-10px;
  top:-10px;
}  

aside .ranking ul li:nth-child(1):before{
  background:#BE9B1D;
}

aside .ranking ul li:nth-child(2):before{
  content:"2";    
  background:#777;
}

aside .ranking ul li:nth-child(3):before{
  content:"3";  
  background:#AE4949;
}

aside .ranking ul li:nth-child(4):before{
  content:"4"; 
  background:#066093;
}  

aside .ranking ul li:nth-child(5):before{
  content:"5"; 
  background:#57904E;
}
  
  
aside .banner li{
  line-height:0;
}

aside .banner li:not(:last-child){
    margin-bottom:20px;
}

/*====================================

single

=====================================*/

#topicpath{
  font-size:0;
  margin-bottom:30px;
}

#topicpath li{
  display:inline-block;
  font-size:1.2rem;
}

#topicpath li:not(:last-child):after{
content:">";
  margin:0 8px;
  font-size:1rem;
}


#hdr-article{
  border-top:1px solid #ccc;
  border-bottom:1px solid #ccc;
  padding:24px 0;
  margin-bottom:40px;
}

#hdr-article h1{
  font-size:2.6rem;
  font-weight:bold;
  line-height:1.4;
  margin-bottom:20px;
}

#hdr-article .date, #hdr-article .tags, #hdr-article .tags li{
  display:inline-block;
  vertical-align:middle;
  color:#555;
}

#hdr-article .tags{
  margin-left:24px;
}

#hdr-article .tags li{
  margin-right:8px;
}

#content h2{
  font-size:2rem;
  background:#f4f4f4;
  padding:24px;
  border-radius:8px;
}

#content p{
  line-height:1.6;
}

#toc_container{
  background:none !important;
  padding:24px !important;
  width:100% !important;
  border:1px solid #ccc !important;
  border-radius:8px;
  margin-bottom:32px !important;
}

#toc_container .toc_title{
  font-size:1.6rem;
  text-align:left !important;
}  

#toc_container li{
  font-size:1.6rem;
  line-height:1.4;
  margin-left:1em !important;
}  

#share{
  display:flex;
  align-items:center;
  padding-top:32px;
  margin-top:32px;
  border-top:1px solid #ccc;
}

.fb-share-button{
  margin-right:16px;
}

.twitter-share-button{
  margin-right:16px;
} 

.pocket-btn{
  width:86px; 
  margin:6px 16px 0 0;
}
  

#related{
  margin-top:56px;
}

#related h3{
  margin-bottom:16px;
}


/*====================================

fullcol

=====================================*/

.wrapper:has(.fullcol){
  display:block;
}

.fullcol{
  width:720px;
  margin:0 auto;
}
  
.fullcol h1{
  font-size:3.0rem;
  display:block;
  margin-bottom:40px;
  font-weight: bold;
  }

.fullcol p{
  line-height:1.6;
} 

  
/*====================================

contact

=====================================*/

.wpcf7{
  width:720px;
  margin:0 auto;
}
  
.wpcf7 label{
  margin-bottom:32px;
  display:block;
}

.wpcf7 label .optional-select{
  font-size:1.2rem;
  margin-left:8px;
  border:1px solid #ccc;
  padding:4px;
  border-radius:4px;
}

.wpcf7 label .required{
  border-color:#E44141;
  color:#E44141;
}
  
.wpcf7 label input,.wpcf7 label textarea{
  display:block;
  border:1px solid #ccc;
  padding:16px;
  font-size:1.6rem;
  width:100%;
  margin-top:8px;
  border-radius:4px;
  box-sizing:border-box;
    line-height:1.6;
}

.wpcf7 input[type="submit"] {
  background:#333;
  color:#fff;
  border-radius:4px;
  border:0;
  padding:16px;
  width:320px;
  font-size:1.6rem;
  margin:0 auto;
  display:block;
} 
  
input[type="submit"]:hover{
  background:#954B06;
    text-decoration: none;
  -webkit-transition: all .4s;
  transition: all .4s;  
  cursor:pointer;
}
  

/*====================================

footer

=====================================*/

footer{
  font-size:1.4rem;
  color:#555;
  padding:56px 2%;
 margin-top:56px;
 border-top:1px solid #ccc;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

footer ul{
  display:flex;
  align-items:center;
}

footer li{
  margin-left:16px;
  line-height:0;
}

}

/* -------------------------- for SP --------------------------*/

@media screen and (max-width:750px) {


/*====================================

common

=====================================*/

.spnone{
  display:none;
}

article{
  overflow:hidden;
}  

/*====================================

header

=====================================*/


header #logo{
text-align:center;
margin:24px 0;
}

header #logo span{
  margin:3px 0 0 10px;
  font-size:1.1rem;
}

header nav{
  font-size:1.2rem;
  font-weight:bold;
  border-top:1px solid #ccc;
  border-bottom:1px solid #ccc;
  margin-bottom:24px;
  padding:0 16px;
}

header nav ul{
  white-space: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

header nav li{
    display: table-cell;
}

header nav li a{
  margin-right:12px;  
  padding:16px 0 17px 0 ;
  display:block;
  text-align:center;
}

header nav li:not(:nth-of-type(4)) a:after{
  content:"";
  border-right:1px solid #ccc;
  margin-left:14px;
  height:12px;
  display:inline-block;
  position:relative;
  top:2px; 
}

header form{
  margin:0 10px 0 10px;
  background:#f7f7f7;
  width:140px;
  height:22px;
  border-radius:4px;
  display:flex;
}

header form input[type="text"]{
  border:0;
  width:110px;
  height:22px;
  box-sizing:border-box;
  padding:3px 8px;
  background:none;
  font-size:1.1rem;
  text-indent:-999em;
  height:12px;
  background:url(../img/ico-search.png)no-repeat;
  background-size:contain;
  border:0;
  margin:4px 0 0 10px;  
}

header form input[type="submit"]{
  border:0;
  background:#222;
  color:#fff;
  border-radius:4px;
  width:40px;
  height:20px;
   margin-top:1px; 
  font-size:1.1rem;
}


/*====================================

wrapper

=====================================*/

.wrapper{
  max-width:92%;
  margin:0 auto;
}

/*====================================

article

=====================================*/


.wrapper article h2{
  font-size:1.8rem;
  font-weight:bold;
  margin-bottom:16px;
}

.wrapper .archive{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:16px;
  padding-bottom:16px;
  width:100%;
}

.wrapper section .archive:not(:last-of-type){
  border-bottom:1px solid #ccc;
}

.archive p:first-of-type{
  line-height:0;
  width:28%;
}

article .archive dl{
  width:68%;
}

article .archive dt{
  font-weight:normal;
  line-height:1.3;
  font-size:1.4rem;
  margin-bottom:8px;
  font-weight:bold;
}

article .archive dd{
  font-size:1.2rem;
  color:#555;
}

article .archive .date{
  margin-bottom:8px;
}

.tags a:before{
  content:"#";
}

.tags a{
  margin-right:8px;
}

#hdr-archive{
  margin-bottom:24px;
}
  
#hdr-archive h2{
  font-size:1.4rem;
  margin-bottom:16px;
}
  
#hdr-archive h2 span{
  font-size:1.8rem;
}  

#hdr-archive .total-number{
  font-size:1.2rem;
}  

#hdr-archive .total-number span{
  font-weight:bold;
  font-size:1.4rem;
}
  

/*====================================

aside

=====================================*/

aside{
    letter-spacing:0.5px;
  margin-top:40px;
}

aside img{
  border-radius:8px;
}  

aside nav,aside section{
  margin-bottom:32px;
}

aside h3{
  font-size:1.8rem;
  font-weight:bold;
  margin-bottom:16px;
}
  
aside .archive a:nth-of-type(2){
  width:68%;
  font-weight:normal;
  line-height:1.3;
  font-size:1.4rem;
  font-weight:bold;
}

aside .ranking ul li{
    position:relative;
  overflow:visible;
}  

aside .ranking ul li:before{
  content:"1";
  display:block;
  position:absolute;
  width:20px;
  height:20px;
  color:#fff;
  font-size:1.2rem;
  box-sizing:border-box;
  border-radius:50%;
  text-align:center;
  padding-top:4px;
  left:-5px;
  top:-5px;
}  

aside .ranking ul li:nth-child(1):before{
  background:#BE9B1D;
}

aside .ranking ul li:nth-child(2):before{
  content:"2";    
  background:#777;
}

aside .ranking ul li:nth-child(3):before{
  content:"3";  
  background:#AE4949;
}

aside .ranking ul li:nth-child(4):before{
  content:"4"; 
  background:#066093;
}  

aside .ranking ul li:nth-child(5):before{
  content:"5"; 
  background:#57904E;
}

aside .ranking a:first-child{
  width:28%;
}  
  
aside .banner li{
  width:80%;
  line-height:0;
  margin:0 auto;
}

aside .banner li:not(:last-child){
  margin-bottom:16px;
}


/*====================================

single

=====================================*/

#topicpath{
  margin-bottom:24px;
}

#topicpath li{
  display:inline-block;
  font-size:1rem;
}

#topicpath li:not(:last-child):after{
content:">";
  margin:0 0 0 4px;
  font-size:1rem;
}


#hdr-article{
  border-top:1px solid #ccc;
  border-bottom:1px solid #ccc;
  padding:16px 0;
  margin:0 0 32px 0;
}

#hdr-article h1{
  font-size:2.2rem;
  font-weight:bold;
  line-height:1.3;
  margin-bottom:10px;
}

#hdr-article .date{
  margin-bottom:10px;
  font-size:1.1rem;
}

#hdr-article .tags li{
  display:inline-block;
  font-size:1.1rem;
}

#content h2{
  font-size:1.8rem;
  line-height:1.4;
  background:#f4f4f4;
  padding:16px;
  border-radius:6px;
}

#content p{
  line-height:1.9;
  letter-spacing:1px;
}

#toc_container{
  background:none !important;
  padding:16px !important;
  width:100% !important;
  border:1px solid #ccc !important;
  border-radius:8px;
  margin-bottom:32px !important;
  box-sizing:border-box;
}

#toc_container .toc_title{
  font-size:1.6rem;
  text-align:left !important;
}  

#toc_container .toc_list{
  margin-top:8px !important;
}
  
#toc_container li{
  font-size:1.4rem;
  line-height:1.4;
  margin-left:1em !important;
}    

#share{
  display:flex;
  align-items:center;
  margin-top:16px;
  background:#f4f4f4;
  padding:16px;
flex-wrap: wrap;
}

.fb-share-button{
  margin-right:16px;
}

.twitter-share-button{
  margin-right:16px;
} 

.pocket-btn{
  width:86px; 
  margin:6px 16px 0 0;
}

  .hatena-button{
    margin-top:8px;
  }

  #related{
  margin-top:32px;
}

#related h3{
  font-size:1.8rem;
  margin-bottom:16px;
}

#content img{
    border-radius:8px;
}  


  

 /*====================================

fullcol

=====================================*/  

.fullcol h1{
  font-size:2.0rem;
  display:block;
  margin-bottom:24px;
}

.fullcol p{
  line-height:1.6;
} 



/*====================================

footer

=====================================*/

footer{
  text-align:center;
  font-size:1.2rem;
  padding:32px 0;
 margin-top:32px;
 border-top:1px solid #ccc;
  display:flex;
flex-direction: column-reverse;  
}

footer ul{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
}

footer li{
  margin:0 8px;
}

}