@charset "utf-8";
html { overflow-y:scroll;}
body {
    overflow: hidden;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ","ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  Meiryo,Osaka,sans-serif;
}
a { 
    color: #004EB4;
    outline:none;
    text-decoration:underline;
}
a:hover {
    color: #58b5f5;
    text-decoration: none;
}
img {
    border: 0;
}
form {
	margin:0;
	padding:0;
}
p,
table,
ul,
dl{ font-size: 100%;}
td {
	vertical-align: top;
	line-height: 150%;
}
p, p a {
    line-height: 1.8;
}
h4 {
    color: #F19500;
    font-size: 115%;
    margin: 20px 0 5px;
}

.img_pc {
    display: block;
}
.img_sp {
    display: none;
}

/************* iphone デフォルトCSS *************/
input[type="text"], input[type="tel"], input[type="email"], input[type="button"], input[type="submit"], textarea {
    border-radius: 0;
    -webkit-appearance: none;
}

/************* 共通 *************/
.nopc { display: none; }
.clearfix:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
.clearfix { zoom: 100%;}
.clear { clear:both; }
.fl { float:left;}
.fr { float:right;}
.center { text-align: center;}
.left { text-align: left;}
.right { text-align: right;}
.bcenter {
	margin-left: auto;
	margin-right: auto;
}
.ie_img {/* IE6で画像に隙間がでる対策 */
	font-size: 0;
	line-height: 0;
}

/************* 共通フォントサイズ/色 ***************************************************************/
.red { color:red;}
.bold { font-weight: bold;}
.f11 { font-size:79%;}
.f12 { font-size:85%;}


/************* 共通余白 *************/
.m5 { margin:5px;}
.m10 { margin:10px;}
.m20 { margin:20px;}
.m30 { margin:30px;}

.ml5 { margin-left:5px;}
.ml10 {	margin-left:10px;}
.ml20 {	margin-left:20px;}
.ml30 {	margin-left:30px;}

.mt5 { margin-top:5px;}
.mt10 {	margin-top:10px;}
.mt20 {	margin-top:20px;}
.mt30 {	margin-top:30px;}

.mr5 { margin-right:5px;}
.mr10 {	margin-right:10px;}
.mr20 {	margin-right:20px;}
.mr30 {	margin-right:30px;}

.mb5 { margin-bottom:5px;}
.mb10 {	margin-bottom:10px;}
.mb20 {	margin-bottom:20px;}
.mb30 {	margin-bottom:30px;}

.img_normal {
    width: auto;
}

/* ---------- ロールオーバー処理 ---------- */
a img.bn,
#right_con .menu_box a img  {
	filter: Alpha(Opacity=100);
	-moz-opacity: 1.0;
}

a:hover img.bn,
#right_con .menu_box a:hover img {
	filter: Alpha(Opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}

/* ---------- main ---------- */
body {
    color: #333333;
}
#container {
    color: #333;
    padding: 0px;
    margin: 0px auto;
}
#contents,
#contentsWrapper,
#pan,#navi,
footer #ft_box
{
    width: 100%;
    padding: 0 1.020408%;
    max-width: 980px;
    margin: 0px auto;
    overflow: hidden;
    box-sizing: border-box;
}

.wrap {
    position: relative;
    width: 100%;
    max-width: 960px;
    padding: 0 1.0416666%;
    margin: 0 auto;
    box-sizing: border-box;
}

/* ----------------------------------------------------------------
 * ヘッダー
 * ---------------------------------------------------------------- */
.header_inner {
    z-index: 50;
    margin: 30px auto 0;
}
.logo_header {
    float: left;
    width: 20%;
    margin: 6px 0 0;
}
.logo_header a {
    transition: opacity 300ms 0s ease;
}
.logo_header a:hover {
    opacity: 0.5;
}
.header_inner img {
    width: 100%;
    max-width: 167px;
    height: auto;
}

body.home .logo_header {
    width: 33%;
}
body.home .logo_header img {
    max-width: 295px;
}

/* ----------------------------------------------------------------
 * スマホナビ
 * ---------------------------------------------------------------- */
 #mnav_wrap {
    display: none;
 }
.mnav {
    z-index: 500;
    width: 100%;
    height: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.mnav > ul > li {
    text-align: center;
    font-size: 16px;
    letter-spacing: 1px;
    padding: 20px 2%;
    box-sizing: border-box;
    border-bottom: 1px solid #bbae97;
}
.mnav > ul > li:last-child {
    border-bottom: none;
}
.mnav ul li a {
    color: #fff;
    text-decoration: none;
}
.mnav_subMenu {
    display: none;
    width: 100%;
    height: 93%;
    position: fixed;
    overflow-y: scroll;
    top: 50px;
    left: 0px;
    background: #775c2f;
}
.mnav_subList {
    width: 380px;
    text-align: center;
    margin: 0 auto;
}
.mnav_subList dt {
    position: relative;
    text-align: left;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 1px;
    margin: 0;
}
.mnav_subList dt span {
    position: absolute;
    top: 0;
    left: 0;
}
.mnav_subList dd {
    margin: 0 0 0 14em;
}
.mnav_subList dd ul li {
    font-size: 16px;
    text-align: left;
    letter-spacing: 1px;
    margin: 0 0 12px;
}
.mnav_subList dd ul li:last-child {
    margin: 0;
}

.mnav_btn {
    cursor: pointer;
    width: 42px;
    height: 50px;
    position: absolute;
    right: 17px;
    top: 0px;
    z-index: 500;
    margin: 0;
    border-left: 1px solid #775c2f;
}
.mnav_btn i::before {
    margin-top: -8px;
}
.mnav_btn i::after {
    margin-top: 8px;
}
.mnav_btn i::before, .mnav_btn i::after {
    background: #775c2f none repeat scroll 0 0;
    content: "";
    display: block;
    height: 3px;
    position: absolute;
    right: 0;
    top: 10%;
    transition: all 0.3s ease 0s;
    width: 25px;
}
.mnav_btn i {
    background: #775c2f none repeat scroll 0 0;
    display: block;
    height: 3px;
    margin: 0;
    position: absolute;
    right: 0;
    top: 50%;
    transition: all 0.3s ease 0s;
    width: 25px;
    z-index: 50;
}

.mnav_btn.active i::before {
    transform: rotate(-45deg) translate(-5px, 5px);
}
.mnav_btn.active i::after {
    transform: rotate(45deg) translate(-6px, -6px);
}
.mnav_btn.active i {
    background: #fff;
}

.mnav_contact {
    position: absolute;
    top: 0;
    right: 60px;
    z-index: 500;
    width: 60px;
    height: 50px;
    line-height: 50px;
    vertical-align: middle;
    text-align: center;
    border-left: 1px solid #775c2f;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.mnav_contact img {
    width: 25px;
    height: 19px;
    vertical-align: middle;
}
.mnav_contact a {
    display: block;
}

/* ----------------------------------------------------------------
 * ヘッダーナビ
 * ---------------------------------------------------------------- */
#textsizer {
    float: left;
    margin: 8px 0 0 39%;
    width: 22%;
}
body.home #textsizer {
    margin: 8px 0 0 27%;
}
#textsizer p {
    float: left;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 1px;
    margin: 21px 5px 0 0;
}
#textsizer ul {
    float: left;
}
#textsizer li {
    display: inline-block;
    vertical-align: bottom;
}
#textsizer li a {
    color: #bbae97;
    display: inline-block;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    border-radius: 50%;
    border: 1px solid #bbae97;
    margin: 0 0 0;
    background: #fff;
    transition: all 300ms 0s ease;
}
#textsizer a.textresizer-active {
    color: #fff;
    border-color: #775c2f;
    background: #775c2f;
}
#textsizer li a:hover {
    opacity: 0.5;
}
.textresizer #fsize1 a {
    font-size: 12px;
    width: 24px;
    height: 24px;
    line-height: 24px;
}
.textresizer #fsize2 a {
    font-size: 16px;
    width: 32px;
    height: 32px;
    line-height: 32px;
}
.textresizer #fsize3 a {
    font-size: 18px;
    width: 36px;
    height: 36px;
    line-height: 36px;
}
@media all and (-ms-high-contrast:none){
    .textresizer a {
        font-family : "メイリオ","ＭＳ Ｐゴシック", "MS PGothic";
    }
}
.header_banner {
    float: right;
    width: 18%;
}
.header_banner ul li {
    float: left;
}
.header_banner ul li {
    width: 100%;
}
.header_banner ul li a {
    transition: opacity 300ms 0s ease;
}
.header_banner ul li a:hover {
    opacity: 0.5;
}

/* ----------------------------------------------------------------
 * 見出し
 * ---------------------------------------------------------------- */
.ttl_home {
    position: relative;
    font-size: 172%;
    text-align: center;
    letter-spacing: 4px;
    padding: 0 0 15px 2px;
    margin: 0 auto;
}
.ttl_home:after {
    content: '';
    display: block;
    width: 120px;
    height: 2px;
    background: #54c2f0;
    position: absolute;
    left: 50%;
    bottom: 0px;
    transform: translate(-50%, 0);
}
h3.catch {
    color: #775c2f;
    font-size: 20px;
    letter-spacing: 1px;
    line-height: 1.8;
    padding: 0 0 10px;
    margin: 0 0 20px;
    border-bottom: 1px solid #e4ded5;
}

/* ----------------------------------------------------------------
 * ボタン
 * ---------------------------------------------------------------- */
.btn_home {
    font-size: 100%;
    text-align: center;
    letter-spacing: 2px;
    margin: 30px auto 0;
}
.btn_home a {
    color: #775c2f;
    display: inline-block;
    padding: 20px 8%;
    border: 1px solid #775c2f;
    text-decoration: none;
    line-height: 1;
    background: #fff;
    transition: all 300ms 0s ease;
}
.btn_home a:hover {
    color: #fff;
    background: #775c2f;
}

/* ----------------------------------------------------------------
 * フッター
 * ---------------------------------------------------------------- */
#footer {
    background: #f1efea;
}
.footer_top > p {
    float: right;
    width: 32%;
    text-align: center;
    padding: 20px 0 0;
    margin: 0;
}
.footer_top > p img {
    width: 96px;
    margin: 50px 30% 0 0;
}
.fnav {
    float: left;
    width: 68%;
    margin: 30px 0;
    background: #f1efea;
}
.fnav h4 {
    color: #333;
    font-size: 115%;
    letter-spacing: 1px;
}
.fnav > ul {
    display: flex;
}
.fnav > ul > li {
    width: 33.333%;
    fonrt-size: 100%;
    margin: 0 2% 10px 0;
}
.fnav li a {
    color: #333;
    text-decoration: none;
    transition: opacity 300ms 0s ease;
}
.fnav li a:hover {
    opacity: 0.5;
}
.fnav ul > li > ul {
    margin: 10px 0 0;
}
.fnav ul > li > ul li a {
    color: #333;
    position: relative;
    display: inline-block;
    margin: 0 0 10px 1.1em;
    text-decoration: none;
    transition: opacity 300ms 0s ease;
}
.fnav ul > li > ul li a:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 10px;
    background: url("../images/ico_arrow_br.png") no-repeat;
    position: absolute;
    top: 2px;
    left: -13px;
}
.footer_btm {
    width: 100%;
    background: #4f3d1f;
}
.footer_btm img {
    max-width: 236px;
}
.logo_footer {
    display: inline-block;
    padding: 40px 0 0;
}
.copy {
    float: right;
    margin: 65px 0 10px;
}
.copy li {
    color: #fff;
    display: inline-block;
    font-size: 12px;
    letter-spacing: 1px;
    margin: 0 0 10px 2em;
}
.copy li a {
    color: #fff;
    position: relative;
    text-decoration: none;
}
.copy li + * a:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 10px;
    background: url("../images/ico_arrow_wh.png") no-repeat;
    position: absolute;
    top: 2px;
    left: -10px;
}
.toTop {
    position: absolute;
    top: -25px;
    right: 1.5%;
    z-index: 200;
}
.toTop {
    width: 60px;
    height: 60px;
    line-height: 60px;
    vertical-align: middle;
    text-align: center;
}
.toTop img {
    width: 23px;
    height: 14px;
    vertical-align: middle;
}
.toTop a {
    display: block;
    transition: opacity 300ms 0s ease;
    background: #5c5c5c;
}
.toTop a:hover {
    opacity: 0.5;
}

/* ----------------------------------------------------------------
 * グローバルナビ
 * ---------------------------------------------------------------- */
#gnav {
    width: 80%;
    float: right;
    margin: 15px 0 0;
}
#gnav > ul {
    display: table;
    width: 100%;
}
#gnav > ul > li {
    position: relative;
    display: table-cell;
    height: 54px;
    line-height: 54px;
    text-align: center;
}
#gnav > ul > li > a:after {
    content: '';
    display: block;
    width: 0%;
    height: 4px;
    background: #bbae97;
    position: absolute;
    left: 50%;
    bottom: 0px;
    transform: translate(-50% ,0);
    transition: width 100ms 0s ease-in;
}
#gnav > ul > li.current a:after , #gnav > ul > li.current-page-parent a:after, #gnav > ul > li.current-page-ancestor a:after, #gnav > ul > li:hover a:after {
    width: 100%;
}
#gnav > ul > li:first-child {
    width: 22%;
}
#gnav > ul > li:last-child {
    width: 22%;
}
#gnav > ul > li a {
    color: #775c2f;
    position: relative;
    display: block;
    font-size: 115%;
    font-weight: bold;
    letter-spacing: 1px;
    text-decoration: none;
}
#gnav > ul > li ul {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    width: 100%;
}
#gnav > ul > li ul li {
    display: block;
}
#gnav > ul > li:last-child a {
    padding-right: 1em;
}
#gnav > ul > li:last-child a:before {
    content: '';
    display: block;
    width: 15px;
    height: 12px;
    background: url("../images/ico_link.png") no-repeat;
    position: absolute;
    right: 32px;
    top: 0px;
    margin: 20px 0 0;
}
#gnav .subMenu {
    display: none;
}
#gnav .subMenu li {
    color: #333;
    margin: 0;
}
#gnav .subMenu li a {
    color: #333;
    padding: 10px 0;
    border-bottom: 1px dashed #bbae97;
    background: #e4ded5;
    transition: all 300ms 0s ease;
}
#gnav .subMenu li:last-child a {
    border-bottom: none;
}
#gnav .subMenu li a:hover {
    opacity: 1;
    color: #fff;
    background: #775c2f;
}

/* ----------------------------------------------------------------
 * ぱんくず
 * ---------------------------------------------------------------- */
.breadcrumb {
    background: #775c2f;
}
.breadcrumb ul li {
    color: #fff;
    float: left;
    padding: 10px 0;
    margin: 0 10px 0 0;
}
.breadcrumb ul li a {
    color: #fff;
    text-decoration: underline;
    margin-right: 10px;
}

/* ----------------------------------------------------------------
 * 下層ここから
 * ---------------------------------------------------------------- */
#main {
    background: #fff;
}
#ttl_main {
    height: 150px;
    line-height: 150px;
    vertical-align: middle;
    margin: 0 0 30px;
    background: #f7f7f7 url("../images/bg_ttlMain_01.png") no-repeat right 0;
}
body.page-id-39 #ttl_main, body.page-id-59 #ttl_main, body.parent-pageid-59 #ttl_main {
    background: #f7f7f7 url("../images/bg_ttlMain_02.png") no-repeat right 0;
}
body.page-id-61 #ttl_main, body.parent-pageid-61 #ttl_main{
    background: #f7f7f7 url("../images/bg_ttlMain_03.png") no-repeat right 0;
}
body.page-id-192 #ttl_main, body.parent-pageid-192 #ttl_main{
    background: #f7f7f7 url("../images/bg_ttlMain_04.png") no-repeat right 0;
}
body.page-id-63 #ttl_main, body.parent-pageid-63 #ttl_main{
    background: #f7f7f7 url("../images/bg_ttlMain_05.png") no-repeat right 0;
}
body.page-id-41 #ttl_main, body.parent-pageid-41 #ttl_main{
    background: #f7f7f7 url("../images/bg_ttlMain_06.png") no-repeat right 0;
}
#ttl_main h2 {
    color: #775c2f;
    letter-spacing: 2px;
    font-size: 210%;
    font-weight: bold;
}
#ttl_main h2:before {
    content: '';
    display: block;
    width: 70px;
    height: 40px;
    background: #f7f7f7 url("../images/ico_ttlMain.png") no-repeat 0 0;
    float: left;
    margin: 55px 15px 0 0;
}
.ttl_sub {
    color: #fff;
    width: 100%;
    position: relative;
    overflow: hidden;
    font-size: 130%;
    font-weight: normal;
    letter-spacing: 2px;
    padding: 10px 4%;
    margin: 0 0 20px;
    box-sizing: border-box;
    background: #4f3d1f url("../images/bg_ttlSub.png") no-repeat right 0;
}

/* カラムレイアウト
------------------------------------------*/
#left_con{
	width: 67.021276%; /*630/940*/
	margin-bottom: 100px;
	float: left;
}
#news #left_con {
    width: 100%;
    max-width: 800px;
    float: none;
    margin: 50px auto 100px;
}
#right_con {
	width: 27.659574%; /*280/960*/
	float: right;
}
.row {
    margin: 0 0 65px;
}

/* サイドバー
------------------------------------------*/
.sideMenu {
    margin: 0 0 40px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #e4ded5;
}
.sideMenu h3 {
    color: #775c2f;
    line-height: 1.5;
    font-size: 17px;
    text-align: center;
    letter-spacing: 1px;
    font-weight: normal;
    padding: 22px 0;
    background: #e4ded5;
}
.sideMenu h3 a {
    color: #775c2f;
    text-decoration: none;
    display: block;
}
.sideMenu p {
    height: 41px;
    margin-bottom: 10px;
    text-indent: -1000em;
}
.sideMenu ul >  li {
    color: #555;
    border-bottom: 1px dashed #e4ded5;
}
.sideMenu ul li:last-child {
    border-bottom: none;
}
.sideMenu ul li a {
    color: #555;
    position: relative;
    display: block;
    font-size: 100%;
    font-weight: bold;
    text-decoration: none;
    padding: 20px 5%;
    transition: color 300ms 0s ease;
}
.sideMenu ul li a:hover {
    color: #54c2f0;
}
.sideMenu ul li a:before {
    content: '';
    display: block;
    width: 8px;
    height: 12px;
    background: url("../images/ico_snav.png") no-repeat right 0;
    float: left;
    margin: 2px 5px 0 0;
}
.sideMenu ul li.current > a, .sideMenu ul li.current-page-parent > a, .sideMenu ul li.current-page-ancestor > a {
    color: #54c2f0;
}
.sideMenu ul li ul.subMenu {
    margin: -10px 0 10px;
}
.sideMenu ul li ul.subMenu li {
    border-bottom: none;
    margin: 0 4%;
    background: #fff;
}
.sideMenu ul li ul.subMenu li a {
    color: #555;
    padding: 12px 10px;
    margin: 0 4%;
    background: #fff;
}
.sideMenu ul li ul.subMenu li a:before {
    height: 2px;
    margin: 8px 5px 0 0;
    background: #54c2f0;
}
.recentPost {
    margin: 15px 0 80px;
}
.recentPost h3 {
    color: #775c2f;
    font-size: 17px;
    font-weight: normal;
    letter-spacing: 1px;
    padding: 0 0 8px;
    margin: 0 auto;
    border-bottom: 1px solid #775c2f;
}
.recentPost dt {
    color: #775c2f;
    margin: 15px 0 0;
}
.recentPost dd {
    margin:  0;
    text-align: justify;
    line-height: 1.8;
    border-bottom: 1px dashed #e4ded5;
    padding: 3px 0 12px;
}
.recentPost a {
    text-decoration: none;
    color: #333;
    transition: opacity 300ms 0s ease;
}
.recentPost a:hover {
    opacity: 0.5;
}


#ft_switcher li {
	float: left;
	width: 49.5%;
	margin-bottom: 10px;
	border: 1px #ffb366 solid;
	background: -moz-linear-gradient(top,#FFF 0%,#E6E6E6);
	background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#E6E6E6));
	border: 1px solid #DDD;
	text-align: center;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
}
#ft_switcher li a {
	text-decoration: none;
	color: #666;
	font-size: 4em;
}
#bnrFB {
	display: none;
}



#left_con .sum_box {
	font-size:110%;
	line-height:150%;
}
#left_con .sum_box table {
	margin:20px auto;
}
#left_con .sum_box table td,
#left_con .sum_box table th{
	padding:10px;
	text-align: left;
}