@charset "UTF-8";
/****************************************
common
*****************************************/
.btn_base{
	background: linear-gradient(to right,  #5340a5 0%,#0b93e9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	border-radius:99em;
	color:#fff;
	display:inline-block;
	font-family: 'Montserrat', sans-serif;
	font-size:16px;
	font-weight:700;
	padding:20px 0;
	position:relative;
	text-align:center;
	width:250px;
}
.btn_base_jp{
	font-family: 'Noto Sans JP', sans-serif;
}
.btn_base_icon{
	background:#fff;
	border-radius:99em;
	height:30px;
	position:absolute;
	right:20px;
	top:50%;
	transform:translatey(-50%);
	width:30px;
}
.btn_base_icon:after{
	color:#5340a5;
	content: "\f054";
	display:block;
	font-family:"Font Awesome 5 Free";
	font-size:80%;
	left:50%;
	position:absolute;
	top:50%;
	transform:translate(-50%,-50%);
}
@keyframes btn_icon{
	0%{
		left:0;
		opacity:0;
	}
	100%{
		left:50%;
		opacity:1;
	}
}
.btn_base:hover .btn_base_icon:after{
    animation-name: btn_icon;
    animation-duration: .3s;
    xanimation-iteration-count: infinite;
}
/*tagcat*/
.featured_tags{
	background: linear-gradient(to right,  #7259e0 0%,#71bceb 100%);
	border-radius:4px;
	padding:20px 60px 10px;
}
@media screen and (max-width:768px){
	.featured_tags{
		padding:20px 20px 10px;
	}
}
.featured_tags_title{
	color:#fff;
	font-size:18px;
	font-weight:700;
}
@media screen and (max-width:768px){
	.featured_tags_title{
		text-align:center;
	}
}
@media screen and (max-width:768px){
	.nav_item_tag > ul{
		justify-content:center;
	}
}
@media screen and (min-width:769px){
	.sec .featured_tags_title{
		width:10%;
	}
}
@media screen and (min-width:769px){
	.sec .featured_tags .nav_item_tag{
		width:90%;
	}
}
/*category_banner*/
.category_banner_item{
	font-weight:700;
	text-align:center;
}
@media screen and (max-width:768px){
	.category_banner_item:nth-child(n+3){
		margin-top:20px;
	}
}
.category_banner_item_title{
	margin-top:16px;
}
@media screen and (max-width:768px){
	.category_banner_item_title{
		margin-top:5px;
	}
}
/*font*/
.font_mont{
	font-family: 'Montserrat', sans-serif;
}
/*nav_item_tag*/
@media screen and (max-width:768px){
	.nav_item_tag .flex{
		xjustify-content:center;
	}
}
.nav_item_tag a{
	background:#fff;
	border-radius:99em;
	color:#222;
	display:inline-block;
	font-size:12px;
	font-weight:700;
	margin:0 10px 10px 0;
	padding:5px 20px;
}
/*sec*/
.sec{
	margin-top:160px;
}
@media screen and (max-width:768px){
	.sec{
		margin-top:80px;
	}
}
.sec_title{
	font-family: 'Montserrat', sans-serif;
	font-size:48px;
	letter-spacing:2px;
	line-height:1;
}
@media screen and (max-width:768px){
	.sec_title{
		font-size:30px;
	}
}
.sec_title_icon{
	height:33px;
	margin-right:10px;
}
@media screen and (max-width:768px){
	.sec_title_icon{
		height:22px;
	}
}
/*site_desc*/
.site_disc{
	font-weight:700;
	text-align:center;
}
/*topcontrol*/
#topcontrol{
	background:#222;
	border:1px solid #fff;
	border-radius:50%;
	color:#fff;
	line-height:40px;
	text-align:center;
	width:40px;
}
@media screen and (max-width:768px){
	#topcontrol{
		display:none;
	}
}
/****************************************
header
*****************************************/
.header{
	padding:40px;
}
@media screen and (max-width:768px){
	.header{
		xjustify-content:space-between;
		padding:20px;
	}
}
.header_logo{
	margin-right:40px;
}
@media screen and (max-width:768px){
	.header_logo{
		margin-right:20px;
	}
}
.header_logo img{
	height:60px;
}
@media screen and (max-width:768px){
	.header_logo img{
		height:50px;
	}
}
.header_tagline{
	border-bottom:1px solid #222;
	border-top:1px solid #222;
	font-size:12px;
	font-weight:700;
	line-height:2;
	text-align:center;
}
/****************************************
main
*****************************************/
@media screen and (min-width:769px){
	.main{
		min-width:1000px;
	}
}
/****************************************
footer
*****************************************/
/*footer common*/
@media screen and (min-width:769px){
	.footer{
		min-width:1000px;
	}
	.footer_logo,
	.footer_nav{
		padding:8.75% 0;
		width:50%;
	}
}
.footer_nav .google-auto-placed{
	display:none;
}
/*logo*/
.footer_logo{
	text-align:center;
}
@media screen and (min-width:769px){
	.footer_logo{
		background:url(../img/bg_footer.webp) no-repeat;
		background-position: right -1px top 0;
		background-size:contain;
		padding-left:10%;
	}
}
@media screen and (max-width:768px){
	.footer_logo{
		padding:60px 0;
	}
}
.footer_logo_link img{
	height:90px;
}
/*nav*/
.footer_nav{
	background:#222;
	font-family: 'Montserrat', sans-serif;
}
@media screen and (min-width:769px){
	.footer_nav{
		padding-right:10%;
	}
}
@media screen and (max-width:768px){
	.footer_nav{
		padding:40px 5%;
	}
}
.footer_nav_item_title{
	border-bottom:2px solid #fff;
	color:#fff;
	font-size:14px;
	padding-bottom:10px;
}
.footer_nav_item_category li:nth-child(n+2){
	margin-top:10px;
}
.footer_nav_item_category a{
	color:#fff;
	font-size:12px;
	font-weight:700;
}
.footer .nav_item_tag{
	position:relative;
}
.footer .nav_item_tag:after{
	background: linear-gradient(to bottom,  rgba(34,34,34,0) 80%,rgba(34,34,34,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	content:"";
	display:block;
	height:100%;
	pointer-events:none;
	position:absolute;
	top:0;
	width:100%;
}
.footer .nav_item_tag ul{
	max-height:300px;
	overflow-y:scroll;
}

@media screen and (min-width:769px){
	.footer_nav_pages li:nth-child(n+2){
		margin-left:40px;
	}
}
@media screen and (max-width:768px){
	.footer_nav_pages li:nth-child(n+2){
		margin-top:20px;
	}
}
.footer_nav_pages a{
	color:#999;
	font-size:12px;
}
/*copyright*/
.copyright{
	font-family: 'Montserrat', sans-serif;
	font-size:12px;
}
/****************************************
nav
*****************************************/
/*nav_btn*/
.nav_btn{
	cursor:pointer;
	position:fixed;
	right:40px;
	top:40px;
	z-index:99;
}
@media screen and (max-width:768px){
	.nav_btn{
		bottom:20px;
		right:20px;
		top:auto;
	}
}
.nav_btn_inner{
	background: #222;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	color:#fff;
	font-weight:700;
	height: calc(tan(60deg) * 70px / 2);
	transition:.3s;
	width: 70px;
}
@media screen and (min-width:769px){
	.nav_btn:hover .nav_btn_inner{
		opacity:.9;
		transform:scale(0.9);
	}
}
.nav_btn_inner_open{
	font-family: 'Montserrat', sans-serif;
	font-size:10px;
	left:24%;
	position:absolute;
	top:26%;
	transform:rotate(90deg);
}
.nav_btn_inner_close{
	display:none;
	height:20px;
	left:50%;
	position:absolute;
	top:50%;
	transform:translate(-50%,-70%);
	width:20px;
}
.nav_btn_inner_close .line{
	background:#fff;
	height:2px;
	position:absolute;
	top:7px;
	width:20px;
}
.nav_btn_inner_close .line:first-child{
	transform:rotate(45deg);
}
.nav_btn_inner_close .line:last-child{
	transform:rotate(-45deg);
}
/*nav_menu*/
.nav_menu{
	background:url(../img/bg_nav.webp) no-repeat center center / cover;
	display:none;
	height:100%;
	left:0;
	overflow-y:scroll;
	position:fixed;
	top:0;
	width:100%;
	z-index:98;
}
.nav_menu_inner{
	height:100vh;
}
.nav_menu_inner > .inner-l{
	padding:80px 0;
}
@media screen and (max-width:768px){
	.nav_menu_inner > .inner-l{
		padding:40px 0;
	}
}
@media screen and (min-width:769px){
	.nav_menu_left{
		width:37.5%;
	}
}
@media screen and (min-width:769px){
	.nav_menu_right{
		width:50%;
	}
}
/*nav_menu_main left*/
.nav_menu_main .nav_menu_left li:nth-child(n+2){
	margin-top:40px;
}
@media screen and (max-width:768px){
	.nav_menu_main .nav_menu_left li:nth-child(n+2){
		margin-top:20px;
	}
}
.nav_menu_main .nav_menu_left a{
	color:#fff;
	font-size:48px;
	font-weight:700;
	line-height:1;
}
@media screen and (max-width:768px){
	.nav_menu_main .nav_menu_left a{
		font-size:36px;
	}
}
/*nav_menu_main right*/
.search-form{
	position:relative;
}
.search-field{
	border:1px solid #eee;
	border-radius:5px;
	font-size:16px;
	padding:40px;
	width:100%;
}
.search-submit{
	background:none;
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	position:absolute;
	right:20px;
	top:50%;
	transform:translatey(-50%);
}
.nav_menu .featured_tags{
	padding:40px;
}
@media screen and (max-width:768px){
	.nav_menu .featured_tags{
		padding:20px;
	}
}
.nav_menu .featured_tags_title{
	margin:0;
	text-align:center;
}
/*nav_menu_sub left*/
.nav_menu_sub_list li:nth-child(n+2){
	margin-top:10px;
}
.nav_menu_sub_list a{
	color:#fff;
	font-size:18px;
	font-weight:700;
}
/*nav_menu_sub right*/
.nav_menu_sub_logo{
	height:90px;
	width:auto;
}
.nav_menu_sub .site_disc{
	color:#fff;
	font-size:14px;
}
/****************************************
sns share
*****************************************/
.share{
	background:url(../img/bg_share.webp) no-repeat center center /cover;
	color:#fff;
	padding:60px 0;
	text-align:center;
}
@media screen and (max-width:768px){
	.share{
		background:url(../img/bg_share_sp.webp) no-repeat center center /cover;
	}
}
.share_subtitle{
	font-family: 'Montserrat', sans-serif;
	font-size:12px;
	font-weight:700;
}
.share_title{
	font-size:18px;
	font-weight:700;
}
.share_btn{
	background:#fff;
	border-radius:99em;
	display:inline-block;
	font-family: 'Montserrat', sans-serif;
	font-weight:700;
	padding:20px 0;
	position:relative;
	text-align:center;
	width:320px;
}
.share_btn img{
	height:16px;
}
.share_btn:after{
	content:"\f054";
	display:block;
	font-family:"Font Awesome 5 Free";
	position:absolute;
	right:20px;
	top:50%;
	transform:translatey(-50%);
}
/****************************************
post_list
*****************************************/
@media screen and (min-width:769px){
	.post_list_item{
		margin-right:4%;
	}
	.post_list_item:nth-child(3n){
		margin-right:0;
	}
	.post_list_item:nth-child(n+4){
		margin-top:60px;
	}
}
@media screen and (max-width:768px){
	.post_list_item{
		margin-right:4%;
	}
	.post_list_item:nth-child(2n){
		margin-right:0;
	}
	.post_list_item:nth-child(n+3){
		margin-top:40px;
	}
}
.post_list_item_img img{
	display:block;
	height:auto;
	width:100%;
}
.post_list_item_title{
	font-size:20px;
	margin:10px 0;
}
@media screen and (max-width:768px){
	.post_list_item_title{
		font-size:14px;
		line-height:1.4;
		margin:5px 0;
		max-height:56px;
		overflow:hidden;
	}
}
.post_list_item_icon{
	color:#666;
	font-size:12px;
	margin-right:10px;
}
@media screen and (max-width:768px){
	.post_list_item_icon{
		font-size:10px;
	}
}
.post_list_item_date{
	color:#666;
	font-family: 'Montserrat', sans-serif;
	font-size:12px;
	font-weight:700;
}
@media screen and (max-width:768px){
	.post_list_item_date{
		font-size:10px;
	}
}
.post_list_item_cat{
	color:#666;
	font-family: 'Montserrat', sans-serif;
	font-size:12px;
	font-weight:700;
}
/****************************************
top fv
*****************************************/
.fv_top{
	position:relative;
}
@media screen and (min-width:769px){
	.fv_top_inner{
		left:50%;
		position:absolute;
		top:50%;
		transform:translate(-50%,-50%);
		width:80%;
	}
}
@media screen and (max-width:768px){
	.fv_top_inner{
		width:100%;
	}
}
/*.fv_top_logo*/
@media screen and (min-width:769px){
	.fv_top_logo{
		width:25%;
	}
}
@media screen and (max-width:768px){
	.fv_top_logo{
		background:url(../img/bg_fv_top_logo_sp.webp) no-repeat center center / cover;
		padding:40px 0;
		text-align:center;
	}
}
.fv_top_logo img{
	height:90px;
}
@media screen and (max-width:768px){
	.fv_top_logo .site_disc{
		font-size:14px;
		margin-top:10px;
	}
}
/*fv_top_slider*/
.fv_top_slider_wrap{
	position:relative;
}
@media screen and (min-width:769px){
	.fv_top_slider_wrap{
		width:50%;
	}
}
@media screen and (max-width:768px){
	.fv_top_slider_wrap{
		padding:40px 5% 40px;
		background:url(../img/bg_fv_top_slider_wrap_sp.webp) no-repeat center center / cover;
	}
}
.fv_top_slider_item{
	opacity:0;
	transform:scale(0.9);
	transition:.3s;
	width:39%;
}
.on .fv_top_slider_item{
	opacity:1;
	transform:scale(1);
}
.fv_top_slider_item_link:hover{
	opacity:1;
}
@media screen and (max-width:768px){
	.fv_top_slider_item_img{
		padding:0 5.5%;
	}
}
.fv_top_slider_item_img img{
	height:auto;
	width:100%;
}
.fv_top_slider_item_body{
	color:#fff;
}
.fv_top_slider_item_date{
	font-family: 'Montserrat', sans-serif;
	font-size:12px;
	font-weight:bold;
}
.fv_top_slider_item_title{
	font-size:20px;
}
@media screen and (max-width:768px){
	.fv_top_slider_item_title{
		height:48px;
		line-height:1.2;
		margin:10px 0;
		overflow:hidden;
	}
}
.fv_top_slider_item_cat{
	font-family: 'Montserrat', sans-serif;
	font-size:12px;
	font-weight:bold;
}
/*slider dots*/
.fv_top_slider_dots{
	position:absolute;
	right:-40px;
	top:50%;
	transform:translatey(-50%);
}
@media screen and (max-width:768px){
	.fv_top_slider_dots{
		right:10px;
		top:60px;
		transform:none;
	}
}
.fv_top_slider_dots li{
	position:relative;
}
.fv_top_slider_dots li:nth-child(n+2){
	margin-top:10px;
}
.fv_top_slider_dots li:after{
	background:#ccc;
	border-radius:99em;
	content:"";
	cursor:pointer;
	display:block;
	height:5px;
	left:50%;
	position:absolute;
	top:50%;
	transform:translate(-50%,-50%);
	width:5px;
}

.fv_top_slider_dots li.active:after{
	background:#7f31d6;
	transition:.2s;
	xtransform:scale(2) translate(-20%,-20%);
}
/*slider dots loader*/
.dots_loader{
	display:block;
	transform: rotate(-90deg);
}
.dots_loader_circle{
	fill: transparent;
	stroke: #7f31d6;
	stroke-width: 2;
	stroke-dasharray: 0 63;
}
.active .dots_loader_circle{
	stroke-dasharray: 63 63;
	transition:5s;
}
/****************************************
top ranking
*****************************************/
/*ranking_top*/
.ranking_top{
	background: linear-gradient(to right,  #7259e0 0%,#71bceb 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	border-radius:4px;
	padding:60px 40px;
}
@media screen and (max-width:768px){
	.ranking_top{
		padding:30px 20px;
	}
}
.ranking_top_link{
	color:#fff;
	display:block;
}
.ranking_top_link img{
	height:auto;
	width:100%;
}
.ranking_top_time{
	font-size:12px;
	font-weight:700;
	margin-top:20px;
}
.ranking_top_title{
	font-size:24px;
	margin-top:10px;
}
@media screen and (max-width:768px){
	.ranking_top_title{
		font-size:18px;
	}
}
/*ranking_list*/
.ranking_list_item:nth-child(1){
	display:none;
}
.ranking_list_item:nth-child(n+3){
	margin-top:40px;
}
@media screen and (max-width:768px){
	.ranking_list_item:nth-child(n+3){
		margin-top:20px;
	}
}
.ranking_list_item_img{
	width:35%;
}
@media screen and (max-width:768px){
	.ranking_list_item_img{
		width:40%;
	}
}
.ranking_list_item_img img{
	display:block;
	height:auto;
	width:100%;
}
.ranking_list_item_cnt{
	width:61%;
}
@media screen and (max-width:768px){
	.ranking_list_item_cnt{
		width:55%;
	}
}
.ranking_list_item_cnt_time{
	color:#666;
	font-size:12px;
	font-weight:700;
}
.ranking_list_item_cnt_title{
	font-size:18px;
	margin-top:10px;
}
@media screen and (max-width:768px){
	.ranking_list_item_cnt_title{
		font-size:14px;
		line-height:1.4;
		margin-top:5px;
	}
}
/****************************************
top pickup
*****************************************/
.pickup{
	background:url(../img/bg_pickup.webp) no-repeat center center / cover;
	padding:200px 0;
}
@media screen and (max-width:768px){
	.pickup{
		padding:60px 0;
	}
}
@media screen and (max-width:768px){
	.pickup .inner-l{
		position:relative;
	}
}
@media screen and (min-width:769px){
	.pickup_title{
		position:relative;
		width:12.5%;
	}
	.pickup_title .sec_title{
		right:0;
		position:absolute;
		transform:rotate(90deg);
		width:270px;
	}
}
@media screen and (min-width:769px){
	.pickup_slider{
		width:87.5%;
	}
}
@media screen and (min-width:769px){
	.pickup_slider_item_cnt{
		opacity:0;
		transform:scale(0.9);
		transition:.3s;
		width:39%;
	}
	.on .pickup_slider_item_cnt{
		opacity:1;
		transform:scale(1);
	}
}
@media screen and (max-width:768px){
	.pickup_slider_item_cnt{
		margin-top:20px;
		order:2;
		width:100%;
	}
}
.pickup_slider_item_cnt_time{
	color:#666;
	font-family: 'Montserrat', sans-serif;
	font-size:12px;
	font-weight:700;
}
.pickup_slider_item_cnt_title{
	font-size:30px;
	line-height:1.4;
	margin-top:10px;
}
@media screen and (max-width:768px){
	.pickup_slider_item_cnt_title{
		font-size:24px;
		height:95px;
		overflow:hidden;
	}
}
.pickup_slider_item_cnt .btn_base{
	margin-top:30px;
}
@media screen and (min-width:769px){
	.pickup_slider_item_img{
		opacity:0;
		transform:scale(0.9);
		transition:.3s .1s;
		width:57%;
	}
	.on .pickup_slider_item_img{
		opacity:1;
		transform:scale(1);
	}
}
@media screen and (max-width:768px){
	.pickup_slider_item_img{
		padding:0 5.5%;
	}
}
.pickup_slider_item_img img{
	height:auto;
	width:100%;
}
@media screen and (min-width:769px){
	.pickup_slider_dots{
		margin:40px 0 0 auto;
		width:57%;
	}
}
@media screen and (max-width:768px){
	.pickup_slider_dots{
		position:absolute;
		right:-10px;
		top:100px;
	}
}
.pickup_slider_dots li{
	position:relative;
}
@media screen and (min-width:769px){
	.pickup_slider_dots li:nth-child(n+2){
		margin-left:10px;
	}
}
.pickup_slider_dots li:after{
	background:#ccc;
	border-radius:99em;
	cursor:pointer;
	content:"";
	display:block;
	height:5px;
	left:50%;
	position:absolute;
	top:50%;
	transform:translate(-50%,-50%);
	width:5px;
}
.pickup_slider_dots li.active:after{
	background:#7f31d6;
	transition:.5s;
	xtransform:scale(2) translate(-20%,-20%);
}

/****************************************
下層ページ　共通
*****************************************/
.header_page{
	background:url(../img/bg_header_page2.webp) no-repeat center center / cover;
	padding:10.625vw 0;
	position:relative;
}
.breadcrumb,
.breadcrumb a{
	font-size:12px;
	color:#666;
}
.breadcrumb > span{
	display:inline-block;
	margin:0 10px;
}
/****************************************
archive
*****************************************/
.archive_title{
	font-size: 48px;
    letter-spacing: 2px;
    line-height: 1;
}
@media screen and (max-width:768px){
	.archive_title{
		font-size: 24px;
	}
}
.cat_list{
	font-weight:700;
}
.cat_list .cat-item{
	padding-bottom:5px;
}
@media screen and (min-width:769px){
	.cat_list .cat-item:nth-child(n+2){
		margin-left:40px;
	}
}
@media screen and (max-width:768px){
	.cat_list .cat-item{
		width:50%;
	}
	.cat_list .cat-item:nth-child(n+3){
		margin-top:10px;
	}
}
@media screen and (min-width:769px){
	.cat_list  .current-cat{
		border-bottom:3px solid #222;
	}
}
@media screen and (max-width:768px){
	.cat_list  .current-cat a{
		color:#7f31d6;
	}
}
.nav-links{
	font-weight:700;
	margin-top:60px;
	text-align:center;
}
@media screen and (max-width:768px){
	.nav-links{
		margin-top:40px;
	}
}
.nav-links .page-numbers{
	border-radius:99em;
	display:inline-block;
	font-family: 'Montserrat', sans-serif;
	line-height:50px;
	margin:0 10px;
	width:50px;
}
@media screen and (max-width:768px){
	.nav-links .page-numbers{
		font-size:12px;
		line-height:30px;
		margin:0 5px;
		width:30px;
	}
}
.nav-links .page-numbers.prev,
.nav-links .page-numbers.next{
	display:none;
}
.nav-links .page-numbers.current{
	background: linear-gradient(to right,  #5340a5 0%,#0b93e9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	color:#fff;
}
.not_found_wrap{
	margin:0 auto;
	max-width:640px;
}
/****************************************
single
*****************************************/
.single .main{
	background:url(../img/bg_single_main.webp) no-repeat top left;
}
@media screen and (max-width:768px){
	.single .main{
		background:url(../img/bg_single_main.webp) no-repeat top right;
	}
}
/*main*/
.main_content{
	padding-top:20px;
}
@media screen and (min-width:769px){
	.main_content{
		width:72%;
	}
}
.content_cat{
	gap:10px;
}
.content_cat li a{
	background:#fff;
	border-radius:99em;
	display:inline-block;
	font-size:12px;
	font-weight:700;
	padding:5px 20px; 
}
.content_cat li.cat a{
	background: linear-gradient(to right, #5340a5 0%,#0b93e9 100%);
	color:#fff;
	font-family: 'Montserrat', sans-serif;
}
.content_cat li.tag a{
	border:1px solid #ddd;
}
.content_header_title{
	font-size:36px;
	line-height:1.4;
}
@media screen and (max-width:768px){
	.content_header_title{
		font-size:30px;
	}
}
.content_header_time{
	display:flex;
	font-family: 'Montserrat', sans-serif;
	font-size:11px;
	font-weight:700;
	gap:20px;
}
.content_header_time_pr{
	background:#fff;
	border:1px solid #666;
	color:#666;
	padding:0 5px;
}
.content_eyecatch{
	margin-bottom:40px;
}
/*toc*/
#toc_container{
	border:1px solid #ddd;
	border-radius:5px;
	counter-reset:li;
	margin-top:40px;
	padding:40px 80px;
	width:100%!important;
}
@media screen and (max-width:768px){
	#toc_container{
		margin-top:20px;
		padding:20px;
	}
}
#toc_container.contracted{
	width:100%!important;
}
#toc_container .toc_title{
	font-weight:700;
	margin-bottom:0;
	text-align:center;	
}
#toc_container .toc_list{
	margin:40px 0 0;
}
#toc_container li{
	list-style:none;
	margin:0 0 20px;
	position:relative;
}
#toc_container > ul > li{
	margin-left:0;
	padding-left:40px;
}
#toc_container > ul > li:after {
    counter-increment: li;
    content: counter(li, decimal-leading-zero);
    color: #7f31d6;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 900;
    left: 0;
    position: absolute;
    top: 2px;
}
/*child*/
#toc_container li li{
	font-size:14px;
}
#toc_container li li:after{
	background:#7f31d6;
	border-radius:50%;
	content:"";
	display:block;
	height:8px;
	left:-20px;
	position:absolute;
	top:8px;
	width:8px;
}
#toc_container .toc_list a{
	color:#222;
	font-weight:700;
	text-decoration:none;
}
#toc_container .toc_list a:hover{
	text-decoration:underline;
}
.content_cat_title{
	color:#999;
	font-family: 'Montserrat', sans-serif;
	font-size:14px;
	font-weight:700;
}
#toc_container .google-auto-placed{
	display:none;
}
/*banner_share*/
.banner_share{
	border:1px solid #222;
	border-radius:4px;
	overflow:hidden;
	padding:20px;
}
.banner_share_img{
	width:50%;
}
@media screen and (max-width:768px){
	.banner_share_img{
		width:100%;
	}
}
.banner_share_img img{
	display:block;
	height:auto;
	width:100%;
}
.banner_share_cnt{
	font-weight:700;
	width:50%;
}
@media screen and (max-width:768px){
	.banner_share_cnt{
		width:100%;
	}
}
.banner_share_cnt_text_en{
	color:#666;
	font-size:12px;
}
.banner_share_cnt_text_jp{
	font-size:18px;
}
.banner_share_cnt_btn{
	display:block;
	margin-top:10px;
}
.banner_share_cnt_btn img{
	height:60px;
	display:block;
}
@media screen and (max-width:768px){
	.banner_share_cnt_btn img{
		height:auto;
		width:100%;
	}
}
/*banner_contact*/
.banner_contact{
	background:url(../img/bg_banner_contact.webp) no-repeat center center /cover;
	border-radius:5px;
	color:#fff;
	xoverflow:hidden;
	padding:60px 0;
}
.banner_contact_text{
	font-size:18px;
	font-weight:700;
	margin-bottom:20px;
}
.banner_contact .btn_base:hover{
	opacity:1;
}
/*side*/
@media screen and (min-width:769px){
	.sidebar{
		width:24%;
	}
}
/*widget*/
.sidebar .widget{
	margin-top:60px;
}
/*title*/
.widget h2{
	font-family: 'Montserrat', sans-serif;
}
.widget h2:after {
	background: #222;
	content: "";
	display: block;
	height: 2px;
	margin-top: 10px;
	width: 20px;
}
/*sidebar post*/
.sidebar_posts_item{
	margin-top:20px;
	position:relative;
}
.sidebar_posts_item_img{
	overflow:hidden;
	width:40%;
}
.sidebar_posts_item_img a img{
	transition:.3s;
}
.sidebar_posts_item_img a:hover img{
	transform:scale(1.05);
}
.sidebar_posts_item_cnt{
	width:56%;
}
.sidebar_posts_item_cnt_title{
	font-size:12px;
	max-height:60px;
	overflow:hidden;
}
.sidebar_posts_item_cnt_time{
	color:#666;
	font-size:12px;
	font-weight:700;
	margin-top:5px;
}
.sidebar_posts_item_cnt_time img{
	height:12px;
	margin-right:10px;
}
/*sidebar_category*/
.sidebar_category_list a{
	border-top:1px solid #ccc;
	display:block;
	font-size:14px;
	font-weight:700;
	padding:20px 0;
}
.sidebar_category_list li:last-child a{
	border-bottom:1px solid #ccc;
}
/*sidebar tag*/
.sidebar_tag_list{
	background: linear-gradient(to right, #7259e0 0%,#71bceb 100%);
	border-radius:5px;
	padding:20px 20px 10px;
}
.sidebar_tag_list_item a {
    background: #fff;
    border-radius: 99em;
    color: #222;
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    margin: 0 10px 10px 0;
    padding: 5px 20px;
}
/*sidebar_sticky*/
.sidebar_sticky{
	position:sticky;
	top:40px;
}
/*sidebar toc*/
.toc_widget{
	border:1px solid #ddd;
	border-radius:5px;
	counter-reset:li;
	padding:20px;
}
.toc_widget_list{
	max-height:250px;
	overflow:scroll;
	position:relative;
}
.toc_widget_list a{
	display:block;
	font-weight:700;
	margin-top:20px;
	padding-left:30px;
	position:relative;
}
/*親*/
.toc_widget_list > li > a{
	font-size:14px;
}
.toc_widget > ul > li > a:after{
    counter-increment: li;
    content: counter(li, decimal-leading-zero);
    color: #7f31d6;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 900;
    left: 0;
    position: absolute;
    top: -1px;
}
/*子*/
.toc_widget_list ul a{
	font-size:12px;
	padding-left:30px;
}
.toc_widget_list ul a:before{
	background: #7f31d6;
	border-radius: 50%;
	content: "";
	display: block;
	height: 8px;
	left: 5px;
	position: absolute;
	top: 7px;
	width: 8px;
}
/*active*/
.toc_widget_list a.active{
	color:#7f31d6;
}

/****************************************
page
*****************************************/
.page .main{
	background:url(../img/bg_single_main.webp) no-repeat top left;
}
@media screen and (max-width:768px){
	.page .main{
		background:url(../img/bg_single_main.webp) no-repeat top right;
	}
}
.page_content{
	xpadding-top:20px;
}
/****************************************
contact
*****************************************/
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea{
	background:#eee;
	border:none;
	border-radius:10px;
	font-size:20px;
	padding:20px;
	width:100%;
}
.contact_form_item + .contact_form_item{
	margin-top:40px;
}
.contact_form_item_title{
	display:inline-block;
	margin-bottom:20px!important;
}
.submit_wrap{
	position:relative;
}
.wpcf7 input[type="submit"]{
	background: linear-gradient(to right, #5340a5 0%, #0b93e9 100%);
	border-radius:99em;
	color:#fff;
	font-size:20px;
	font-weight:700;
	padding:20px 0;
	width:500px;
}
@media screen and (max-width:768px){
	.wpcf7 input[type="submit"]{
		font-size:16px;
		width:100%;
	}
}
.wpcf7-spinner{
	position:absolute;
	right:0;
}
/****************************************
404
*****************************************/
.title_404{
	font-size:36px;
}
@media screen and (max-width:768px){
	.title_404{
		font-size:24px;
	}	
}