@charset "utf-8";
/*
Theme Name: TOKINAIS
Description: TOKINAIS is a Tokinais's original WordPress theme.
Author: Tokinais
Author https://tokinais.com
Version: 1.1
*/


/*--------------------------------------------------------------
1.0 - basic
--------------------------------------------------------------*/
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, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
	list-style: none;
}
html {
	font-size: 62.5%;
	overflow-y: scroll;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
}

body,
input,
select,
textarea {
	color: #333;
	background: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 32px;
	line-height: 3.2rem;
	letter-spacing: 0.05em;
}

body {
	background: #fff;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 600;
	font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
	color: #242424;
}
h1 {
	font-size: 2.7em;
}
h2 {
	font-size: 2.1em;
}
h3 {
	font-size: 1.8em
}
h4 {
	font-size: 1.4em;
}

a {
	text-decoration:none;
	color: #20B2AA;
}
a:hover {
	color: #62C9C3;
}

/*--------------------------------------------------------------
2.0 - PC
--------------------------------------------------------------*/
	#wrapper {
		width: 100%;
		margin: 0 auto;
	}
	
/* Header */
	#site-header {
		position: fixed;
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		z-index: 10;
		background-color: rgba(255, 255, 255, 1.0);
		padding: 0;
		transition: 0.5s;
	}
	.hd_container {
		width: 100%;
		max-width: 1280px;
		margin: 0 auto;
	}
	.logo {
		display: inline-block;
		padding: 30px 0;
		transition: 0.5s;
		height: 20px;
		line-height: 20px;
		font-size: 0.6em;
	}
	.logo a {
		display: inline-block;
		height: 20px;
		line-height: 20px;
	}
	.logo img {
		width: auto;
		height: 20px;
		transition-property: all;
		-webkit-transition: 0.3s ease;
		transition: 0.3s ease;
	}
	/* Main manu */
	.nav-holder {
		display: block;
		padding: 0;
		transition: 0.5s;
		float: right;
	}
	.hd-mainmenu {
		height: 80px;
		margin: 0 auto;
		padding: 0;
		transition: 0.5s;
		list-style: none;
	}
	.hd-mainmenu li {
		position: relative;
		float: left;
		padding: 20px 35px 0;
		text-align: center;
		transition: 0.5s;
	}
	.hd-mainmenu li a {
		display: block;
		color: #333;
		font-size: 0.95em;
		font-weight: 500;
		text-align: center;
		transition: 0.5s;
		line-height: 1.2em;
		letter-spacing: 0.08em;
	}
	.hd-mainmenu li:last-child {
		padding: 20px 28px 0 35px;
		transition: 0.5s;
	}
	.hd-mainmenu li:last-child::after {
		font-family: 'FontAwesome';
		content: '\f590';
		font-size: 1.1em;
		font-weight: 400;
		top: 56%;
		right: 0;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		position: absolute;
		color: #999;
	}
	.hd-mainmenu li a:hover {
		color: #777;
	}
	.hd-mainmenu li:hover ul.drop_child {
		top: 80px;
		visibility: visible;
		opacity: 1;
		z-index: 9999;
		transition: 0.5s;
	}
	.drop_child {
		list-style: none;
		visibility: hidden;
		opacity: 0;
		z-index: 1;
		display: block;
		position: absolute;
		width: 100%;
		margin-left: -40px;
		padding: 5px 0;
		background-color: rgba(255, 255, 255, 0.9);
		-webkit-transition: all .2s ease;
		transition: all .2s ease;
		line-height: 1.6rem;
		transition: 0.5s;
	}
	.drop_child li {
		float: none;
		padding: 0 8px!important;
		transition: 0.5s;
	}
	.drop_child li:last-child {
		padding: 0 8px;
		transition: 0.5s;
	}
	.drop_child li:last-child::after {
		content: none;
	}
	.drop_child li a {
		padding: 10px 0;
		text-align: center;
		font-size: 0.72em!important;
	}
	.drop_child li a:hover {
		color: #40004f;
	}
	.hd-mainmenu li.menu-item-has-children > a::after {
		font-family: 'FontAwesome';
		content: '\f078';
		font-size: 0.6em;
		font-weight: 400;
		top: 52%;
		right: 12%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		position: absolute;
	}
	.hdmenu_jp {
	font-size: 65%;
	font-weight: 400;
	display: block;
	color: #999;
	}
	
	.section {
	}
	.section-a {
		background: #000;
	}
	.section-b {
		background: #fff;
	}
	/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
	#site-header.scroll-nav {
		background-color: rgba(255, 255, 255, 0.9);
		box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
	}
	#site-header.scroll-nav .logo {
		padding: 20px 0;
		height: 18px;
		line-height: 18px;
	}
	#site-header.scroll-nav .logo a {
		height: 18px;
		line-height: 18px;
	}
	#site-header.scroll-nav .logo img {
		height: 18px;
	}
	#site-header.scroll-nav .hd-mainmenu {
		height: 58px;
		padding: 0;
	}
	#site-header.scroll-nav .hd-mainmenu li {
		padding: 10px 35px 0;
	}
	#site-header.scroll-nav .hd-mainmenu li a {
		font-size: 0.9em;
	}
	#site-header.scroll-nav .hd-mainmenu li:last-child {
		padding: 10px 22px 0 35px;
	}
	#site-header.scroll-nav .hd-mainmenu li:last-child::after {
		font-size: 0.9em;
		top: 44%;
	}
	#site-header.scroll-nav .hd-mainmenu li:hover ul.drop_child {
		top: 58px;
	}
	#site-header.scroll-nav .drop_child {
		margin-left: -35px;
	}
	#site-header.scroll-nav .drop_child li {
		padding: 0 8px;
	}
	#site-header.scroll-nav .drop_child li:last-child {
		padding: 0 8px;
	}
	#site-header.scroll-nav .hd-mainmenu li.menu-item-has-children > a::after {
		top: 40%;
		right: 12%;
	}
	
	/* SP manu */
	.sp_menu {
	display: none;
	}
	
	#container {
		width: 100%;
	}
	
	/* パンくず */
	.fbc-page * {
		margin: 0 0 12px;
		padding: 0;
	}
	.fbc-page .fbc-wrap .fbc-items li{
		padding: 0 4px;
	}
	.fbc-page .fbc-wrap .fbc-items li:first-child {
		padding-left: 0;
	}
	.fbc-page .fbc-wrap .fbc-items li:last-child {
		padding-right: 0;
	}
	
	
	/* Page */
	#page_container {
		margin: 0 auto;
		padding-top: 80px;
	}
	
	
	/* Post */
	.primary {
		width: 100%;
		max-width: 1280px;
		margin: 0 auto;
		padding-top: 80px;
		display: flex;
	}
	.main {
		width: 77%;
		margin: 30px 40px 80px 0;
	}
	.archive_ttl {
		width: 100%;
		margin: 0 0 20px 0;
		font-size: 1.28em;
		text-align: center;
	}
	.roop {
		width: 100%;
		margin: 0 0 50px;
		padding: 0 0 50px;
		border-bottom: solid 1px #ccc;
	}
	.roop_ttl {
		font-size: 1.28em;
		font-weight: 500;
		letter-spacing: 0.05em;
	}
	.roop_meta {
		width: 100%;
		margin: 0 0 12px;
		padding: 2px 0 0 0;
		font-size: 0.75em;
	}
	.meta_date {
		margin-right: 12px;
	}
	.meta_date::before {
		font-family: 'FontAwesome';
		content: '\f073';
		font-size: 13px;
		margin-right: 5px;
		color: #999;
	}
	.meta_author {
		margin-right: 12px;
	}
	.meta_author::before {
		font-family: 'FontAwesome';
		content: '\f007';
		font-size: 13px;
		margin-right: 5px;
		color: #999;
	}
	.meta_cat {
		margin-right: 12px;
	}
	.meta_cat::before {
		font-family: 'FontAwesome';
		content: '\f03a';
		font-size: 13px;
		margin-right: 5px;
		color: #999;
	}
	.roop_thum {
		width: 40%;
		margin: 0;
		padding: 0;
		display: inline-block;
	}
	.roop_thum img {
		width: 100%;
		height: auto;
	}
	.roop_excerpt {
		width: 55.1%;
		margin: 0;
		padding: 0 0 0 40px;
		display: inline-block;
		vertical-align: top;
		font-size: 0.82em;
	}
	.roop_excerpt a {
		display: block;
		text-align: right;
		padding-top: 12px;
	}
	
	/* Pagination */
	.pagination {
		margin: 50px 0 0;
	}
	.nav-links {
		display: flex;
		justify-content: center;
	}
	.pagination .page-numbers {
		display: inline-block;
		margin-right: 8px;
		padding: 3px 8px 5px;
		color: #333;
		border: solid 1px #eee;
		border-radius: 3px;
		background: #fff;
		font-size: 0.8em;
		line-height: 1.2em;
	}
	.pagination .page-numbers:hover {
		background: #eee;
	}
	.pagination .current {
		padding: 3px 8px 5px;
		background: #999;
		color: #fff;
	}
	.pagination .current:hover {
		background: #999;
	}
	.pagination .prev,
	.pagination .next {
		background: transparent;
		color: #111;
	}
	.pagination .dots {
		background: transparent;
		border-style: none;
	}
	.pagination .dots:hover {
		background: #fff;
	}
	
	.single_pagination {
		margin-top: 50px;
		font-size: 0.8em;
		line-height: 1.2em;
		letter-spacing: 0.06em;
	}
	.nav-previous {
		margin: 0;
		padding-right: 20px;
		border-right: solid 1px #ccc;
		text-align: right;
	}
	.nav-next {
		margin: 0;
		padding-left: 20px;
		text-align: left;
	}
	
	
	/* Single */
	.single_ttl {
		font-size: 1.28em;
		font-weight: 500;
	}
	.single_meta {
		width: 100%;
		margin: 0 0 12px;
		padding: 0 0 8px;
		font-size: 0.75em;
		border-bottom: dotted 1px #ccc;
	}

	.single_thum img {
		width: 100%;
	}
	.single_cntnt {

	}
	.single_cntnt p {
		font-size: 0.8em;
		line-height: 1.8em;
		padding: 0 0 15px;
	}
	
	.side {
		width: 23%;
		margin: 30px 0 80px 40px;
	}
	.side .widget {
		margin: 0 0 50px;
	}
	.side .widget h2 {
		font-size: 1.1em;
	}
	.side .widget ul {
		font-size: 0.75em!important;
		letter-spacing: 0.1em;
	}
	.side .widget ul li {
		border-bottom: dotted 1px #ccc;
	}



/* Footer */
	#footer {
		width: 100%;
		padding: 30px 0;
		color: #fff;
		background: #333;
	}
	.copyright {
		width: 100%;
		margin: 0;
		padding: 0;
		color: #fff;
		font-size: 0.75em;
		text-align: center;
	}
	#page-top {
		position: fixed;
		right: 30px;
		bottom: 30px;
	}
	#page-top a {
		display: block;
		background-color: #999;
		border-radius: 50%;
		width: 60px;
		height: 60px;
		padding: 0;
		text-align: center;
		transition: opacity .5s;
		color: #fff;
		font-size: 0.7em;
		line-height: 0.7em;
	}
	#page-top a:hover {
		opacity: 0.8;
		transition: opacity .5s;
	}
	#page-top a i {
		font-size: 2.1em;
		padding: 8px 0 0 0;
	}
	#page-top span {
		display: block;
	}
	
	#footer-widget {
		width: 100%;
		max-width: 1280px;
		margin: 0 auto;
		padding: 30px 0 50px;
		display: flex;
		color: #fff;
	}
	#footer-widget li {
		list-style: none;
	}
	#footer-widget .widget {
		width: 33.33%;
	}
	#footer-widget .widget h2 {
		color: #fff;
		font-size: 1.2em;
		text-align: center;
	}

/*----- 404 NOT FOUND -----*/
	#notfound {
		width: 100%;
		margin: 0 auto;
		padding: 280px 0;
		text-align: center;
	}
	#notfound h1 {
		font-size: 2.5em;
		color: #ccc;
		padding: 0 0 20px;
	}
	#notfound p {
		font-size: 0.8em;
		padding: 0 0 20px;
	}
	
/*-----------------
 HOME
-------------------*/






	
/*--------------------------------------------------------------
3.0 - Responsive
--------------------------------------------------------------*/
	@media screen and (max-width: 1350px) {
	/* Header */
	.hd_container {
	padding: 0 30px;
	}
	/* Post */
	.primary {
		width: 92%;
	}
	.roop_excerpt {
	width: 55.8%;
	padding: 0 0 0 30px;
	font-size: 0.78em;
	line-height: 1.8em;
	}
	
	/* Footer */
	#footer-widget {
	width: 92%;
	}

	}
	
	
	@media screen and (max-width: 1280px) {
	/* Header */
	.logo img {
	height: 18px;
	}
	/* Main manu */
	.hd-mainmenu li {
	padding: 20px 30px;
	}
	.hd-mainmenu li:last-child {
	padding: 20px 26px 0 30px;
	}
	.hd-mainmenu li a {
	font-size: 0.9em;
	}
	.drop_child {
	margin-left: -30px;
	}
	.drop_child li a {
	padding: 8px 0;
	font-size: 0.65em!important;
	}
	.hd-mainmenu li.menu-item-has-children > a::after {
		top: 37%;
		right: 10%;
	}
	/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
	#site-header.scroll-nav .hd-mainmenu li {
		padding: 10px 30px 0;
	}
	#site-header.scroll-nav .hd-mainmenu li:last-child {
		padding: 10px 22px 0 30px;
	}
	#site-header.scroll-nav .drop_child {
	margin-left: -30px;
	}
	
	/* Post */
	.roop_excerpt {
	width: 54.7%;
	font-size: 0.75em;
	line-height: 1.7em;
	}
		
	}
	
	/* tablet */
	@media screen and (max-width: 1024px) {
	/* Header */
	.hd_container {
	padding: 0 20px;
	}
	.logo img {
	height: 16px;
	}
	/* Main manu */
	.hd-mainmenu li {
	padding: 20px 25px;
	}
	.hd-mainmenu li:last-child {
	padding: 20px 22px 0 25px;
	}
	.hd-mainmenu li:last-child::after {
		font-size: 0.9em;
	}
	.hd-mainmenu li a {
	font-size: 0.82em;
	}
	.drop_child {
	margin-left: -20px;
	}
	.hd-mainmenu li.menu-item-has-children > a::after {
		top: 40%;
		right: 6%;
	}
	/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
	#site-header.scroll-nav .logo img {
	height: 16px;
	}
	#site-header.scroll-nav .hd-mainmenu li {
	padding: 12px 25px;
	}
	#site-header.scroll-nav .hd-mainmenu li:last-child {
	padding: 12px 22px 0 25px;
	}
	#site-header.scroll-nav .hd-mainmenu li a {
	font-size: 0.82em;
	}
	#site-header.scroll-nav .drop_child {
	margin-left: -25px;
	}
	#site-header.scroll-nav .hd-mainmenu li.menu-item-has-children > a::after {
		top: 38%;
		right: 6%;
	}
	
	
	/* Post */
	.main {
		margin: 20px 20px 80px 0;
	}
	.roop_excerpt {
	width: 55.1%;
	padding: 0 0 0 20px;
	font-size: 0.7em;
	line-height: 1.7em;
	}
	.side {
		margin: 20px 0 80px 20px;
	}
		
	}

	/* smart phone */
	@media screen and (max-width: 928px) {
	/* Header */
	.logo img {
	height: 14px;
	}
	/* Main manu */
	.hd-mainmenu li {
	padding: 23px 25px;
	}
	.hd-mainmenu li:last-child {
	padding: 23px 25px 0 25px;
	}
	.hd-mainmenu li a {
	font-size: 0.78em;
	}
	.drop_child {
	margin-left: -25px;
	}
	.drop_child li {
	padding: 0 3px!important;
	}
	.drop_child li a {
	padding: 6px 0;
	font-size: 0.6em!important;
	}
	.hd-mainmenu li.menu-item-has-children > a::after {
		top: 40%;
		right: 8%;
	}
	/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
	#site-header.scroll-nav .logo img {
	height: 14px;
	}
	#site-header.scroll-nav .hd-mainmenu li {
	padding: 13px 25px 0;
	}
	#site-header.scroll-nav .hd-mainmenu li:last-child {
		padding: 13px 25px 0 25px;
	}
	#site-header.scroll-nav .hd-mainmenu li a {
	font-size: 0.78em;
	}
	#site-header.scroll-nav .drop_child {
	margin-left: -25px;
	}
	#site-header.scroll-nav .hd-mainmenu li.menu-item-has-children > a::after {
		top: 46%;
		right: 8%;
	}
		
	}
	
	@media screen and (max-width: 768px) {
	/* Header */
	.hd_container {
	padding: 0 30px;
	}
	.logo {
		padding: 22px 0;
		height: 16px;
		line-height: 16px;
	}
	.logo img {
	height: 16px;
	}
	.main-nav {
	display: none;
	}
	/* SP manu */
	.sp_menu {
	display: inline-block;
	float: right;
	}
	.nav-open {
	margin-top: 19px;
	width: 28px;
	height: 22px;
	vertical-align: middle;
	}
	.nav-open span, .nav-open span:before, .nav-open span:after {
	position: absolute;
	transition: all 0.4s;
	height: 3px;/*線の太さ*/
	width: 30px;/*長さ*/
	border-radius: 3px;
	background: #666;
	display: block;
	content: '';
	cursor: pointer;
	z-index: 9999;
	}
	.nav-open span:before {
	bottom: -9px;
	}
	.nav-open span:after {
	bottom: -18px;
	}
	.nav-content {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	transition: all 600ms ease-out;
	transform: translateZ(0) translateX(100%);
	}
	.nav-content.open {
	opacity: 1;
	overflow: auto;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9998;
	width: 60%;
	height: 100%;
	background: #333;/*背景色*/
	transition: all 600ms ease-out;
	transform: translateZ(0) translateX(0%);
	}
	.navi-container {
	width: 77%;
	margin: 60px auto 0;
	}
	.navi-container ul li {
	font-size: 0.85em;
	padding: 15px 0;
	border-bottom: 1px dotted #555;
	}
	.navi-container ul li a {
	display: block;
	color: #fff;
	}
	/*.menu-item-has-childrenは子メニューを持つ親メニューにつくクラス*/
	.navi-container li.menu-item-has-children a {
	position: relative
	}
	/*メニューが閉じてる時のアイコン設定*/
	.navi-container li.menu-item-has-children > a::after {
	font-family: 'FontAwesome';
	content: '\f078';
	font-weight: 400;
	position: absolute;
	right: 10px;
	}
	/*メニューが開いてる時のアイコン設定*/
	.navi-container li.menu-item-has-children.arrowup > a::after {
	font-family: 'FontAwesome';
	content: '\f077';
	font-weight: 400;
	position: absolute;
	right: 10px;
	}
	.sub-menu li {
	font-size: 0.85em!important;
	padding: 5px 0 5px 15px!important;
	border-bottom: none!important;
	}

	/*三本線を動かす*/
	.nav-open.active span {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
	background-color: #888;
	}
	.nav-open.active span:before {
	-webkit-transform: translateY(-9px) rotate(45deg);/*打ち消す*/
	transform: translateY(-9px) rotate(45deg);/*打ち消す*/
	opacity: 0;
	}
	.nav-open.active span:after {
	-webkit-transform: translateY(-18px) rotate(45deg);
	transform: translateY(-18px) rotate(90deg);
	background-color: #888;
	}
	
	/* Post */
	.primary {
	display: block;
	}
	.main {
	width: 100%;
	margin: 0 auto 80px;
	}
	.roop {
	margin: 0 0 30px;
	padding: 0 0 30px;
	}
	.side {
	width: 70%;
	margin: 30px auto 80px;
	}
	
	/* Footer */
	#footer-widget {
	display: block;
	}
	#footer-widget .widget {
	width: 100%;
	display: block;
	}

	}
	
	@media screen and (max-width: 560px) {
	/* Post */
	.primary {
		width: 90%;
	}
	.roop_thum {
	width: 100%;
	display: block;
	}
	.roop_excerpt {
	width: 100%;
	padding: 0;
	font-size: 0.75em;
	line-height: 1.8em;
	display: block;
	}
	
	}
	
	@media screen and (max-width: 480px) {
	/* Header */
	.hd_container {
	padding: 0 20px;
	}
	.nav-content.open {
	width: 70%;
	}
	/* Post */
	.primary {
		width: 88%;
	}
	.side {
	width: 100%;
	}
	
	
	}