@charset "utf-8";
/*
------------------------------------------------------------------------
Theme Name: 	ha5i06r
Author URI:     http://www.akashi-hair.com
Description:   	ha5i06r
Version:       	1.1
Author:        	hamori
------------------------------------------------------------------------*/

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
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: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
font:90%/1.5 "メイリオ", Meiryo , '游ゴシック' , 'Yu Gothic', "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "ＭＳ Ｐゴシック" , "Lucida Sans Unicode" , "Lucida Grande" , Arial ,sans-serif;
color:#252525;
-webkit-text-size-adjust: none;
background:#fff;
}


/* リンク設定
------------------------------------------------------------*/
a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#b3a989;
}

a:hover, a:active{
-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
outline: none;
color:#999;
}


/**** Clearfix ****/
nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after,.post:after{content:""; display: table;clear: both;}
nav .panel,nav#mainNav,.newsTitle,.bg, .post{zoom: 1;}


/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea{
vertical-align:middle;
max-width:90%;
line-height:30px;
height:30px;
padding:1px 5px;
border:1px solid #d4d4d7;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
font-size:100%;
color:#555;
background:#fcfcfc;
}

textarea{
height:auto;
line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
padding:3px 10px;
background: #2a588b;
background: -moz-linear-gradient(top, #2a588b 0%, #214a78 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2a588b), color-stop(100%,#214a78));
background: -webkit-linear-gradient(top, #2a588b 0%,#214a78 100%);
background: -o-linear-gradient(top, #2a588b 0%,#214a78 100%);
background: -ms-linear-gradient(top, #2a588b 0%,#214a78 100%);
background: linear-gradient(to bottom, #2a588b 0%,#214a78 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2a588b', endColorstr='#214a78',GradientType=0 );
border:0;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
line-height:1.5;
font-size:100%;
color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
background: #2a588b;
background: -moz-linear-gradient(top, #214a78 0%, #2a588b 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#214a78), color-stop(100%,#2a588b));
background: -webkit-linear-gradient(top, #214a78 0%,#2a588b 100%);
background: -o-linear-gradient(top, #214a78 0%,#2a588b 100%);
background: -ms-linear-gradient(top, #214a78 0%,#2a588b 100%);
background: linear-gradient(to bottom, #214a78 0%,#2a588b 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#214a78', endColorstr='#2a588b',GradientType=0 );
}

*:first-child+html input[type="submit"]{padding:3px;}


/* レイアウト
------------------------------------------------------------*/
#wrapper, .inner{
margin:0 auto;
width:960px;
}

#header{
overflow:hidden;
background:#fff;
}

#content{
float:left;
width:710px;
padding:30px 0;
}

#sidebar{
float:right;
width:225px;
padding:30px 0;
}

#footer{
clear:both;
padding-top:20px;
background:#dac787;
} 


/* ヘッダー
*****************************************************/
#header .bg{background:#dac787;}


/* サイト説明文 + 住所
----------------------------------*/
#header h1,#header p{
float:left;
padding:3px 0;
color: #fff;
font-size:70%;
font-weight:normal;
}

#header p{
float:right;
}

.contact{
float:right;
color: #fff;
font-size:170%;
}


/* ロゴ (サイトタイトル)
----------------------------------*/
#header h2{
clear:both;
float:left;
padding:7px 0;
color: #515151;
font-size:160%;
font-weight:bold;
}

/* サブナビゲーション
----------------------------------*/
#header ul{
padding-top:40px;
float:right;
}

#header ul li{
display:inline;
margin-left:10px;
font-size:90%;
}

#header ul li a{
padding-left:10px;
color:#000;
background:url(images/arrowSub.png) no-repeat 0 50%;
}

#header ul li a:hover{background-position:3px 50%;}


/* メインメニュー
------------------------------------------------------------*/
nav#mainNav{
clear:both;
position:relative;
z-index:200;
}

nav#mainNav ul li{
float: left;
position: relative;
border-right:1px dotted #ccc;
}

nav#mainNav ul li:first-child{border-left:1px dotted #ccc;}

nav#mainNav ul li a{
display: block;
text-align: center;
_float:left;
color:#333;
height:34px;
line-height:34px;
padding:9px 40px 9px;
}

nav#mainNav ul li a span,nav#mainNav ul li a strong{
display:block;
font-size:90%;
line-height:1.4;
}

nav#mainNav ul li a span{
font-size:70%;
color:#dac787;
}

nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li a:active, nav#mainNav ul li.current-menu-parent a{
background:#f8f8f8;
}

nav#mainNav ul ul{width:160px;}

nav#mainNav ul li ul{display: none;}

nav#mainNav ul li:hover ul{
display: block;
position: absolute;
top:50px;
left:-2px;
z-index:500;
}

nav#mainNav ul li li{
padding:0 0 0 10px;
margin:0;
float: none;
height:40px;
line-height:40px;
width:160px;
background:#f8f8f8;
border:0;
border-bottom:1px dotted #ccc;
}

nav#mainNav ul li li:first-child{border-left:0;}

nav#mainNav ul li li a{
width:100%;
height:40px;
padding:0;
line-height:40px;
font-size:95%;
text-align:left;
}

nav#mainNav ul li li a span{padding:0 10px;}

nav#mainNav ul li li a:hover,nav#mainNav ul li li.current-menu-item a{color:#dac787;}

nav#mainNav ul li:hover ul li:last-child{border:0;}

/* トップページ　メイン画像
----------------------------------*/
#mainImg{
clear:both;
margin-top:10px;
line-height:0;
text-align:center;
z-index:0;
position:relative;
}

.post{
margin:0 0 20px 0;
padding:10px;
border:1px solid #dadada;
background: #fff;
}


/* タイポグラフィ
*****************************************************/
h2.title{
clear:both;
margin:0px 0 10px;
padding:7px 10px;
font-size:110%;
border:1px solid #dadada;
border-bottom:0;
background:#fff url(images/border.png) repeat-x 0 100%;
}

h3.title{
clear:both;
margin:0px 0 10px;
padding:7px 10px;
font-size:110%;
border:1px solid #dadada;
border-bottom:0;
background:#fff url(images/border.png) repeat-x 0 100%;
}

h2.first{margin-top:0;}

.dateLabel{
margin:0 0 10px;
text-align:right;
font:italic 1em "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

.post p{
padding-bottom:15px;
font-size: 125%;
}

.post ul{margin: 0 0 10px 10px;}

.post ul li{
margin-bottom:5px;
padding-left:15px;
background:url(images/bullet.png) no-repeat 0 8px;
font-size: 140%;
color: #299023;
}

.post ol{margin: 0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1{
margin:20px 0;
padding:5px 0;
font-size:150%;
color: #000;
border-bottom:3px solid #000;
}

.post h2{
margin:10px 0;
padding-bottom:2px;
font-size:130%;
font-weight:normal;
color: #333;
border-bottom:2px solid #515151;
}

.post h3{
margin:60px 0 0px;
font-size:120%;
font-weight:normal;
color:#B19F66;
border-bottom:1px solid #515151;
}

.post blockquote {
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}
 
.post blockquote p{padding:5px 0;}

.post table{
border: 1px #214a78 solid;
border-collapse: collapse;
border-spacing: 0;
margin:10px 0 20px;
}

.post table th{
padding:7px 10px 7px 5px;
border: #214a78 solid;
border-width: 0 0 1px 1px;
font-weight:bold;
color:#fff;
background:#214a78;
}

.post table td{
padding:7px 5px;
border: 1px #214a78 solid;
border-width: 0 0 1px 1px;
background:#fff;
}

.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

.post img{max-width:100%;height:auto;}

img.aligncenter {
display: block;
margin:5px auto;
}

img.alignright, img.alignleft{
padding:4px;
margin:0 0 2px 7px;
display:inline;
}

img.alignleft{margin: 0 15px 2px 0;}

.alignright{float:right;}
.alignleft{float: left;}



/* サイドバー　ウィジェット
*****************************************************/
section.widget, .widgetInfo{
margin: 0 0 20px;
padding: 10px 7px;
border:1px solid #dadada;
background: #fff;
}

#banners img{
max-width:225px;
height:auto;
padding-bottom:10px;
}

section.widget h3{
clear:both;
margin:0 0 10px;
padding:5px 0;
font-size:100%;
font-weight:normal;
color: #333;
border-bottom:1px solid #ccc;
}

section.widget a{
display:block;
padding:3px 0 3px 13px;
text-decoration:underline;
background:url(images/arrow.png) no-repeat 0 50%;
}

section.widget a:hover{
text-decoration:none;
background-position: 3px 50%;
}

#searchform input[type="text"]{
line-height:1.7;
height:24px;
width:100px;
vertical-align:bottom;
}


/* お知らせ　
-------------*/
.newsTitle{
clear:both;
margin:0 0 20px;
padding:5px 0;
font-size:100%;
color: #333;
border-bottom:1px solid #ccc;
}

.newsTitle h3{
float:left;
font-weight:normal;
}

.newsTitle p{
float:right;
padding:0 0 0 10px;
font-size:.8em;
background:url(images/arrow.png) no-repeat 0 50%;
}

.news p{
clear:both;
padding-bottom:2px;
border-bottom: 1px solid #ccc;
}

.news p:last-child{border:0;}

.news p a{
display:block;
padding:5px 0;
color:#333;
font-style:italic;
font:italic 110% "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

.news a span{
color:#515151;
font:normal 90% Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
}

.news span{padding-left:10px;}

.news a:hover span{color:#777;}



/* フッター
*****************************************************/

#footer ul{
font-size:12px;
padding:10px 0 30px 0;
}

#footer ul li{
display:inline-block;
vertical-align:text-top;
text-align:left;
padding:5px 0;
margin-right:30px;
background:url(images/arrow.png) no-repeat 0 12px;
}

#footer ul li	a{
display:block;
padding:0 0 0 12px;
overflow:hidden;
}

#footer ul li	a:hover{text-decoration:underline;}

#footer ul li li{
display:block;
padding:0;
margin:0 0 0 10px;
background-position:0 5px;
}


*:first-child+html #footer ul li{display:inline;}
*:first-child+html #footer ul ul,*:first-child+html #footer ul li li a,*:first-child+html #footer ul li li{display:none;}

#copyright{
clear:both;
padding:10px;
text-align:center;
font-size:75%;
zoom:1;
color:#a0a0a0;
background:#ebebeb;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
clear:both;
width: 100%;
height: 30px;
margin: 5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
clear:both;
color:#2a588b;
text-align:center;
}


/* トップページ 最新記事3件
------------------------------------------------------------*/
.thumbWrap{
width:735px;
margin:20px -25px 20px 0;
}

.thumbWrap li {
float: left;
width: 220px;
min-height: 170px;
position: relative;
margin: 0 25px 0 0;
padding: 2px 0 40px;
background: none;
}

/* 最新記事リンク */
ul.thumb h3 {
width: 215px;
position: absolute;
bottom: 0;
padding: 1px;
font-weight: normal;
font-size: 100%;
text-align: center;
background: #B1B1B1;
border: 1px solid #dadada;
}

ul.thumb h3 span{
display:block;
padding:2px 3px;
background:#f8f8f8;
}

ul.thumb h3 a{color:#252525;}

ul.thumb h3:hover span{background:#fff;}


/*************************
/* ボックスの囲み
/* .boxContainer
/* 背景画像でボックスの高さを調整
/* 
/* 各ボックス
/* .box1 1番目の2つのbox
/* .box2 2番目の3つのbox（画像）
/* .box3 3番目の2つのbox
/* .box4 4,5番目の1つのbox
/* #sidebar .box1 サイドバーのbox
*************************/
.boxContainer{
width:auto;
margin:auto;
}

.box1,.box2, .box3, .box4{
float: left;
width: 225px;
margin: 0 20px 20px 0;
}

.box1, .box3, .box4 {
width: 321px;
margin: 0px 18px 15px 0px;
padding: 10px;
border: 1px solid #dadada;
}

#sidebar .box1{
width:209px;
margin: 0 0 20px;
padding: 10px 7px;
border:1px solid #666666;
background: #000000;
}

.box3{
width:347px;
padding:0 0 10px;
}

.box4{
margin:0 0 20px 0;
padding:0;
width:715px;
border:1px solid #666666;
background: #000000;
}

.box5{
margin:0 0 20px 0;
padding:0;
width:715px;
}

.box5 h4{
text-decoration: underline;
}

.boxqa{
margin:0 0 20px 0;
width:688px;
border:1px solid #dadada;
background: #fff;
}

.boxqa p{padding: 10px 10px 10px 10px;}

/* 最後のbox */
.last{margin-right:0;}

/* 画像を中央表示 */
.box1 .center{padding-bottom:10px;}

/* 画像を左に回りこみ */
.box4 img{
float:left;
margin: 0 10px 10px;
}

.box4 h4 img{float:none;margin:0 0 10px;}

.box4 p{padding: 0 10px 10px;}


/*----------表組----------*/

table.table1 {
	width: 100%;
	margin: 0 0 1px 0;
	padding: 0;
	border-collapse: collapse;
}

table.table1 th {
	width: 160px;
        border: 1px solid #CDCDCD;
	background: #dac787;
	padding: 5px;
	font-weight: bold;
	line-height: 1.4;	
}

table.table1 td {
	border: 1px solid #CDCDCD;
	padding: 10px;
	line-height: 1.4;	
}

table.table1 td ul {
	list-style-type: none;

	padding: 0;
}

table.table1 td ul li {
    background: url(images/#.gif) no-repeat 0 4px;
    font-size: 100%;
    margin-left: 0px;
    color: #000000;
}

/*------------------RSS-----------------*/

#pickup-news {
	padding: 0px 0 0 0px;
}


#pickup-news li {
	margin: 5px 0 7px 0px;
	border-bottom: 1px dotted #ccc;
        list-style:none;	
}

#pickup-news li a {
	text-decoration: none;
	color: #ffcc00;
	font-size: 90%;
}

#pickup-news li a:hover {
	text-decoration: underline;
	color: #ff6600;
	font-size: 90%;
} 

/*----------改行----------*/
span.wpcf7-list-item { display: block; }

/*----------パンクズリスト----------*/
#pankuzu {
	margin-bottom: 10px;
}

/*----------メニュー----------*/
.post p.mu1{
	text-decoration: none;
	color: #9B9341;
	font-weight: bold;
        padding-bottom: 0px;
}

.box8 {
    margin: 5px 0 5px 0;
    background: #f1e4b9;
    padding: 15px;
}



/* ============================================================
   Responsive override (2026-09)
   PCの既存デザインを維持し、767px以下のみ上書き
============================================================ */
@media screen and (max-width: 767px) {

	/* box model / media
	------------------------------------------------------------*/
	*, *:before, *:after {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	iframe,
	embed,
	object {
		max-width: 100%;
	}

	/* layout
	------------------------------------------------------------*/
	#wrapper,
	.inner {
		width: auto;
		margin-left: 12px;
		margin-right: 12px;
	}

	#wrapper:after {
		content: "";
		display: table;
		clear: both;
	}

	#content,
	#sidebar {
		float: none;
		width: 100%;
	}

	#content {
		padding: 20px 0 10px;
	}

	#sidebar {
		padding: 10px 0 20px;
	}

	/* header
	------------------------------------------------------------*/
	#header h1,
	#header p,
	#header .contact {
		float: none;
	}

	#header h1 {
		padding: 4px 0 0;
		line-height: 1.4;
	}

	#header .contact {
		font-size: 100%;
	}

	#header .contact p {
		padding: 0 0 4px;
		font-size: 75%;
		line-height: 1.4;
	}

	#header h2 {
		float: none;
		padding: 10px 0 5px;
	}

	#header h2 img {
		display: block;
		max-width: 100%;
		height: auto;
	}

	#header ul {
		float: none;
		padding: 0 0 10px;
		text-align: left;
	}

	#header ul li {
		display: inline-block;
		margin: 0 12px 4px 0;
	}

	/* main navigation
	   ハンバーガー化はせず、既存メニューを2列にして見た目を維持
	------------------------------------------------------------*/
	nav#mainNav .inner {
		width: auto;
		margin-left: 0;
		margin-right: 0;
	}

	nav#mainNav > .inner > ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		border-top: 1px dotted #ccc;
	}

	nav#mainNav > .inner > ul > li {
		float: none;
		width: 50%;
		border-right: 1px dotted #ccc;
		border-bottom: 1px dotted #ccc;
	}

	nav#mainNav > .inner > ul > li:first-child {
		border-left: 0;
	}

	nav#mainNav > .inner > ul > li:nth-child(odd) {
		border-left: 0;
	}

	nav#mainNav > .inner > ul > li:nth-child(even) {
		border-right: 0;
	}

	nav#mainNav > .inner > ul > li > a {
		float: none;
		height: auto;
		min-height: 52px;
		padding: 8px 4px;
		line-height: 1.35;
	}

	nav#mainNav ul li:hover ul,
	nav#mainNav ul li:focus-within ul {
		top: 52px;
		left: 0;
		width: 100%;
	}

	nav#mainNav ul li li {
		width: 100%;
		padding-left: 8px;
	}

	/* main image
	------------------------------------------------------------*/
	#mainImg {
		margin-top: 8px;
		overflow: hidden;
	}

	#mainImg img {
		display: block;
		width: 100%;
		height: auto;
	}

	/* content / WordPress media
	------------------------------------------------------------*/
	.post {
		padding: 8px;
	}

	.post iframe,
	#content iframe {
		width: 100%;
		max-width: 100%;
	}

	#banners img,
	#sidebar img {
		max-width: 100%;
		height: auto;
	}

	/* top page: latest posts
	------------------------------------------------------------*/
	.thumbWrap {
		width: 100%;
		margin: 20px 0;
	}

	.thumbWrap li {
		float: none;
		width: 100%;
		height: auto;
		margin: 0 0 20px;
		padding: 0;
	}

	.thumbWrap li:after {
		content: "";
		display: table;
		clear: both;
	}

	ul.thumb h3 {
		position: static;
		width: 100%;
		margin-top: 8px;
	}

	ul.thumb img {
		max-width: 100%;
		height: auto;
	}

	/* fixed-width boxes
	------------------------------------------------------------*/
	.box1,
	.box2,
	.box3,
	.box4,
	.box5,
	.boxqa,
	#sidebar .box1 {
		float: none;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.box4 img {
		max-width: 100%;
		height: auto;
	}

	/* tables
	   横に長い表は内容を潰さず横スクロール可能にする
	------------------------------------------------------------*/
	.post table,
	table.table1 {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	table.table1 th {
		width: auto;
		min-width: 100px;
	}

	/* forms
	------------------------------------------------------------*/
	input[type="text"],
	textarea,
	select {
		max-width: 100%;
	}

	#searchform input[type="text"] {
		width: 65%;
		max-width: 220px;
	}

	/* footer
	------------------------------------------------------------*/
	#footer .inner {
		padding-top: 5px;
	}

	#footer > .inner > ul > li {
		width: 48%;
		margin-right: 1%;
	}

	#copyright {
		padding-left: 12px;
		padding-right: 12px;
	}
}

@media screen and (max-width: 480px) {
	/* 小さい画面では本文回り込みを解除して読みやすくする */
	.post img.alignleft,
	.post img.alignright,
	.alignleft,
	.alignright {
		float: none;
		display: block;
		margin: 5px auto 12px;
	}

	.post blockquote {
		margin-left: 10px;
	}

	#footer > .inner > ul > li {
		width: 100%;
		margin-right: 0;
	}
	
	#sidebar *:has(img) { text-align: center; }
	.thumbWrap *:has(img) { text-align: center; }
}


/* ============================================================
   Mobile navigation accordion (2026-09)
   PCは従来のhoverドロップダウンを維持。
   SPのみ、親リンクとは別の +/- ボタンでサブメニューを開閉する。
============================================================ */
.mobile-submenu-toggle {
	display: none;
}

@media screen and (max-width: 767px) {
	/* hover / focus だけでは開かないようにし、タップ操作に統一 */
	nav#mainNav > .inner > ul > li.menu-item-has-children {
		position: relative;
	}

	nav#mainNav > .inner > ul > li.menu-item-has-children > a {
		padding-right: 46px;
	}

	nav#mainNav > .inner > ul > li.menu-item-has-children > ul,
	nav#mainNav > .inner > ul > li.menu-item-has-children:hover > ul,
	nav#mainNav > .inner > ul > li.menu-item-has-children:focus-within > ul {
		display: none !important;
		position: static !important;
		top: auto !important;
		left: auto !important;
		clear: both;
		width: 100% !important;
		margin: 0;
		padding: 0;
	}

	nav#mainNav > .inner > ul > li.menu-item-has-children.is-submenu-open > ul {
		display: block !important;
	}

	.mobile-submenu-toggle {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 10;
		width: 44px;
		height: 52px;
		margin: 0;
		padding: 0;
		border: 0;
		border-left: 1px dotted #ccc;
		border-radius: 0;
		background: transparent;
		color: #666;
		font: inherit;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
	}

	.mobile-submenu-toggle span,
	.mobile-submenu-toggle span:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 14px;
		height: 2px;
		background: #777;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	.mobile-submenu-toggle span:before {
		-webkit-transform: translate(-50%, -50%) rotate(90deg);
		transform: translate(-50%, -50%) rotate(90deg);
		-webkit-transition: opacity .15s ease;
		transition: opacity .15s ease;
	}

	nav#mainNav > .inner > ul > li.is-submenu-open > .mobile-submenu-toggle span:before {
		opacity: 0;
	}

	nav#mainNav > .inner > ul > li.is-submenu-open > .mobile-submenu-toggle {
		background: #f8f8f8;
	}

	/* 子メニューは親項目の下に展開。元の色・罫線の雰囲気を維持 */
	nav#mainNav > .inner > ul > li > ul > li,
	nav#mainNav > .inner > ul > li:hover > ul > li {
		float: none;
		width: 100%;
		height: auto;
		min-height: 40px;
		margin: 0;
		padding: 0;
		background: #f8f8f8;
		border: 0;
		border-top: 1px dotted #ccc;
	}

	nav#mainNav > .inner > ul > li > ul > li > a {
		float: none;
		width: 100%;
		height: auto;
		min-height: 40px;
		padding: 10px 8px;
		line-height: 1.4;
		text-align: left;
	}

	nav#mainNav > .inner > ul > li > ul > li > a span {
		padding: 0;
	}
}