@charset "UTF-8";
/*
Author: 株式会社メックコミュニケーションズ
Author URI: http://www.mec-com.co.jp
*/


/*  CSS Index
--------------------------------------------------------------
@media print, screen and (min-width: 768px) {pc/print}
@media screen and (max-width: 767px) {sp}
1 : base
		: body
		: frame(max-width:1240px)
		: clearfix
		: accordion
		: pc/sp
2 : header
		: globalnav_btn
		: globalnav
		: header_search
		: header_access
3 : main
 		: mainlogo
 		: path
 		: pager
 		: layout
 		: sidebar
4 : page
 		: page_nav
 		: page_title
 		: page_kiji
5 : siteinfo
 		: siteinfo_title
 		: siteinfo_kiji
6 : single
 		: single_kiji
 		: single_page_nav
 		: single_archive
7 : blog
 		: blog_kiji
 		: blog_page_nav
 		: blog_archive
8 : footer
 		: pagetop
 		: footer_logo
 		: footer_sns
 		: footer_nav
 		: copyright
9 : print
-----------------------------------------------------------------------------------------*/


/*base
-----------------------------------------------------------------------------------------*/
*{
	margin: 0; 
	padding: 0; 
	list-style-type: none; 
	font-weight: 400;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html{
	height:100%;
	font-size:10px;
}
body{
	color:var(--color_k);
	background:#FFF;
	text-align:center;
	font-size:1.8rem;
	line-height:1.5;
	height:100%;
	min-width:375px;
	-webkit-text-size-adjust:none;
}
body {
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
   -webkit-text-size-adjust: 100%;
   overflow-wrap: break-word;
   word-wrap: break-word
}
body * {
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   box-sizing: border-box;
}
ruby{
	ruby-position:under; 
}
ruby rt{
	margin:5px 0;
	letter-spacing:1px;
}
img{
	border-width: 0px;
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
	width /***/:auto;
}
* html img{
	border-width: 0px;
	vertical-align: top;
	padding:-1px;
}
*:first-child+html img {
	border-width: 0px;
	vertical-align: middle;
	padding:-1px;
}
h1,h2,h3,h4,h5,h6,p,ul,dl,input,table,figure,ol,.dot{
	font-size:1.8rem;
	line-height:1.5;
	margin:0;
}
figcaption{
	font-size:1.8rem;
	font-weight:bold;
	margin-top:0.3em;
}
time{
  font-size:inherit;
  color:inherit;
  font-weight:inherit;
}
/*@media screen and (max-width: 767px) {h1,h2,h3,h4,h5,h6,p,ul,dl,input,table,figure,ol,.dot{font-size:1.7rem;}}*/
ul > li,
dl > dt,
dl > dd{
	font-size:inherit
}
span{
	font-weight:inherit;
	display:inline-block;
	text-decoration:inherit;
}
em{
	font-weight:700;
	font-style:inherit;
	color:var(--color_notice);
}
strong{
	font-weight:700;
}
a{
	color:inherit;
	font-weight:inherit;
	text-decoration: none;
	outline:none;
	-webkit-text-decoration-skip: none;
}
a:hover {
	text-decoration: none;
	outline:none;
}
a:link,a:visited,a:hover,a:active {
	outline:none;
}
hr{
	border:none;
	border-bottom:1px solid rgba(0,0,0,0.2);
	margin:50px 0;
}
@media screen and (max-width: 767px) {hr{margin:30px 0;}}
#wrapper{
	width:100%;
	min-height:100vh;
	display:flex;
	flex-direction:column;
	overflow:hidden;
}
/*-------------------------frame*/
.frame{
	max-width:1240px;
	margin:0 auto;
	text-align:left;
	position:relative;
	padding:0 30px;
}
@media screen and (max-width: 767px) {
.frame{padding:0 20px;}
.frame.sp0{padding:0;}
}
/*-------------------------clearfix*/
.clearfix::after{
	display: block;
	clear: both;
	content: "";
}
/*-------------------------accordion*/
.accordion{
	display:none;
}
.accordion.open{
	display:block;
}
.acc_btn{
	cursor:pointer;
}
/*-------------------------pc/sp*/
@media screen and (max-width: 767px) {#wrapper .pc{display:none;}}
@media print, screen and (min-width: 768px) {#wrapper .sp{display:none;}}






/*header
-----------------------------------------------------------------------------------------*/
/*ヘッダーの高さ*/
@media print, screen and (min-width: 1024px) {body{--hh:120px;}}
@media screen and (max-width: 1023px) {body{--hh:90px;}}
@media screen and (max-width: 767px) {body{--hh:70px;}}
header{
	z-index:1000;
	text-align:center;
	max-width:100%;
	min-width:375px;
	position:fixed;
	top:0;
	right:0;
	height:var(--hh);
	transition:all 0.3s;
}
#wrapper.scroll header{
}
/*-------------------------globalnav_btn*/
.globalnav_btn{
	position:absolute;
	right:0;
	top:0;
	width:var(--hh);
	height:var(--hh);
	z-index:1000;
	background:var(--color_ao) url(images/globalnav_btn.svg) center no-repeat;
	background-size:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10%;
	padding-top:50px;
	font-size:1.8rem;
	color:#FFF;
}
.globalnav_btn::after{
	margin-top:-0.25em;
	content:"メニュー";
}
.globalnav_btn.open{
	background:var(--color_kon);
	padding-top:0;
}
.globalnav_btn.open::after{
	display:none;
}
.globalnav_btn:hover{
	filter:brightness(120%);
}
.globalnav_btn.open:hover{
	filter:brightness(90%);
}
.globalnav_btn span{
	content:"";
	display:block;
	width:40%;
	height:1px;
	background:#FFF;
	transition: all 0.4s;
}
.globalnav_btn span:nth-child(1){margin-left:-10%;}
.globalnav_btn span:nth-child(2){margin-right:-10%;}
.globalnav_btn.open span{
	width:60%;
	height:2px;
	position:absolute;
	margin:0 !important;
}
.globalnav_btn.open span:nth-child(1){
	transform:rotate(-45deg);
}
.globalnav_btn.open span:nth-child(2){
	transform:rotate(45deg);
}
@media screen and (max-width: 1023px) {
	.globalnav_btn{font-size:1.5rem;padding-top:39px;}
}
@media screen and (max-width: 767px) {
	.globalnav_btn{font-size:1.2rem;padding-top:30px;}
	.globalnav_btn::after{font-weight:500;}
}
/*-------------------------globalnav*/
.globalnav{
	padding:15px;
	padding-bottom:100px;
	height:100vh;
	width:100vw;
	overflow:auto;
	background:rgb(255,255,255,0.95);
	backdrop-filter: blur(5px);
	background:#FFF;
	position:relative;
}
.globalnav nav,
.header_search{
	max-width:600px;
	margin:0 auto;
}
.globalnav nav ul{
	gap:3px;
}
.globalnav nav ul a{
	height:120px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	font-weight:bold;
	font-size:20px;
	line-height:1.5;
	color:var(--color_kon);
	background:var(--color_hai);
}
.globalnav nav ul a img{
	mix-blend-mode:multiply;
}
.globalnav nav ul a.current,
.globalnav nav ul a:hover{
	background:var(--color_mizu);
}
.globalnav .sns a img{
	transition:all 0.2s;
}
.globalnav .sns a:hover img{
  transform: scale(1.1); 
}
@media screen and (max-width: 767px) {
	.globalnav nav ul a{height:92px;font-size:18px;}
	.globalnav nav ul a img{width:45px;height:45px;}
	}
/*-------------------------header_search*/
.header_search_form{
	height:50px;
	width:100%;
	border:1px solid var(--color_kon);
	border-radius:25px;
	overflow:hidden;
	z-index:1;
}
.header_search input[type="text"]{
	width:calc(100% - 60px);
	height:100%;
	border:none;
	border-radius:2px;
	float:left;
	text-indent:15px;
	background:none;
	font-weight:500;
}
.header_search [type="text"]:focus {
	outline: 0;
}
.header_search input[type="submit"]{
	width:60px;
	height:100%;
	border:none;
	background:url(images/search_btn.svg) center center no-repeat;
	cursor:pointer;
}
.header_search input[type="submit"]:hover{
	background-color:var(--color_mizu);
}
.header_search .search_btn{
	display:none;
}
/*-------------------------header_access*/
.header_access a{
	position:absolute;
	padding:5px;
	top:0;
	right:var(--hh);
	width:var(--hh);
	height:var(--hh);
	background:#cd456a url(images/header_access.svg) center no-repeat;
	background-size:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	padding-top:64px;
	font-size:1.8rem;
	color:#FFF;
}
.header:has(.open) .header_access a{
	z-index:-1;
}
.header_access a:hover{
	filter:brightness(120%);
}
@media screen and (max-width: 1023px) {
	.header_access a{font-size:1.5rem;padding-top:50px;}
}
@media screen and (max-width: 767px) {
	.header_access a{font-size:1.2rem;padding-top:41px;font-weight:500;}
}




/*main
-----------------------------------------------------------------------------------------*/
main{
	display:block;
	width:100%;
	margin:0 auto;
	position:relative;
}
main.home{
	padding:var(--mp);
}
/*wrapper*/
@media print, screen and (min-width: 1024px) {main{--mp:40px;}}
@media screen and (max-width: 1023px) {main{--mp:25px;}}
@media screen and (max-width: 767px) {main{--mp:15px;}}

/*-------------------------mainlogo*/
.mainlogo{
	position:relative;
	z-index:1000;
	height:var(--hh);
	padding-left:var(--mp);
	margin-right:calc(var(--hh) * 2);
}
.header:has(.open) + main .mainlogo {
	z-index:5;
}
.mainlogo a{
	transition:all 0.3s;
	display:flex;
	align-items:center;
	height:100%;
	aspect-ratio:2.15 / 1;
}
.mainlogo a:hover{
	opacity:0.8;
}

/*-------------------------path*/
.path{
	font-size:1.4rem;
	font-weight:300;
	padding:1em;
	text-align:left;
	line-height:1.75;
	position:relative;
	z-index:10;
}
.page_title + .path{
	position:absolute;
	top:calc(var(--hh) + 400px);
	width:calc(50%  - 90px);
}
.path a::after {
	content: "";
	display: inline-block;
	width: 0.4em;
	height: 0.4em;
	border-top: 1px solid #666;
	border-right: 1px solid #666;
	transform: rotate(45deg);
	margin:0 0.3em;
}
.path ol,.path li{
	font-size:inherit;
	display:inline;
	color:#555;
}
.path a:hover{
	text-decoration:underline;
}
@media screen and (max-width: 1023px) {.path{font-size:1.2rem;}}
@media screen and (max-width: 767px) {.path{display:none;}}
/*-------------------------layout*/
.layout{
	display:flex;
	gap:20px;
}
/*contents*/
.contents{
	width:100%;
}
/*sidebar*/
.sidebar{
	flex-shrink:0;
	width:160px;
}
@media screen and (max-width: 767px) {
	.layout{flex-wrap:wrap;gap:0;}
	.sidebar{width:100%;}
}
/*-------------------------sidebar*/
.sidebar nav li a{
	color:var(--color_kon);
	font-size:1.6rem;
	font-weight:500;
	padding:1em;
	line-height:1.25;
	display:block;
	border-bottom:0.5px solid var(--color_ao);
}
.sidebar nav li a:hover{
	background:var(--color_mizu);
}
/*-------------------------pager*/
.pager{
	text-align:center;
}
.pager p{
	color:#555;
	font-size:1.4rem;
	margin-bottom:3px;
}
.pager li{
	display:inline-block;
}
.pager li a,
.pager li span{
	display:block;
	background:rgba(0,0,0,0.1);
	width:4rem;
	font-size:1.6rem;
	line-height:4rem;
	text-align:center;
	margin:2px;
	text-decoration:none;
}
.pager li span{
	color:#FFF;
	background:var(--color_ao);
}
.pager li span.dots{
	background:none;
	color:#4D4D4D;
	width:auto;
	padding:0;
}
.pager li a:hover{
	background-color:#CCCCCC;
}

/*page
-----------------------------------------------------------------------------------------*/
/*-------------------------page_nav*/
.page_nav li{
	position:absolute;
	top:var(--hh);
	font-size:20px;
	width:var(--hh);
	height:400px;
	z-index:1;
	transition:all 0.3s;
}
@media screen and (max-width: 767px) {
.page_nav li{font-size:14px;height:200px;}
}
.page_nav .prev{left:0;}
.page_nav .next{right:0;}
.page_nav a{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.5);
	color:rgba(255,255,255,0.9);
	transition:all 0.2s;
}
body .page_nav a:hover{
	background:var(--color_kon);
	color:#FFF;
}
@media print, screen and (min-width: 1420px) {
	.scroll .page_nav li{position:fixed;font-size:18px;height:300px;width:50px;top:calc(50% - 200px);}
	.scroll .page_nav a{background:var(--color_mizu);color:var(--color_link);}
}

/*-------------------------page_title*/
.page_title{
	position:relative;
	margin:0 auto;
	width:3.6em;
	min-height:350px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0.5em 0.6em;
	background:rgb(246,246,246,0.9);
	backdrop-filter: blur(3px);
	margin-top:-300px;
	font-size:5rem;
}
.page_title .inner{
  writing-mode: vertical-rl;
  display: flex;
  flex-direction: column; 
  align-items: flex-start;
}
.page_title span,
.page_title h1{
	font-family: "Noto Serif JP", serif;
	line-height:1.15;
	text-orientation: mixed;
	writing-mode: vertical-rl;
	text-orientation: upright;
	text-align:left;
}
.page_title span{
	font-size:40%;
	margin-left:0.2em;
	margin-right:-0.8em;
}
.page_title h1{
	font-size:inherit;
	font-weight:bold;
}
.page_title h1 span{
	font-size:50%;
	display:block;
	margin-right:0.15em;
	margin-left:-0.5em;
}
@media screen and (max-width: 767px) {
	.page_title{min-height:180px;margin-top:-160px;font-size:3rem;}
}
/*-------------------------page_kiji*/
.page_kiji  p{
	line-height:1.75;
	margin-bottom:20px;
}
.page_kiji  figcaption p{
	margin-bottom:0;
}
/*見出し1*/
.page_kiji > section:first-child h2,
.page_kiji > h2:first-child{
	margin-top:0.2em;
}
.page_kiji h2{
	font-family: "Noto Serif JP", serif;
	font-size:3.2rem;
	margin-top:3em;
	margin-bottom:0.5em;
	letter-spacing:0.1em;
	position:relative;
}
.page_kiji h2:has(.ruby) {
	padding-bottom:0.5em;
}
.page_kiji h2 .ruby{
	position:absolute;
	left:0;
	top:5.2rem;
	font-size:50%;
	letter-spacing:0.1em;
}
.page_kiji h2:first-letter{
	color:var(--color_ao);
	font-size:125%;
	padding-right:3em;
	padding-top:0.2em;
	margin-right:-2.95em;
	border-top:1px solid var(--color_ao);
}
.page_kiji h2.reset{
	letter-spacing:0;
}
.page_kiji h2.reset:first-letter{
	color:inherit;
	font-size:inherit;
	padding:0;
	margin:0;
	border:none;
}
/*見出し2*/
.page_kiji h3{
	font-size:2.4rem;
	font-family: "Noto Serif JP", serif;
	font-weight:bold;
	color:#000;
	margin-top:20px;
	margin-bottom:0.5em;
}
/*見出し3*/
.page_kiji h4{
	font-size:2rem;
	font-weight:bold;
	color:var(--color_ao);
	margin-top:1.5em;
	border-bottom:1px solid var(--color_ao);
	padding-bottom:0.3em;
	margin-bottom:0.5em;
}
.page_kiji figure{
	margin-bottom:20px;
}
@media screen and (max-width: 767px) {
	.page_kiji h2{font-size:2.4rem;letter-spacing:1px;}
	.page_kiji h2 .ruby{top:4rem;}
	.page_kiji h3{font-size:2rem;margin-top:15px;}
	.page_kiji h4{font-size:1.9rem;}
	.page_kiji figure{margin-bottom:15px;}
}
/*番号なしリスト*/
.page_kiji ul:not(.reset) > li{
	font-size:inherit;
	margin-left:1em;
}
.page_kiji ul:not(.reset) > li:before{ 
	margin-left:-1em;
	display:inline-block; 
	content:'';
	width:1em;
	height:1em;
	background:rgba(0,0,0,1);
	border-radius:50%;
	transform:scale(0.6) translateY(0.3em);
}
.page_kiji ul:not(.reset) > li + li{margin-top:0.5em;}
/*番号リスト*/
.page_kiji ol > li{
	font-size:inherit;
	list-style-type:decimal;
	margin-left:1.5em;
}
.page_kiji ol > li + li{margin-top:0.5em;}
.page_kiji .hensyu{display:block;top:-50px;}

/*siteinfo
-----------------------------------------------------------------------------------------*/
/*-------------------------siteinfo_title*/
.siteinfo_title{
	background:var(--color_hai);
	width:100%;
	position:relative;
	padding:30px 0;
}
.siteinfo_title .fade{
	position:absolute;
	left:50%;
	bottom:-50px;
	width:700px;
}
.siteinfo_title h1{
	z-index:1;
	position:relative;
	font-family: "Noto Serif JP", serif;
	font-size:4rem;
}
.siteinfo_title p{
	position:relative;
}
@media screen and (max-width: 1023px) {
	.siteinfo_title .fade{left:auto;right:-200px;}
}
@media screen and (max-width: 767px) {
	.siteinfo_title{padding:20px 0;}
	.siteinfo_title h1{font-size:2.8rem;}
	.siteinfo_title .fade{right:-100px;bottom:-30px;width:400px;}
}
/*-------------------------siteinfo_kiji*/
.siteinfo_kiji  p{
	line-height:1.75;
}
.siteinfo_kiji h2{
	font-family: "Noto Serif JP", serif;
	font-weight:bold;
	font-size:3.2rem;
	margin-bottom:0.3em;
}
.siteinfo_kiji h3{
	font-size:2.4rem;
	font-weight:bold;
	color:#000;
	margin-top:2em;
	margin-bottom:0.5em;
}
.siteinfo_kiji h4{
	font-size:2rem;
	font-weight:bold;
	margin-top:2em;
	margin-bottom:0.5em;
}
@media screen and (max-width: 767px) {
	.siteinfo_kiji h2{font-size:2.4rem;}
	.siteinfo_kiji h3{font-size:2rem;}
	.siteinfo_kiji h4{font-size:1.9rem;}
}
.siteinfo_kiji ul:not(.reset) > li{
	font-size:inherit;
	margin-left:1em;
}
.siteinfo_kiji ul:not(.reset) > li:before{ 
	margin-left:-1em;
	display:inline-block; 
	content:'';
	width:1em;
	height:1em;
	background:rgba(0,0,0,1);
	border-radius:50%;
	transform:scale(0.6) translateY(0.3em);
}
.siteinfo_kiji ul:not(.reset) > li + li{margin-top:0.5em;}
.siteinfo_kiji .hensyu{display:block;top:-50px;}
/*-------------------------main_search*/
.main_search_form{
	height:50px;
	width:100%;
	background:rgba(0,0,0,0.05);
	overflow:hidden;
	border-radius:25px;
	overflow:hidden;
	z-index:1;
}
.main_search input[type="text"]{
	width:calc(100% - 60px);
	height:100%;
	border:none;
	border-radius:2px;
	float:left;
	text-indent:15px;
	background:none;
	font-weight:500;
}
.main_search [type="text"]:focus {
	outline: 0;
}
.main_search input[type="submit"]{
	width:60px;
	height:100%;
	border:none;
	background:url(images/search_btn.svg) center center no-repeat;
	cursor:pointer;
}


/*single
-----------------------------------------------------------------------------------------*/
/*-------------------------single_data*/
.single_data{
	display:flex;
	align-items:end;
	gap:1em;
}
.single_data time{
	color:var(--color_kon);
	font-weight:500;
	flex-shrink:0;
}
.single_data span{
	margin:-50px -50px auto auto;
	background:var(--color_kon);
	color:#FFF;
	font-weight:bold;
	line-height:1.25;
	padding:0.5em;
}
@media screen and (max-width: 767px) {
	.single_data{font-size:1.4rem;}
	.single_data span{margin:-15px -15px auto auto;font-size:1.5rem;}
}
/*-------------------------single_kiji*/
.single_kiji.single_w{
	margin:0 auto;
	width:100%;
	max-width:1100px;
	padding:50px 50px 70px 50px;
}
.single_kiji{
	position:relative;
	z-index:10;
	text-align:left;
	background:#FFF;
}
.single_kiji h1{
	font-family: "Noto Serif JP", serif;
	font-size:3.5rem;
	font-weight:bold;
	color:var(--color_kon);
	letter-spacing:0.1em;
	padding:20px 0;
	border-bottom:1px solid var(--color_kon);
}
.single_kiji h2{
	font-size:2.4rem;
	color:var(--color_kon);
	font-weight:bold;
	margin-top:2em;
	margin-bottom:0.5em;
}
.single_kiji > h2:first-child,
.single_kiji > h3:first-child,
.single_kiji > h4:first-child,
.single_kiji > p:first-child,
.single_kiji > p.single_data{
	margin-top:0;
}
.single_kiji h2 + h2{
	margin-top:1em;
}
.single_kiji h2 + p,
.single_kiji h3 + p,
.single_kiji h4 + p{
	margin-top:0;
}
.single_kiji h3{
	font-size:2rem;
	font-weight:bold;
	background:var(--color_kon);
	color:#FFF;
	padding:0.3em 0.6em;
	margin-top:2em;
	margin-bottom:0.5em;
}
.single_kiji h4{
	font-size:2rem;
	font-weight:bold;
	color:var(--color_ao);
	border-bottom:1px solid var(--color_ao);
	padding-bottom:0.1em;
	margin-top:0.75em;
	margin-bottom:0.5em;
}
.single_kiji p{
	line-height:1.75;
	margin-top:1.75em;
}
.single_kiji table{
	margin-top:1.75em;
}
.single_kiji table th{
	font-weight:bold;
	white-space:nowrap;
}
.single_kiji table p{
	margin-top:0;
}
/*番号なしリスト*/
.single_kiji ul:not(.reset){
	margin-top:1.75em;
}
.single_kiji ul:not(.reset) > li{
	font-size:inherit;
	margin-left:1em;
}
.single_kiji ul:not(.reset) > li:before{ 
	margin-left:-1em;
	display:inline-block; 
	content:'';
	width:1em;
	height:1em;
	background:rgba(0,0,0,1);
	border-radius:50%;
	transform:scale(0.6) translateY(0.3em);
}
.single_kiji ul:not(.reset) > li + li{margin-top:0.5em;}
/*番号リスト*/
.single_kiji ol > li{
	font-size:inherit;
	list-style-type:decimal;
	margin-left:1.5em;
}
.single_kiji ol > li + li{margin-top:0.5em;}
@media print, screen and (min-width: 768px) {
	.single_kiji p{font-size:1.8rem;}
	.single_kiji table th{white-space:nowrap;}
}
@media screen and (max-width: 767px) {
	.single_kiji h1{font-size:2.4rem;padding:15px 0;}
	.single_kiji.single_w{padding:15px 15px 30px 15px;}
	.single_kiji h2{font-size:2rem;}
	.single_kiji h3{font-size:1.8rem;}
	.single_kiji h4{font-size:1.8rem;}
}

/* YouTubeのサイズ調整 */
	.single_kiji iframe[src*="youtube.com"],
	.single_kiji> iframe[src*="youtu.be"],
	.single_kiji .entry-content iframe[src*="youtube.com"],
	.single_kiji .entry-content iframe[src*="youtu.be"] {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    display: block;
    margin: 10px auto; 
}
/*-------------------------single_page_nav*/
.single_page_nav{
	display:flex;
	padding:20px 0;
	font-size:1.4rem;
	color:var(--color_kon);
	gap:1em;
	mix-blend-mode:multiply;
}
.single_page_nav a{
	text-align:left;
	line-height:1.25;
	display:flex;
	align-items:center;
	padding:0.7em;
	color:var(--color_kon);
	background:var(--color_hai);
	gap:0.3em;
}
.single_page_nav a::before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.3em 0.5em 0.3em 0;
	border-color: transparent var(--color_kon) transparent transparent;
	transition:all 0.3s;
}
.single_page_nav a:hover::before{
	transform:translateX(-0.3em);
}
.single_page_nav .right a{
	flex-direction:row-reverse;
}
.single_page_nav .right a::before{
	transform:rotate(180deg);
}
.single_page_nav .right a:hover::before{
	transform:translateX(0.3em) rotate(180deg);
}

/*-------------------------single_archive*/
.single_archive{
}
.single_archive ul{
	border-top:0.5px solid var(--color_ao);
	border-bottom:0.5px solid var(--color_ao);
	display:grid;grid-template-columns: repeat( auto-fill, minmax(6em,1fr) ) ;
}
.single_archive ul a{
	display:block;
	padding:1em;
	color:var(--color_ao);
	background:#FFF;
}
.single_archive ul a:hover{
	background:var(--color_mizu);
}

/*blog
-----------------------------------------------------------------------------------------*/
/*-------------------------blog_w*/
.blog_w{
	margin:0 auto;
	width:100%;
	max-width:1000px;
}
/*-------------------------blog_kiji*/
.blog_kiji{
	position:relative;
	z-index:10;
	text-align:left;
}
.blog_kiji h1{
	font-family: "Noto Serif JP", serif;
	font-size:3.5rem;
	font-weight:bold;
	color:var(--color_kon);
	letter-spacing:0.1em;
	padding:30px 0;
	margin-bottom:50px;
	border-bottom:1px solid var(--color_ao);
}
.blog_kiji h1 + h2{
	margin-top:0;
}
.blog_kiji h2{
	font-size:2.4rem;
	font-weight:bold;
	color:#000;
	margin-top:2em;
	margin-bottom:0.5em;
}
.blog_kiji h3{
	font-size:2rem;
	font-weight:bold;
	background:var(--color_kon);
	color:#FFF;
	padding:0.3em 0.6em;
	margin-top:2em;
	margin-bottom:0.5em;
}
.blog_kiji h4{
	font-size:2rem;
	font-weight:bold;
	color:var(--color_ao);
	border-bottom:1px solid var(--color_ao);
	padding-bottom:0.1em;
	margin-top:2em;
	margin-bottom:0.5em;
}
.blog_kiji h1 + h2,
.blog_kiji h1 + h3,
.blog_kiji h1 + h4{
	margin-top:0;
}
.blog_kiji h2 + h2{
	margin-top:1em;
}
.blog_kiji p{
	line-height:1.75;
}
.blog_kiji p + p{
	margin-top:1.75em;
}
@media print, screen and (min-width: 768px) {
	.blog_kiji p{font-size:1.8rem;}
}
@media screen and (max-width: 767px) {
	.blog_kiji{padding:0 20px;}
	.blog_kiji h1{font-size:2.4rem;padding-bottom:15px;margin-bottom:20px;}
	.blog_kiji h2{font-size:2rem;}
	.blog_kiji h3{font-size:1.8rem;}
	.blog_kiji h4{font-size:1.8rem;}
}
/*-------------------------blog_page_nav*/
.blog_page_nav{
	display:flex;
	padding:20px 0;
	font-size:1.4rem;
	color:var(--color_kon);
	gap:1em;
	mix-blend-mode:multiply;
}
.blog_page_nav a{
	text-align:left;
	line-height:1.25;
	display:flex;
	align-items:center;
	padding:0.7em;
	color:var(--color_kon);
	background:var(--color_hai);
	gap:0.3em;
}
.blog_page_nav a::before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.3em 0.5em 0.3em 0;
	border-color: transparent var(--color_kon) transparent transparent;
	transition:all 0.3s;
}
.blog_page_nav a:hover::before{
	transform:translateX(-0.3em);
}
.blog_page_nav .right a{
	flex-direction:row-reverse;
}
.blog_page_nav .right a::before{
	transform:rotate(180deg);
}
.blog_page_nav .right a:hover::before{
	transform:translateX(0.3em) rotate(180deg);
}

/*-------------------------blog_archive*/
.blog_archive{
}
.blog_archive ul{
	border-top:0.5px solid var(--color_ao);
	border-bottom:0.5px solid var(--color_ao);
	display:grid;grid-template-columns: repeat( auto-fill, minmax(6em,1fr) ) ;
}
.blog_archive ul a{
	display:block;
	padding:1em;
	color:var(--color_ao);
	background:#FFF;
}
.blog_archive ul a:hover{
	background:var(--color_mizu);
}


/*footer
-----------------------------------------------------------------------------------------*/
footer{
	position:relative;
	margin-top:auto;
	text-align:center;
	padding:40px 20px;
}
/*-------------------------pagetop*/
.pagetop{
	position:fixed;
	bottom:-90px;
	right: 0;
	z-index:20;
	transition:all 0.3s;
}
.pagetop.fadein{
	bottom:-1px;
}
.pagetop a{
	display:block;
	width:90px;
	height:90px;
	font-size:14px;
	line-height:1;
	font-weight:500;
	background:url(images/pagetop.svg) left no-repeat;
	background-size:200% 100%;
	color:#66acce;
	padding-top:0.5em;
}
.pagetop a .kaeru{display:none;}
.pagetop a:hover{
	background-position:right;
	padding-top:0;
}
.pagetop a:hover .uehe{display:none;}
.pagetop a:hover .kaeru{display:inline-block;}
.pagetop a::before,
.pagetop a::after{
	content:"";
	display:inline-block;
	width:1px;
	height:0.6em;
	background:#66acce;
	transform:rotate(-30deg);
	margin:0 0.5em
}
.pagetop a::after{
	transform:rotate(30deg);
}
@media screen and (max-width: 767px) {
	.pagetop{right:15px;}
	.pagetop a{width:70px;height:70px;font-size:12px;}
}
/*-------------------------footer_logo*/
.footer_logo img{
	filter: brightness(0) invert(1);
}
/*-------------------------footer_sns*/
.footer_sns a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	transition:all 0.2s;
	filter: brightness(0) invert(1);
}
.footer_sns a:hover {
  transform: scale(1.1); 
}
/*-------------------------footer_nav*/
.footer_nav a:hover{
	text-decoration:underline;
}
/*-------------------------copyright*/
.copyright{
	font-size:12px;
	display:block;
	text-align:center;
}
