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

/*  CSS Index
--------------------------------------------------------------
ヘッダーのロゴは縦の長さで横幅を自動調整します。
比率に注意してください。
--------------------------------------------------------------
@media print, screen and (min-width: 740px) {pc/print}
@media screen and (max-width: 739px) {sp}
1 : base
 	  : body
 	  : frame(max-width:1000px)
 	  : clearfix
 	  : accordion
 	  : pc/sp
2 : header
 	  : pc(media min-width:740px)
 	  	  : header_logo(pc)
 	  	  : header_nav_btn(pc)
 	  	  : globalnav_btn(pc)
 	  	  : globalnav(pc)
 	  	  	  : accordionopen(pc)
 	  	  : header_search(pc)
 	  : sp(media min-width:739px)
 	  	  : header_logo(sp)
 	  	  : header_nav_btn(sp)
 	  	  : globalnav_btn(sp)
 	  	  : globalnav(sp)
 	  	  	  : accordionopen(sp)
 	  	  : header_search(sp)
3 : main
 	  : path
 	  : pager
4 : single
5 : access_map
6 : footer
 	  : footer_nav
 	  : footer_logo
 	  : footer_data
 	  : pagetop
 	  : copyright
7 : print
-----------------------------------------------------------------------------------------*/


/*base
-----------------------------------------------------------------------------------------*/
*{
	margin: 0; 
	padding: 0; 
	list-style-type: none; 
	font-weight: 500;
	-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:#000;
	background:#FFF;
	text-align:center;
	font-size:100%;
	line-height:1.5;
	height:100%;
	min-width:1060px;
	-webkit-text-size-adjust:none;
}
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
   -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;
}
@media screen and (max-width: 740px) {
	body{min-width:375px;margin:0 auto;}
}
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,dt,dd,ol,.dot{
	font-size:1.6rem;
	line-height:1.875;
	margin:0;
}
/*日時など*/
time{
  font-family: "Zen Kaku Gothic New", sans-serif;
}
/*@media screen and (max-width: 739px) {h1,h2,h3,h4,h5,h6,p,ul,dl,input,table,figure,ol,.dot{font-size:1.6rem;}}*/
ul > li,
dl > dt,
dl > dd{
	font-size:inherit
}
span{
	font-weight:inherit;
	display:inline-block;
}
table {
	empty-cells:show; 
	border-collapse:collapse; 
	border-spacing:0;
}
em{
	font-style:normal;
	font-weight:inherit;
}
strong{
	font-weight:bold;
}
a{
	color: #004D99;
	text-decoration: none;
	outline:none;
	font-weight:inherit;
	-webkit-text-decoration-skip: none;
}
a:hover {
	text-decoration: none;
	outline:none;
}
a:link,a:visited,a:hover,a:active {
	outline:none;
}
/*画像のhoverは透過*/
a:hover img{
	opacity: 0.75;
	filter: alpha(opacity=75);
	-moz-opacity: 0.75;
}
hr{
	border:none;
	border-bottom:1px solid rgba(0,0,0,0.2);
	margin:70px 0;
}
@media screen and (max-width: 739px) {hr{margin:30px 0;}}
#wrapper{
	width:100%;
	min-height:100vh;
	display:flex;
	flex-direction:column;
}
@media print, screen and (min-width: 740px) {#wrapper{min-width:1200px;}}
/*-------------------------frame*/
section,
.section,
.frame{
	width:1000px;
	margin:0 auto;
	text-align:left;
	position:relative;
}
@media screen and (max-width: 739px) {
section,
.section,
.frame{width:auto;}
}
/*-------------------------clearfix*/
.clearfix::after{
	display: block;
	clear: both;
	content: "";
}
/*iframeスクロール中は固定*/
.map{
	cursor:pointer;
}
.map iframe{
	pointer-events: none;
}
.map.on iframe{
	pointer-events: auto;
}
/*-------------------------accordion*/
.accordion{
	display:none;
}
.accordion.open{
	display:block;
}
.accordionopen{
	cursor:pointer;
}
/*-------------------------pc/sp*/
@media screen and (max-width: 739px) {#wrapper .pc{display:none;}}
@media print, screen and (min-width: 740px) {#wrapper .sp{display:none;}}
/*-------------------------scrollbarを隠す*/
.globalnav .accordion{
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.globalnav .accordion::-webkit-scrollbar{
  display:none;
}



/*header
-----------------------------------------------------------------------------------------*/
/*ヘッダーの高さ*/
@media print, screen and (min-width: 740px) {#wrapper{--hh:90px;}}
@media screen and (max-width: 739px) {#wrapper{--hh:70px;}}
header{
	z-index:1000;
	width:100%;
	text-align:center;
	max-width:100%;
	min-width:375px;
	position:fixed;
	top:0;
	height:var(--hh);
	background:rgb(255,255,255,0.9);
	backdrop-filter: blur(5px);
	transition:all 0.3s;
}
#wrapper.scroll header{
	box-shadow: 0 0 6px rgba(0,0,0,0.15);
}
/*-------------------------header_logo*/
.header_logo{
	position:absolute;
	left:0;
	top:0;
	height:var(--hh);
	z-index:1;
}
.header_logo img{
	max-height:100%;
}
.header_logo a{
	height:var(--hh);
	display:flex;
	justify-content:center;
	align-items:center;
	padding:5px;
	transition:all 0.3s;
}
.header_logo a:hover{
	background:rgba(0,0,0,0.05);
}
/*----------------------------------------------------------------------------------------pc*/
@media print, screen and (min-width: 740px) {
header{
	position:-webkit-sticky;
	position:sticky;
	min-width:1200px;
}
/*-------------------------header_nav_btn(pc)*/
.header_nav_btn{
	position:absolute;
	right:0;
	top:10px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:70px;
	height:70px;
	padding:5px 0 0 5px;
	color:#FFF;
	border-top-left-radius:35px;
	border-bottom-left-radius:35px;
	font-size:15px;
	line-height:1.5;
	font-weight:bold;
	background:var(--color_mido);
	transition:all 0.3s;
	z-index:1;
	user-select: none;
}
.header_nav_btn:hover{
	filter:brightness(125%);
}
.header_nav_btn:hover img{
	transition:all 0.5s;
	transform:scale(1.2);
}
/*-------------------------globalnav_btn(pc)*/
.globalnav_btn{
	display:none;
}
/*-------------------------globalnav(pc)*/
.globalnav{
	display:block;
	position:absolute;
	top:0;
	right: 0;
	left: 0;
	margin:auto;
	padding-left:310px;
	padding-right:80px;
	width:100%;
	margin:0 auto;
	transition:all 0.3s;
}
.globalnav nav > ul{
	max-width:1200px;
	text-align:center;
	display:flex;
	margin:0 auto;
}
.globalnav nav > ul > li{
	position:relative;
	flex:1 0 auto;
}
.globalnav nav a{
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	line-height:1.25;
	color:#000;
}
.globalnav nav > ul > li > a{
	height:var(--hh);
	flex-direction:column;
	padding-bottom:5px;
	font-size:2rem;
}
.globalnav nav > ul > li > a:hover{
	background-color:rgba(0,0,0,0.05);
}
.globalnav nav > ul > li > a:after{
	content: "";
	display: block;
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:-7px;
	height: calc(tan(60deg) * 14px / 2);
	width: 14px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background:var(--color_mido);
	transition: all 0.5s;
	transform:translateY(-14px) scale(0);
}
.globalnav nav > ul > li:hover > a:after,
.globalnav nav > ul > li > a.current:after{
	transform:translateY(0) scale(1);
}
/*accordionopen(pc)*/
.globalnav nav .accordion{
	transition:all 0.3s;
	max-height:0;
	overflow:hidden;
	position:absolute;
	width:100%;
	min-width:180px;
	display:block;
    left:50%;
	transform:translateX(-50%);
}
.globalnav nav > ul > li:hover .accordion{
	overflow:auto;
	max-height:calc(100vh - 90px);
}
.globalnav nav .accordion li a{
	padding:0 0.5em;
	font-size:1.8rem;
	height:50px;
	background:var(--color_mido);
	color:#FFF;
}
.globalnav nav .accordion li {
	border-bottom:1px solid var(--color_mido3);
}
.globalnav nav .accordion li:last-child{
	border:none;
}
.globalnav nav .accordion li a.current,
.globalnav nav .accordion li a:hover,
.globalnav nav .accordion li a.non.current:hover{
	filter:brightness(125%);
}
.globalnav nav .accordion li a.non.current{
	filter:brightness(100%);
}
.globalnav .children{
	display:none;
}
/*-------------------------header_search(pc)*/
.header_search{
	position:absolute;
	width:100%;
	height:0;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	background:var(--color_mido);
	top:var(--hh);
	left:0;
	transition:all 0.3s;
}
.header_search .search_item_form{
	border:2px solid #FFF;
}
.header_search.open{
	height:150px;
}
.header_search .search_btn{
	position:absolute;
	top:0;
	right:0;
	color:#FFF;
	font-size:12px;
	font-weight:bold;
	width:48px;
	height:48px;
	padding-top:23px;
	cursor:pointer;
	background:var(--color_mido2);
}
.header_search .search_btn::before,
.header_search .search_btn::after{
	content:"";
	display:block;
	width:2px;
	height:15px;
	background:#FFF;
	position:absolute;
	top:10px;
	right:23px;
	transform:rotate(-45deg);
}
.header_search .search_btn::after{
	transform:rotate(45deg);
}
.header_search .search_btn:hover{
	filter:brightness(125%);
}
}
/*----------------------------------------------------------------------------------------sp*/
@media screen and (max-width: 739px) {
#wrapper{
	padding-top:var(--hh);
}
/*-------------------------header_nav_btn(sp)*/
.header_nav_btn{
	display:none;
}
/*-------------------------globalnav_btn(sp)*/
.globalnav_btn{
	position:absolute;
	right:0;
	top:0;
	width:var(--hh);
	height:var(--hh);
	z-index:1000;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10%;
}
.globalnav_btn span{
	content:"";
	display:block;
	width:40%;
	height:2px;
	background:var(--color_mido);
	transition: all 0.4s;
}
.globalnav_btn.open{
	background:var(--color_mido);
}
.globalnav_btn.open span{
	background:#FFF;
}
.globalnav_btn.open span:nth-child(1){
	position:absolute;
	transform:rotate(-45deg);
}
.globalnav_btn.open span:nth-child(2){
	position:absolute;
	transform:translateX(100px);
}
.globalnav_btn.open span:nth-child(3){
	position:absolute;
	transform:rotate(45deg);
}
/*-------------------------globalnav(sp)*/
.globalnav{
	padding:20px;
	height:calc(100vh - var(--hh));
	overflow:auto;
	background:var(--color_mido);
	position:relative;
	top:var(--hh);
}
.globalnav nav,
.header_search{
	max-width:600px;
	min-width:340px;
	margin:15px auto;
}
.globalnav nav > ul{
	overflow:hidden;
}
.globalnav nav > ul > li{
	background:#FFF;
	position:relative;
	border-radius:5px;
}
.globalnav nav > ul > li + li{
	margin-top:10px;
}
.globalnav nav ul li a{
	display:block;
	line-height:1.3;
	font-weight:bold;
	color:var(--color_mido2);
	height:60px;
	padding:5px 12px;
	display:flex;
	align-items:center;
	font-size:2rem;
}
.globalnav nav ul li li a.current{
	background:var(--color_mido3);
	font-weight:bold;
}
.globalnav nav ul li li a.non.current{
	background:none;
}
/*accordionopen(sp)*/
.globalnav nav .accordionopen{
	width:100%;
	height:60px;
	position:absolute;
	right:0;
	top:0;
}
.globalnav nav .accordionopen::before,
.globalnav nav .accordionopen::after{
	content:"";
	display:block;
	width:14px;
	height:2px;
	background:var(--color_mido);
	position:absolute;
	right:14px;
	top:29px;
}
.globalnav nav .accordionopen::after{
	transform:rotate(90deg);
}
.globalnav nav .accordionopen.open::after,
.globalnav nav ul li a.current + p.accordionopen::after{
	display:none;
}
.globalnav nav ul li a.current + p.accordionopen.open::after{
	display:block;
}
/*accordion(sp)*/
.globalnav nav .accordion li a{
	border-top:2px solid var(--color_mido);
	font-weight:500;
	font-size:1.8rem;
}
#wrapper .globalnav nav ul li a.current + p + .accordion{
	display:block;
}
.globalnav nav .accordion li .children{
	display:none;
}
.globalnav nav .accordion li .children li a{
	border-top:1px dashed var(--color_mido);
}
.globalnav nav .accordion li.current_page_item .children,
.globalnav nav .accordion li.current_page_parent .children{
	display:block;
}
/*-------------------------header_search(sp)*/
.header_search{
	display:flex;
	justify-content:center;
	align-items:center;
}
.header_search .search_item_form{
	border:2px solid #FFF;
}
.header_search .search_btn{
	display:none;
}
}


/*main
-----------------------------------------------------------------------------------------*/
main{
	display:block;
	position:relative;
	z-index:0;
	width:100%;
	overflow:hidden;
}



/*contents
-----------------------------------------------------------------------------------------*/



/*ぱんくず
-----------------------------------------------------------------------------------------*/
#path{
	text-align:left;
	margin:0 auto;
	border-top:1px solid #00B14B;
	z-index:-1;
}
#path p{
	font-size:1.2em;
	letter-spacing:1px;
	color:#666666;
	padding:5px 15px;
}
#path p a:hover{
	text-decoration:underline;
}
#path p strong{
	font-weight:normal;
}
@media screen and (max-width: 739px) {
	#path p{font-size:1em;padding:5px 10px;}
}

/*ページャー
-----------------------------------------------------------------------------------------*/
article .bg .pager{
	background:none;
	padding:0;
}
.pager{
	position:relative;
	overflow:hidden;
	margin:0;
	padding:0;
}
.pager p{
	font-size:1.2em;
}
.pager ul{
	position:relative;
	left:50%;
	float:left;
}
.pager li{
	position:relative;
	left:-50%;
	float:left;
	margin:2px;
}
.pager a.page-numbers,
.pager .current{
	background:#FFFFFF;
	display:block;
	width:2.5em;
	height:2.5em;
	line-height:2.5em;
	color:#00B14B;
	text-decoration:none;
}
.pager a:hover,
.pager .current{
	background:#00B14B;
	color:#FFF;
}

/*search
-----------------------------------------------------------------------------------------*/
#search .frame p{
	padding:5px 0 5px 1.5em;
	background:url(images/ya.png) 0 0.65em no-repeat;
	background-size:1em;
	border-bottom:1px solid #CCC;
}
#search a{
	text-decoration:none;
}
#search a:hover{
	text-decoration:underline;
}
/*-------------------------該当なし*/
#search p.none{
	padding-left:0;
	background:none;
	border:none;
}
@media print, screen and (min-width: 740px) {
#search form{
	width:452px;
	height:50px;
	background:#FFF;
	border:1px solid #CCC;
}
#search form input[type="text"]{
	width:400px;
	height:50px;
	border:none;
	background:none;
	float:right;
	font-size:18px;
	line-height:50px;
	text-indent:10px;
	color:#5C4A3C;
}
#search form input[type="submit"]{
	width:50px;
	height:50px;
	border:none;
	background:url(images/header_search_btn.png) center center no-repeat;
	float:left;
}
#search form input[type="submit"]:hover{
	background-color:#CCEFDB;
}
}
@media screen and (max-width: 739px) {
#search form{
	width:100%;
	height:32px;
	background:#FFF;
	padding-right:40px;
	position:relative;
	border:1px solid #CCC;
}
#search form input[type="text"]{
	width:100%;
	height:30px;
	border:none;
	background:none;
	font-size:16px;
	line-height:30px;
	color:#000;
	text-indent:10px;
}
#search form input[type="submit"]{
	width:40px;
	height:30px;
	border:none;
	background:url(images/header_search_btn.png) center center no-repeat ;
	background-size:25px;
	position:absolute;
	top:0;
	right:0;
}
}



/*バナー
-----------------------------------------------------------------------------------------*/
.banner_area{
	border-top:3px solid var(--color_mido);
	padding:35px 20px;
}
.banner_area li{
	text-align:center;
}
.banner_area li img{
	width:300px;
}
@media screen and (max-width: 739px) {
	.banner_area{padding:20px 35px;}
}

/*aside
-----------------------------------------------------------------------------------------*/
aside{
	display:block;
	position:relative;
	z-index:0;
	width:100%;
	overflow:hidden;
}


/*footer
-----------------------------------------------------------------------------------------*/
footer{
	color:#66574B;
	background:#F0F0EC;
	margin-top:auto;
}
/*-------------------------pagetop*/
.pagetop a{
	position:fixed;
	bottom:0;
	right: 0;
	z-index:20;
	width:80px;
	height:80px;
	font-size:18px;
	font-weight:bold;
	color:var(--color_mido);
	background:rgba(230,230,230,0.8);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding-top:10px;
	transition:all 0.3s;
}
.pagetop a::before{
	content:"";
	display:block;
	width:15px;
	height:15px;
	border:2px solid var(--color_mido);
	border-right:none;
	border-bottom:none;
	transform:rotate(45deg);
	position:relative;
	top:0;
	transition:all 0.3s;
}
.pagetop a:hover{
	background:var(--color_mido);
	color:#FFF;
}
.pagetop a:hover::before{
	border-color:#FFF;
	top:-5px;
}
@media screen and (max-width: 767px) {
	.pagetop a{width:60px;height:60px;font-size:13px;padding-top:5px;}
	.pagetop a::before{width:8px;height:8px;}
}
/*-------------------------footer_nav*/
.footer_nav{
	background:var(--color_mido);
}
.footer_nav li a{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	color:#FFF;
	font-size:14px;
	line-height:20px;
	height:60px;
	padding:0 20px;
	letter-spacing:1px;
	transition:all 0.3s;
}
.footer_nav li a::before{
	content:"";
	width:1px;
	height:calc(100% - 20px);
	position:absolute;
	left:0;
	top:10px;
	background:#FFF;
}
.footer_nav li:first-child a::before{
	display:none;
}
.footer_nav li a:hover{
	background:rgba(0,0,0,0.5);
}
@media screen and (max-width: 767px) {
	.footer_nav li:nth-child(n + 3){border-top:1px solid #FFF;}
	.footer_nav li a{height:55px;}
	.footer_nav li a[href$="privacy"] {letter-spacing:0;padding:0;}
	.footer_nav li:nth-child(odd) a::before{display:none;}
}
/*-------------------------footer_data*/
.footer_data p{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	gap:0 1em;
	line-height:1.5;
}
.footer_data li{
	width:180px;
}
@media screen and (max-width: 400px) {
	.footer_data li{width:200px;}
}
/*-------------------------footer_ban*/
.footer_ban a{
	display:flex;
	justify-content:center;
	align-items:center;
	width:230px;
	height:60px;
	padding:12px;
	margin:0 auto;
}
.footer_ban a:hover{
	background:#FFF;
}
@media print, screen and (min-width: 768px) {
.footer_ban{
	float:right;
	margin-right:80px;
}
}
/*-------------------------コピーライト*/
.footer_copyright{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	font-family:arial;
	height:60px;
	font-size:13px;
	line-height:1.5;
	gap:0 1em;
	text-align:left;
	padding:10px 15px;
}
.footer_copyright a:hover{
	text-decoration:underline;
}
@media screen and (max-width: 767px) {
.footer_copyright{font-size:10px;}
}
