@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,input[type="submit"]:hover {
  opacity:0.7;
  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:2px;
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:21px 24px 0 0;
}

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

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

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

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

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:24px;
}

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

single

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

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

#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:8px;
}

#hdr-article p, #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.7;
}

#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:40px;
  margin-top:40px;
  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;
}


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

fullwid / col-1

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

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

.fullwid{
  width:720px;
  margin:0 auto;
}
  
.fullwid h1,.col-1 h1{
  font-size:3.0rem;
  display:block;
  margin-bottom:40px;
  font-weight: bold;
  text
  }

.fullwid p,.col-1 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{
  cursor:pointer;
}
  

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

footer

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

footer{
  font-size:1.4rem;
  color:#555;
  padding:48px 2%;
 margin-top:48px;
 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{
margin:16px 4% 40px 4%;
}

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

/* Menu */

.menu-wrapper {
  position: relative;
}

.menu-icon {
  width: 20px;
  height: 20px;
  position: fixed;
  top: 18px;
  right: 4%;
  cursor: pointer;
  z-index: 3;
  display: inline-block;
}

.menu-icon span {
  display: block;
  height: 2px;
  margin: 6px 0;
  background: #222;
  border-radius: 2px;
  transition: 0.4s;
}


#menu-toggle:checked + .menu-icon span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
#menu-toggle:checked + .menu-icon span:nth-child(2) {
  opacity: 0;
}
#menu-toggle:checked + .menu-icon span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  z-index: 1;
}

#menu-toggle:checked ~ .overlay {
  opacity: 1;
  pointer-events: auto;
}

.menu {
  position: fixed;
  top: 0;
  right: -70%; 
  width: 70%;
  height: 100%;
  background: #fff;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  transition: right 0.4s ease;
  z-index: 2;
}

#menu-toggle:checked ~ .menu {
  right: 0;
}

.menu ul {
  list-style: none;
  margin-top:72px;
}

.menu a {
  text-decoration: none;
  color: #333;
  font-size: 1.3rem;
  transition: color 0.3s;
  padding:0 4%;
  margin-bottom:24px;
  padding-bottom:24px;
  border-bottom:1px solid #ccc;
  display:block;
}

header form{
  margin:0 0 0 4%;
  width:92%;
  display:flex;
}

header form input[type="text"]{
  border:1px solid #ccc;
  background:none;
  width:80%;
  height:36px;
  box-sizing:border-box;
  padding:8px;
    border-radius:4px;
  margin-right:2%;
}

header form input[type="submit"]{
  border:0;
background:#333;
  color:#fff;
  border-radius:4px;
  width:;
  height:36px;
  font-size:1.2rem;
  padding:0 12px;
}
  


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

wrapper

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

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

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

article

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


.wrapper article h2{
  font-size:1.6rem;
  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.6rem;
  margin-bottom:8px;
  font-weight:bold;
}

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

article .archive p{
  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:32px;
  padding-top:32px;
  border-top:1px solid #ccc;
}

aside img{
  border-radius:8px;
}  

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

aside h3{
  font-size:1.6rem;
  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.6rem;
  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:32px;
}

#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 24px 0;
}

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

#hdr-article p{
  margin-bottom:8px;
  font-size:1.1rem;
}

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

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

#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:32px;
  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;
  padding-top:32px;
  border-top:1px solid #ccc;
}

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

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


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

fullwid / col-1

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

.fullwid h1,.col-1 h1{
  font-size:2.2rem;
  display:block;
  margin-bottom:24px;
  font-weight:bold;
}

.fullwid p,.col-1 p{
  line-height:1.6;
} 
 
/*====================================

contact

=====================================*/
  
.wpcf7 label{
  margin-bottom:24px;
  display:block;
}

.wpcf7 label .optional-select{
  font-size:1.1rem;
  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:8px;
  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:100%;
  font-size:1.6rem;
  margin:0 auto;
  display:block;
} 
  
input[type="submit"]:hover{
   background:url(../img/ico-search.svg) no-repeat #954B06 center; 
    background-size:18px 18px;
    text-decoration: none;
  -webkit-transition: all .4s;
  transition: all .4s;  
  cursor:pointer;
}

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

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;
}

}