@charset "UTF-8";

.header .navi{
	display: flex;
}
.header .navi a{
	color: black;
	line-height: 20px;
}
.header .navi .left{
	width: 50%;
	text-align: left;
	font-size: 12px;
}
.header .navi .right{
	width: 50%;
	font-size: 12px;
	position: relative;
} 
.header .navi .left .insta-icon{
	width: 54px;
    height: auto;
    padding: 10px 9px 9px 9px;
    display: block;
    background: #FFF;
    border-radius: 10px;
}
.header .navi .left .insta-icon img{
    width: 100%;
	height: auto;
}

  @keyframes bugfix {
	from {
	  padding: 0;
	}
	to {
	  padding: 0;
	}
  }
  @-webkit-keyframes bugfix {
	from {
	  padding: 0;
	}
	to {
	  padding: 0;
	}
  }
  #overlay-button {
    position: absolute;
    right: 0px;
    top: -2px;
    padding: 20px 10px 10px 10px;
    z-index: 5;
    cursor: pointer;
    user-select: none;
    background: #fff;
    border-radius: 10px;
  }
  #overlay-button span {
	height: 4px;
	width: 25px;
	border-radius: 2px;
	background-color: #000;
	position: relative;
	display: block;
	transition: all .2s ease-in-out;
  }
  #overlay-button span:before {
	top: -9px;
	left: 0px;
	visibility: visible;
  }
  #overlay-button span:after {
	top: 9px;
	left: 0px;
  }
  #overlay-button span:before, #overlay-button span:after {
	height: 4px;
	width: 25px;
	border-radius: 2px;
	background-color: #000;
	position: absolute;
	content: "";
	transition: all .2s ease-in-out;
  }
  #overlay-button:hover span, #overlay-button:hover span:before, #overlay-button:hover span:after {
	background: #000;
  }
  
  input[type=checkbox] {
	display: none; 
	
  }
  
  input[type=checkbox]:checked ~ #overlay {
	visibility: visible; 
	position: fixed;
  }
  
  input[type=checkbox]:checked ~ #overlay-button:hover span, input[type=checkbox]:checked ~ #overlay-button span {
	background: transparent;
	
	
  }
  input[type=checkbox]:checked ~ #overlay-button span:before {
	transform: rotate(45deg) translate(6.5px, 6.5px);
  
  }
  input[type=checkbox]:checked ~ #overlay-button span:after {
	transform: rotate(-45deg) translate(6.5px, -6.5px);
  
  
  }
  
  #overlay {
	width: 100vw;
	height: 100%;
	padding: 0% 15% 15% 15%;
	background: #f8f8f8;
	z-index: 2;
	visibility: hidden;
    position: fixed;
    top: 0px;
	left: 0px;
    z-index: 4;
	-webkit-transform: translateX(0);
    transform: translateX(0);
    overflow: auto;
	overflow-y: scroll;
  }
  #overlay .menu-title{
    text-align: center;
    font-size: 16px;
    margin: 20px 0px 20px 0px;
    line-height: 45px;
  }
  #overlay .top-link{
    margin: 20px auto 15px auto;
    width: 60px;
    display: block;
  }
  #overlay ul {
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding-left: 0;
	list-style-type: none;
	border-top: dotted 1px #ccc;
  }
  #overlay ul li {
    margin: 0px;
    padding: 15px 0px 15px 0px;
    border-bottom: dotted 1px #ccc;

  }
  #overlay ul li a {
	color: #000;
	text-decoration: none;
	font-size: 12px;
	text-align: left;
  }
  #overlay ul li a:hover {
	color: #fff!important;
  }
  #overlay-button p{
	font-size: 8px;
	padding: 14px 0px 0px 0px;
	text-align: center;
	font-family: Futura;
  }

  


/*--------------------------------------------
BLOG PAGE

TOP LAYOUT
--------------------------------------------*/

.flex{
	display: flex;
}

.text-center{
	text-align: center;
}

.top-h2{
	font-size: 30px;
	font-weight: 300;
	padding-top: 30px;
	padding-bottom: 30px;
	letter-spacing: 0.05em;
}

.top-h2 span{
	font-size: 12px;
	display: block;
	padding: 10px 0px 0px 0px;

}

.list-box{
	flex-wrap: wrap;
}


.list-box .list{
	width: 46%;
	display: block;
	margin: 0px 8% 20px 0px;
}

.list-box .list:nth-child(even){
	width: 46%;
	display: block;
	margin: 0px 0% 20px 0px;
}

.list-box .text-box .title{
	font-size: 12px;
	line-height: 16px;
	padding: 10px 0px 0px 0px;
	color: #000;
}

.list-box .text-box .day{
	font-size: 10px;
	line-height: 16px;
	padding: 5px 0px 0px 0px;
	color: #555;
	font-family: 'Times New Roman', Times, serif;
	letter-spacing:0.12rem;
}

.list-box img{
	width: 100%;
}

@media screen and (min-width: 700px){	
	.list-box{
		flex-wrap: nowrap;
	}
	.list-box .list{
		width: 23%;
		display: block;
		margin: 0px 5% 20px 0px;
	}
	.list-box .list:nth-child(even){
		width: 23%;
		display: block;
		margin: 0px 5% 20px 0px;
	}
	.list-box .list:last-child{
		display: block;
		margin: 0px 0% 20px 0px;
	}
}

/*--------------------------------------------
BLOG PAGE

SINGLE LAYOUT
--------------------------------------------*/

.blog-single .blog-box{
	margin: 30px auto 0px auto;
	font-size: 0px;
	max-width: 680px;
}
.blog-single .blog-box img{
	width: 100%;
	height: auto;
}
.blog-single .blog-box h1{
	font-size: 17px;

}
.blog-single .blog-box h1:after{
	content: "　";
	background-image: url(../images/blog/title.svg);
	background-repeat: no-repeat;
	background-position: center bottom;
	display: block;
	height: 22px;
	
}
.blog-single .blog-box .time{
	font-size: 10px;
	line-height: 10px;
	padding: 0px 15px 20px 15px;
	display: block;
	width: 50%;
	text-align: left;
}
.blog-single .blog-box .cate{
	font-size: 10px;
	line-height: 10px;
	padding: 0px 15px 20px 15px;
	display: block;
	width: 50%;
	text-align: right;
}
.blog-single .blog-box .category{
	font-size: 10px;
	line-height: 10px;
	padding: 15px 0px 15px 0px;
}
.blog-single .blog-box a{
	background: linear-gradient(transparent 70%, rgba(var(--theme-color-rgb), 0.15) 30%);

}
.blog-single .blog-box h1{
	margin: 0px 15px 30px 15px;
	font-size: 15px;
}
.blog-single .blog-box h2,
.blog-single .blog-box h3,
.blog-single .blog-box p{
	margin: 0px 30px 30px 30px;
	font-size: 15px;
}
.blog-single .blog-box img{
	margin: 0px 0px 30px 0px;
	display: block;
	border: 1px solid #d8d8d8;
}
.blog-single .blog-box figure{
	margin: 0px 30px 30px 30px;
}

.blog-single .blocks-gallery-item img,
.blog-single .blocks-gallery-item figure{
	margin: 0px;
}

.blog-single .blog-box figure img{
	border: 1px solid #d8d8d8;
	width: 100%;
	height: auto;
}

.blog-single .blog-box .attachment-post-thumbnail {
	border-left: 0px;
	border-right: 0px;
	border-top: 1px solid #d8d8d8;
	border-bottom: 1px solid #d8d8d8;
}
.blog-single .blog-box h1{
	font-size: 20px;
	font-weight: bold;
	line-height: 2.6rem;
}
.blog-single .blog-box h2{
	font-size: 18px;
	line-height: 24px;
    padding: 30px 0 4px 0;
    position: relative;
	font-weight: 600;
}
.blog-single .blog-box h2:before {
	content: "Heading";
	color: #7EBEAB;
	font-size: 10px;
	line-height: 10px;
	width: 100%;
	height: 16px;
	position: absolute;
	left: 0;
	top: 5px;
	z-index: 3;
	font-family: 'Times New Roman', Times, serif;
	font-style: italic;
	background-image: linear-gradient(to right, #ccc 2px, transparent 2px);
	background-size: 5px 1px;
	background-repeat: repeat-x;
	background-position: 0px 15px;
}
.blog-single .blog-box h3{
	padding: 0px 0px 0px 10px;
    line-height: 1.6rem;
    font-size: 16px;
    border-left: 3px solid #7EBEAB;
	font-weight: 400;
}
.blog-single .blog-box p{
	line-height: 2.4rem;
}
.blog-single .blog-box strong{
	color: #000;
	background: linear-gradient(transparent 60%, #D9F5ED 30%);
}
.blog-single .blog-box a{
	color: #7EBEAB;
}
.estimated-reading-time{
	padding: 5px 0px 5px 0px!important;
	margin: 0px auto 30px auto!important;
	background-color: #fafafa;
    border: solid 1px #eee;
	text-align: center;
	max-width: 280px;
	font-size: 14px!important;
}
.wp-block-gallery{
	display: flex;
}
.wp-block-gallery img{
	margin: 0px 0px 0px 0px!important;
	border: #fff solid 1px!important;
}
.blog-single .blog-box .wp-block-gallery figure {
    margin: 0px 0px 0px 0px;
}
.blog-single .blog-box .wp-block-table{
	font-size: 12px;
	border-left:1px solid #ccc;
	border-top:1px solid #ccc;
}
.blog-single .blog-box table{
	width: 100%;
}
.blog-single .blog-box .wp-block-table td{
	padding: 10px 0px 10px 0px;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
	text-align:center;
}
.blog-single .blog-box .wp-block-table th{
	padding: 10px 0px 10px 0px;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
	text-align:center;	
	font-weight: 300;
	background-color: #eee;
}
@media screen and (min-width: 700px){	
	.blog-single .blog-box .attachment-post-thumbnail {
		border-left: 1px solid #d8d8d8;
		border-right: 1px solid #d8d8d8;
		border-top: 1px solid #d8d8d8;
		border-bottom: 1px solid #d8d8d8;
	}
}


/*--------------------------------------------
MOKUJI LAYOUT
--------------------------------------------*/
#ez-toc-container{
    margin: 0px 30px 30px 30px!important;
	font-size: 14px;
	padding: 25px!important;
    border: none!important;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    display: block!important;
    color: #666;
    background-color: #f3f3f3;
    margin-bottom: 20px;
	border-radius: 30px 0px 30px 0px;
}
#ez-toc-container .ez-toc-title{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    font-weight: 700;
	padding: 0px 0px 20px 0px!important;
}
#ez-toc-container .ez-toc-title:after {
    display: inline-block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    content: '';
    width: 100%;
    height: 1px;
    margin: 0 0 0 16px;
    background: #ddd;
}
#ez-toc-container a,
#ez-toc-container p{
	margin: 0px!important;
	padding: 0px!important;
	border-bottom: none!important;
	color: #666666!important;
	font-size: 14px;
    line-height: 18px;
}
#ez-toc-container .ez-toc-link{
	padding: 0px 0px 15px 0px!important;
	font-weight: bold;
	display: block;

}
#ez-toc-container a::before{
	display: none!important;	
}
.ez-toc-list-level-3{
	padding: 0px 0px 0px 10px!important;
}
.ez-toc-list-level-3 a{
	font-weight: normal!important;
}

/*--------------------------------------------
NAVI

SEARCH BOX
--------------------------------------------*/

#search_text{
	font-size:1.0rem;
	line-height: 4;
	margin:0px 0px 0px 0px;
	text-align: center;
}
#searchform{
	width: 100%;
	display: block;
	margin:0px auto 0px auto;
	overflow: hidden;
	border-radius: 10px;
}
#searchform .screen-reader-text{
	display: none;
}
#searchform #searchsubmit{
	display: block!important;
	float: left;
	width: 20%;
	border:none;
	background-color: #ccc;
	color:#000;
	-webkit-appearance: none;
	height: 35px;
	line-height: 35px;
	border-radius:0px;
	text-align: center;
	font-size:1.2rem;
	text-indent: 0px!important;
	font-weight: 300;
}
#searchform input{
	background-color: #FFF;
	display: block!important;
	float: left;
	color:#333;
	width: 80%;
	margin:0% 0% 0% 0%;
	height: 35px;
	border-radius:0px;
	text-indent: 10px;
}

/*--------------------------------------------
FOOTER

DESIGN LAYOUT
--------------------------------------------*/

footer .navi{
	background-color: #F0F2F5;
	font-size: 10px;
	height: 100px;
	display: flex;
	align-items: center;
	margin: 0px auto;
	justify-content: center;
}

footer .navi a{
	color: #000;
	font-size: 10px;
	padding: 0px 10px 0px 10px;
	border-left: solid 1px #ccc;
	border-right: none;
}

footer .navi a:last-child{
	border-right: solid 1px #ccc;
	border-left: solid 1px #ccc;

}

footer .copyright{
	background-color: #333;
	color: #fff;
	font-size: 10px;
	text-align: center;
	line-height: 50px;
}

/*--------------------------------------------
TOP PAGE

scroll section
--------------------------------------------*/

.wrap {
	display: flex;
	white-space: nowrap;
	align-items: center;
	overflow: hidden;
    padding: 18px 0;
	margin: 10px 0px 0px 0px;
	position: relative;
}
.wrap:after {
	content: "";
	bottom: 0;
	display: block;
	width: 1130px;
	height: 1px;
	border-top: 1px dashed #ccc;
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.wrap:before {
	content: "";
	top: 0;
	display: block;
	width: 1130px;
	height: 1px;
	border-top: 1px dashed #ccc;
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

  .slideshow {
	display: flex;
	animation: loop-slide 20s infinite linear 1s both;
  }
  @keyframes loop-slide {
	from {
	  transform: translateX(0);
	}
	to {
	  transform: translateX(-100%);
	}
  }
  .content {
	padding: 0px 15px 0px 15px;
	border-left: 1px solid #ddd;
	font-size: 12px;
  }
  .content a{
	font-size: 12px;
	color: #000;
  }
  .content:hover {
	-webkit-animation-play-state: paused;
	animation-play-state: paused;
  }
  .slide-paused:hover .slideshow {
	-webkit-animation-play-state: paused;
	animation-play-state: paused;
  }

  .wp-embedded-content{
	width: 100%;
	height: auto;
}
.wp-block-embed{
	margin: 0px 30px 0px 30px!important
}