@charset "UTF-8";

.headerin {
    max-width: 1200px;
    margin: 0 auto;
    display: block;
    overflow: hidden;
    clear: both;
}
#header {display:block; width:100%; background:#fff; margin:0 auto; padding:10px 10px 10px; box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);}
#header p{margin-bottom:0; line-height:1.45; letter-spacing:unset;}

/*================================================
 *  スマフォ   header
 ================================================*/
@media screen and (max-width:1000px) {
#headc, #headr{display:none;}
#pcTell{display:none;}
#header{height:65px;}
.headlogo{height:50px; width:auto;}
#headl{width:100%;}
	#spTell {
		display:block;
		z-index:2;
		position:fixed;
		top:20px;
		right:90px;
	}
	#spMail {
		display:block;
		z-index:2;
		position:fixed;
		top:20px;
		right:50px;
	}
	#tellBtn {
		display:inline-block;
		width:30px;
		height:30px;
		border-radius:5%;
		background:var(--color-d);
                color:#ffffff;
                text-align: center;
	}
	#mailBtn {
		display:inline-block;
		width:30px;
		height:30px;
		border-radius:5%;
		background:var(--color-f);
                color:#ffffff;
                text-align: center;
        }
        #tellBtn > i, #mailBtn > i {margin-top: 8px;}
}
@media screen and (max-width:399.9px) {
.headlogo{width:-webkit-calc(100vw - 145px); width:calc(100vw - 145px); height:auto;  margin-top: 5px;}
}



/*================================================
 *  PC  header
 ================================================*/
@media print, screen and (min-width:1000px) {
#spMenu, #spTell, #spMail {display:none;}
header{height:90px;}
.headlogo{height:70px; width:auto;}	
#headl{display:block; padding:0; margin:0; width:-webkit-calc(100vw - 660px); width:calc(100vw - 660px); max-width:340px;  float:left;}
#headc{display:block; padding:0; margin:-3px auto 0; width:330px; float:right; text-align:center;}
#headr{display:block; padding:0; margin:0; width:300px; float:right;}
}

a.topbtn {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 270px;
	margin: auto;
	padding: 20px 10px;
	font-weight: bold;
	border: 2px solid var(--color-f);
	background: var(--color-f);
	color: #fff;
	border-radius: 5px;
	transition: 0.5s;
	animation: move_d 10s infinite;
	box-shadow: -3px 5px 5px #ccc;
	position: relative;
        font-size:20px;
}
@keyframes move_d {
    0% {box-shadow: -3px 5px 5px #ccc; top: 0px;}
    10% {box-shadow: 0 0 0 #ccc; top: 3px;}
    20% {box-shadow: -3px 5px 5px #ccc; top: 0px;}
    30% {box-shadow: 0 0 0 #ccc; top: 3px;}
    40% {box-shadow: -3px 5px 5px #ccc; top: 0px;}
}
a.topbtn:hover {
	color: var(--color-e);
	background: #fff;
	border: 2px solid var(--color-e);
}
.toptel{width:100%; font-weight:700; margin:0 auto 5px; font-size:24px; padding: 0 !important;}
.toptel > i {font-size:90%;}
.toptext{width:100%; margin:0 auto; font-size:14px; line-height:1.2;}





/*================================================
 *  スマフォ nav

２階層目最初閉じている↓
.sub-menu {display: none;}
 ================================================*/
@media screen and (max-width:999.9px) {
nav.menu_pc{display:none;}
.lock {overflow:hidden;}
.menu_sp {display: none;}
.menu_sp.open {display: block; z-index:3;}/* Swiperスライダーより優先するためz-index　*/
.sub-menu {display: block;}
.sub-menu.open {display: block;}

nav.menu_sp {
	width:100%;
	background:#fff;
	box-shadow:0 1px 2px #d0d8dc;
	zoom:1;
}

	nav.menu_sp {
		background:var(--color-b);
                position: fixed;
                top: 65px;
	}
	nav.menu_sp > ul {
		margin:0;
		padding:0;
	}

	nav.menu_sp .inner > ul {
		z-index:2;
		overflow:auto;
		position:fixed;
		top:70px;
		right:0;
		width:100%;
		height:88%;
		height:-webkit-calc(100% - 53px);
		height:calc(100% - 53px);
	}
	nav.menu_sp li {
		position:relative;
		width:100%;
		float:none;
		margin:0;
		text-align:left;
		list-style:none;
		border-bottom:1px solid #ccc;
		background:var(--color-a);
	}

	nav.menu_sp li:first-child {
		border-top:0;
	}
	nav.menu_sp li:last-child {
		border-bottom:0;
	}

	nav.menu_sp li a {
		display:block;
		padding:10px 30px;
		color:#fff;
		text-decoration:none;
		background:var(--color-a);
	}
	nav.menu_sp li a:hover {
		color:#fff;
		background:var(--color-b);
	}
	nav.menu_sp ul ul {
		display:none;
		position:relative;
	}
	nav.menu_sp li li a {
		box-sizing:border-box;
		width:100%;
		padding:10px 30px 10px 50px;
		text-align:left;
	}

	nav.menu_sp li li li a {
		padding:10px 30px 10px 70px;
	}

	nav.menu_sp .menu-item-has-children > a:before {
		display:block;
		content:"";
		position:absolute;
		-webkit-transform:rotate(45deg);
		transform:rotate(45deg);
		top:20px;
		right:30px;
		width:10px;
		height:10px;
		margin-top:-5px;
		background:#f1f1f1;
	}
	nav.menu_sp .menu-item-has-children > a:after {
		display:block;
		content:"";
		position:absolute;
		-webkit-transform:rotate(45deg);
		transform:rotate(45deg);
		top:20px;
		right:30px;
		width:10px;
		height:10px;
		margin-top:-10px;
		background:var(--color-a);
	}
	nav.menu_sp .menu-item-has-children a:hover:after {
	  background:var(--color-b);
	}

	#spMenu {
		display:block;
		z-index:2;
		position:fixed;
		top:20px;
		right:10px;
	}
	#spMenu:hover {
		cursor:pointer;
	}

	#navBtn {
		display:inline-block;
		width:30px;
		height:30px;
		border-radius:5%;
		background:var(--color-a);
	}
	#navBtnIcon {
		display:block;
		position:absolute;
		top:50%;
		left:50%;
		width:14px;
		height:2px;
		margin:-4.5px 0 0 -7px;
		background:#f1f1f1;
		transition:.2s;
	}
	#navBtnIcon:before,
	#navBtnIcon:after {
		display:block;
		content:'';
		position:absolute;
		top:50%;
		left:0;
		width:14px;
		height:2px;
		background:#f1f1f1;
		transition:0.3s;
	}
	#navBtnIcon:before {
		margin-top:-6px;
	}
	#navBtnIcon:after {
		margin-top:4px;
	}
	#navBtn .close {
		background:transparent;
	}
	#navBtn .close:before,
	#navBtn .close:after {
		margin-top:0;
	}
	#navBtn .close:before {
		transform:rotate(-45deg);
		-webkit-transform:rotate(-45deg);
	}
	#navBtn .close:after {
		transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
	}
}

/*================================================
 *  PC  nav
 ================================================*/
@media print, screen and (min-width:1000px) {
nav.menu_sp{display:none;}
nav.menu_pc {background: var(--color-a);  width: 100%; padding:0; margin:0 auto;}
nav.menu_pc > ul {
    display: flex;
    height: 3em;
    margin: 0 auto;
    width: 1000px;
}
nav.menu_pc > ul > li {/*親階層のみ幅を25%にする*/
    width: 25%;
}
nav.menu_pc li {z-index:3;}/* Swiperスライダーより優先　*/
/*全てのリスト・リンク共通*/
nav.menu_pc > ul li {
    list-style: none;
    position: relative;
}
nav.menu_pc > ul li a {
    background: var(--color-a);
    border-right: 1px solid #eee;
    color: #fff;
    display: block;
    height: 3em;
    line-height: 3em;
    text-align: center;
    text-decoration: none;
    width: 100%;
}
nav.menu_pc > ul li:first-child a {border-left: 1px solid #eee;}

/*子階層以降共通*/
nav.menu_pc > ul li li {
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: opacity .5s;
}
nav.menu_pc > ul li li a {
    border-top: 1px solid #eee;
}
nav.menu_pc > ul li:hover > ul > li {
    height: 3em;
    opacity: 1;
    overflow: visible;
}
nav.menu_pc > ul li ul li ul {
    left: 100%;
    position: absolute;
    top: 0;
    width: 100%;
}
/*一番右のメニュー*/
nav.menu_pc > ul > li:nth-child(5) ul li ul {
    left: -100%;
}
/*hover*/ 
nav.menu_pc > ul > li:hover > a {/*親階層*/
    background: var(--color-b);
}
      
nav.menu_pc > ul > li li > a {/*子階層*/
    background: var(--color-b);
}
nav.menu_pc > ul > li li:hover > a {
    background: var(--color-c);
}
  
nav.menu_pc > ul li ul li ul li > a {/*孫階層*/
    background: var(--color-c);
}
nav.menu_pc > ul li ul li ul li:hover > a {
    background: var(--color-d);
}
  
nav.menu_pc > ul li ul li ul li ul li > a {/*ひ孫階層*/
    background: var(--color-d);
}
nav.menu_pc > ul li ul li ul li ul li:hover > a {
    background: var(--color-e);
}
  
/*リストに「??」を付ける*/
nav.menu_pc > ul > li > ul:before{/*子階層*/
    border: 5px solid transparent;
    border-top: 5px solid #fff;
    content: "";
    right: 1em;
    position: absolute;
    top: 1.5em;
    transform: translateY(-40%);
}
nav.menu_pc > ul li ul li ul:before {/*孫階層*/
    border: 5px solid transparent;
    border-left: 5px solid #fff;
    content: "";
    left: -20px;
    position: absolute;
    top: 1.5em;
    transform: translateY(-50%);
}
nav.menu_pc > ul li:nth-child(5) ul li ul:before {/*一番右のメニューの孫階層*/
    border: 5px solid transparent;
    border-right: 5px solid #fff;
    left: auto;
    right: -20px;
}


.fixed {position:fixed; top:0; left:0;}
}



/*================================================
 *  footmenu
 ================================================*/
footer{background:#fff2f3; text-align:center; width:100%;}
.copyright {
	clear:both;
	padding:20px 0;
	font-size:0.8em;
	text-align:center;
	color:#d5d5d5;
        background:#2e2e2e;
}
.copyright a {color:#fff;}
.copyright a:hover {color:#fffdc2;}

.footmenu{display:none;}
@media print, screen and (min-width: 1150px)
{
.footmenu {
        display:block;
	width:100%;
	padding:20px 0;
	overflow:hidden;
	background:#efede9;
}
.footmenu ul {
	position:relative;
	float:left;
	left:50%;
	margin:0;
	padding:0;
}
.footmenu li {
	position:relative;
	left:-50%;
	float:left;
	list-style:none;
	margin:0;
	padding:0 1em;
	font-size:0.9em;
	text-align:center;
}
.footmenu a {
	color:#333;
	text-decoration:none;
}
.footmenu a:hover {
	color:#333;
	text-decoration:underline;
}
}


/*================================================
 *  サイドメニュー
 ================================================*/
#sidebar{background: #f3f3f3;}
ul#menu-side_menu {overflow: auto;}
#menu-side_menu li, .widget li{
	margin:0;
	padding:0;
	list-style:none;
}
#menu-side_menu li a:before, .widget li a:before{
	content:"■";
	color:var(--color-a);
	padding-right: 0.5em;
	padding-left: 0.8em;
}
#menu-side_menu li a, .widget li a {
	display:block;
	color:#555;
	border-bottom:1px solid #111;
	text-decoration:none;
	padding:10px 0.2em 10px 2em;
	text-indent: -2.1em;
}
#menu-side_menu li a:hover, .widget li a:hover{
	background:#eee;
}
#menu-side_menu ul li.menu-item-has-children > a:before{
	content:"■";
	color:var(--color-b);
}
#menu-side_menu ul.sub-menu {margin-bottom:0; padding-left:0.6em;}
#menu-side_menu ul.sub-menu li{margin:0; padding: 0; text-indent: 1em;}
#menu-side_menu ul.sub-menu li a:before{
	content: "\025b6";
	color:var(--color-b);
}
#sidebar img{width:auto; max-width:320px !important; height:auto; margin-left:-webkit-calc(50vw - 160px); margin-left:calc(50vw - 160px); margin-right:-webkit-calc(50vw - 160px); margin-right:calc(50vw - 160px); margin-top:0.8em; margin-bottom:0.8em;}

@media only screen and (min-width: 540.1px) and (max-width: 1149.9px)
{
ul#menu-side_menu{border-bottom: 1px groove rgba(112, 111, 111, 0.5);}
#menu-side_menu li, .widget li{width:50%; float:left;}
#menu-side_menu li:nth-child(1n), .widget li:nth-child(1n){border-right: 1px groove rgba(112, 111, 111, 0.5);}
#menu-side_menu ul.sub-menu li{display:none; /*width: 100%; border-right: unset;*/}
#sidebar img{width:40%; height:auto; margin:1em 5% 0.8em; float:left; max-width:unset;}
}

@media print, screen and (min-width: 1150px)
{
#menu-side_menu li, .widget li{border:none; margin-top:1px;}
#menu-side_menu li:nth-child(1n), .widget li li:nth-child(1n){border-right: none;}
#sidebar img{width:100%; height:auto; margin:0.2em 0; max-width:unset;}
.side-fixed{
    position: fixed !important;
    top: 55px;
    left:-webkit-calc(50vw - 575px);
    left:calc(50vw - 575px);
    width: 250px;
    margin: 0;
    z-index: 2;
    background: #f3f3f3;
}
}

#Sidefixed div.widget_text div.textwidget {
    margin:0 auto;
}

.menu-fixed{
    position: fixed !important;
    top: 0px;
    z-index:2;
}