@charset "utf-8";
/*------------------------------------------------------------------------------
[1] レイアウト[ 配置 + 書式設定その他 ]
[2] 詳細デザイン
------------------------------------------------------------------------------*/
/*******************************************************************************
[1] レイアウト[ 配置 + 書式設定その他 ]
*******************************************************************************/
/*==============================================================================
	配置
==============================================================================*/
#wrap{
	margin:0px auto 0px auto;
}
#header,#tpath,#gnavi,#pagebody,#guide,#footer,#copy{
	width: 100%;
	min-width:auto;
	max-width:1200px;
	box-sizing: border-box;
}
#header{
	padding:10px 0px;
}
#headerbg #util{
	position: relative;
	z-index:20;
}
#topheaderbg #header{
	z-index:50;
}
#gnavi{
	width: auto;
}
#tpath{
	padding:5px 10px;
}
#pagebodybg{
	position: relative;
	padding-bottom:100px;
	background: url(images/left_bg.png) no-repeat left bottom;
}
#guidebg,#topguidebg{
	margin:0px;
	width:100%;
}
#guide{
	padding:20px 0px;
}
#content{
	width:calc(100% - 280px);
}
#content2,#content3{
	width: 100%;
	min-width:auto;
	max-width:1200px;
}
#lnavi{
	width:240px;
	box-sizing: border-box;
}
/*==============================================================================
	書式設定その他
==============================================================================*/
body,input,select,textarea,button{
	font-family:"BIZ UDPGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	letter-spacing:.075em;
}
a{
	color:#73550a;
}
#wrap{
	font-size:100%;
}
#pagebody,#toppagebody{
	line-height:1.8;
}
#content,#content2,#content3{
	background:transparent;
}
#menu{
	box-sizing:border-box;
}
/*******************************************************************************
[2] 詳細デザイン
*******************************************************************************/
#wrap{
	position: relative;
}
#wrap.eventwrap #content3{
	position: relative;
}
#wrap:not(.top)::before{
	width:100%;
	height:100%;
	display:block;
	right:0;
	top:0;
	position:absolute;
	content:"";
	background:url(images/bg.png) no-repeat right top;
	opacity: .7;
	z-index: 1;
	pointer-events: none;
}
/*==============================================================================
	ヘッダ
==============================================================================*/
#topheaderbg,#headerbg{
  position: relative;
}
#headerbg #header{
	min-width:auto;
	display: flex;
	justify-content:space-between;
}
#headerbg #header #tlogo{
	display: flex;
	gap:20px;
}
/*------------------------------------------------------------------------------
	tlogo
------------------------------------------------------------------------------*/
#tlogo img{
	vertical-align:bottom;
}
/*------------------------------------------------------------------------------
	util1
------------------------------------------------------------------------------*/
#headerbg #util1 ul{
	list-style-type:none;
	display: flex;
	justify-content: right;
	gap:15px;
}
#headerbg #util1 ul li a{
	padding:3px 3px 3px 17px;
	border-radius: 3px;
	border:2px solid #CCC;
	background: #EAEAEA;
	display: block;
	text-decoration: none;
	color:#222;
	font-size: 95%;
	position: relative;
	letter-spacing: normal;
}
#headerbg #util1 ul li a::before{
	content: "";
	display: block;
	position: absolute;
	left: 3px;
	top: 0.5em;
	width: 0.4em;
	height: 0.4em;
	border-left: 1px solid #222;
	border-top: 1px solid #222;
	transform: rotate(135deg);
}
/*------------------------------------------------------------------------------
	util2
------------------------------------------------------------------------------*/
#util2{
	margin-top:10px;
	display: flex;
	justify-content: right;
	text-align: left;
	gap:15px;
	align-items: center;
}
#util2 #translation{
	text-align:left;
	position: relative;
}
#util2 #translation button{
	margin:0px;
	padding:10px 30px 10px 45px;
	position:relative;
	border:1px solid #E8D993;
	border-radius: 0.4375em;
	background: #fff url(images/header/mark_lang.svg) no-repeat left 10px center;
	background-size: 25px;
	text-align:left;
	box-sizing: border-box;
	-webkit-appearance:none;
	cursor: pointer;
	letter-spacing:normal;
	text-transform: uppercase;
}
#util2 #translation button::before {
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	top: calc(50% - .2em);
	width: .4em;
	height:.4em;
	border-right: 2px solid #222;
	border-bottom: 2px solid #222;
	transform: rotate(45deg);
}
#util2 #translation #translationlist{
	padding:3px;
	width:150%;
	display:none;
	position:absolute;
	top:100%;
	left:0;
	z-index:100;
	background-color: #fff;
	border: 1px solid #E8D993;
	border-radius: 0.4375em;
	box-sizing: border-box;
}
#topheaderbg #util2 #translation #translationlist{
	right:0;
	left:auto;
}
#util2 #translation #translationlist{
	list-style:none;
}
#util2 #translation #translationlist a{
	padding:8px 7px;
	display:block;
	color:#222;
	text-decoration:none;
	letter-spacing: normal;
}
#util2 #translation #translationlist a:hover,
#util2 #translation #translationlist a:focus{
	background-color: #EFEFEF;
}
/*------------------------------------------------------------------------------
	検索
------------------------------------------------------------------------------*/
#sitesearch form{
  position: relative;
	border: 2px solid #73550A!important;
	border-radius: 5px!important;
}
#sitesearch input{
	-webkit-appearance: none;
}
#sitesearch input#key{
	padding:10px 5px 10px 5px!important;
	height: auto!important;
	vertical-align:middle;
	display:inline-block;
	width:   15em !important;
	height:auto!important;
	font-size:110%;
	border: 1px solid #FFF!important;
	vertical-align:middle;
	border-radius: 5px!important;
}
#sitesearch input.submit{
  margin-top: -12px;
  position: absolute;
  right: 15px;
  top: 50%;
  cursor: pointer;
}
#util3 ul{
	margin-top:-5px;
	list-style-type: none;
	line-height: 1.2;
}
#util3 ul li{
  margin-top:5px;
	font-size:90%;
	border-radius: 3px;
}
#util3 ul li a{
	padding:3px 8px 3px 20px;
  display:block;
	color:#FFF;
  background: #73550A;
	text-decoration: none;
	border-radius: 3px;
	position: relative;
}
#util3 ul li a::before{
	content: "";
	display: block;
	position: absolute;
	left: 5px;
	top: 0.6em;
	width: 0.3em;
	height: 0.3em;
	border-left: 1px solid #FFF;
	border-top: 1px solid #FFF;
  transform: rotate(135deg);
}
/* トップ */
#topheaderbg{
    background: url("images/top/lefttop_bg.png") no-repeat top left;
}
#topheaderbg #header{
    padding: 50px;
    position: absolute;
    left: 0;
    box-sizing: border-box;
    max-width: none;
    min-width: auto;
}
#topheaderbg #headerinner{
	display: flex;
	justify-content: space-between;
}
#topheaderbg #util,
#topheaderbg #util2{
    display: flex;
    align-items: center;
}
#topheaderbg #util1 ul{
    display: flex;
	list-style-type: none;
}
#topheaderbg #util1 ul li{
    margin-left: 10px;
}
#topheaderbg #util1 ul li a{
    padding: 6px;
    display: block;
    border-radius: 100%;
    background-color: #fff;
}
#topheaderbg #util1 ul li a img{
    vertical-align: bottom;
}
#topheaderbg #util2 #translation{
    margin-left: 16px;
    position: relative;
}
#topheaderbg #util2 #translation select{
    width: 7em;
    padding: 10px 25px 8px 40px;
    appearance: none;
    position: relative;
    background: url("images/top/mark_lang.png") no-repeat left 9px center,#fff;
    border-color: #71540c;
    box-shadow: none;
    box-sizing: content-box;
}
#topheaderbg #util1 #translation::after {
    content: "";
    width: 0px;
    height: 0px;
    position: absolute;
    margin-top: -2px;
    top: 50%;
    right: 10px;
    border: 5px solid transparent;
	border-top: 5px solid #000;
}
#topheaderbg #header p {
    padding-left: 110px;
    text-align: left;
}
#pickupwrap{
    padding: 7px 0px 0 7px;
    box-sizing: border-box;
}
#pickup{
    height: 100%;
	overflow: hidden;
}
#topsearchbg{
	width: 100%;
	background: rgba(250, 250, 242, .9);
	position: absolute;
	bottom:0;
	z-index: 50;
	left: 0;
}
/*------------------------------------------------------------------------------
	検索
------------------------------------------------------------------------------*/
#topsearchbg::before{
	width:776px;
    height:443px;
    display:block;
    right:0;
    top:0;
    position:absolute;
    content:"";
	background:url(images/bg.png) no-repeat right top;
	opacity: .7;
	z-index: 5;
	pointer-events: none;
}
#topsearch .formwrap{
	margin-top:-5%;
	padding-bottom: 20px;
}
#topsearch .leftbox .formwrap{
    display: flex;
    align-items: flex-end;
    position: relative;
	z-index:10;
}
#topsearch form{
    padding-right: 20px;
    width: 512px;
	border:2px solid #71540c!important;
    box-sizing: border-box;
    border-radius: 5px;
    background-color: #fff;
    box-shadow: 0px 5px 15px 0px rgba(0,0,0, 0.1);
}
#topsearch input{
	box-sizing:border-box;
	vertical-align:middle;
	appearance:none;
	-webkit-appearance:none;
}
#topsearch input#key{
	padding: 25px 0px 25px 20px !important;
	width:calc(100% - 31px)!important;
	height:auto!important;
	font-size:120%!important;
	border:none!important;
	border-right:none;
	border-radius: 5px 0px 0px 5px!important;
    background: none!important;
    box-sizing: border-box;
}
#topsearch input[type=submit]{
	padding:0px;
	color:#ffffff;
	font-weight:bold;
	background-color:#fff;
	border-radius:0px;
	border: none;
	text-align:center;
}
#topsearch .leftbox .formwrap ul{
  list-style: none;
  letter-spacing: -.4em;
  font-size: 95%;
}
#topsearch .leftbox .formwrap ul li{
  margin-left: 15px;
  display: inline-block;
  vertical-align: bottom;
  letter-spacing: normal;
}
#topsearch .leftbox .formwrap ul li a{
  padding: 8px 17px 6px 33px;
  display: block;
  color: #fff;
  background: #71540a;
  position: relative;
  text-decoration: none;
  border-radius: 5px;
}
#topsearch .leftbox .formwrap ul li:first-child a::before{
  margin-top: -4px;
  width: 4px;
  height: 4px;
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
#topsearch .leftbox .formwrap ul li:nth-child(2) a::before{
  margin-top: -0.6em;
  content: "?";
  position: absolute;
  top: 50%;
  left: 15px;
}
#topsearch .leftbox .keyword{
  margin-top: 30px;
  padding-left: 40px;
  position: relative;
  z-index:10;
}
#topsearch .leftbox .keyword dl{
    display: flex;
    flex-wrap: wrap ;
	  margin-top: -10px;
}
#topsearch .leftbox .keyword dt{
    margin-right: 10px;
    margin-top: 10px;
}
#topsearch .leftbox .keyword dt img{
    margin-right: 10px;
	vertical-align:middle;
}
#topsearch .leftbox .keyword dd{
    margin-right: 10px;
}
#topsearch .leftbox .keyword dd a{
    padding: 10px 20px 10px 20px;
    display: block;
    background-color: #fff;
    text-decoration: none;
    border: 1px solid #d2b428;
    border-radius: 30px;
    color: #222;
}
#topsearchbg .rightbox{
    width: 275px;
    position: absolute;
    right: 85px;
    bottom: 295px;
}
/* トップ end */
/*==============================================================================
	グローバルナビ
==============================================================================*/
#gnavibg,#topgnavibg{
	background:url(images/gnavi/gnavi_bg.png) center center;
	position: relative;
}
#gnavibg::after,#topgnavibg::after{
	    width:100%;
    height:9px;
    display:block;
    left:0;
    bottom:-9px;
    position:absolute;
    content:"";
    background: #E5EAEA;
}
#gnavi ul#topscate{
	display:flex;
	box-sizing:border-box;
	font-weight:bold;
	position: relative;
	z-index: 8;
}
#gnavi ul li.scate{
	width:100%;
	float: none;
}
#gnavi ul#topscate li button{
	margin:0px;
	padding:35px 0px 35px 0px;
	width:100%;
	box-sizing:border-box;
	color:#222;
	font-size:113.75%;
	background:transparent;
	border:none;
	cursor:pointer;
	position:relative;
	transition:all .6s;
	font-weight: bold;
}
#gnavi ul#topscate li button::before{
    width:2px;
    height:20px;
    display:block;
    left:0;
    bottom:calc(50% - 10px);
    position:absolute;
    content:"";
    background: #000;
}
#gnavi ul#topscate li:first-child button::before{
  content:none;
}
#gnavi ul#topscate li button:hover span,
#gnavi ul#topscate li button.choice span{
	position: relative;
	z-index: 2;
	transition:all .6s;
}
#gnavi ul#topscate li button:hover span::after,
#gnavi ul#topscate li button.choice span::after{
	content:"";
	position:absolute;
	left:0;
	bottom:-8px;
	width:100%;
	height:15px;
  background: #B59E32;	
	z-index: -1;
}
/*------------------------------------------------------------------------------
	開閉メニュー
------------------------------------------------------------------------------*/
#gnavi .navi{
  padding: 35px 5% 50px 5%;
	box-sizing: border-box;
  width:100%;
  display:none;
  top:100%;
  position: absolute;
  overflow:hidden;
  left: 0px;
  background:rgba(0, 0, 0,0.8);
	z-index: 50;
}
#gnavi .navi a{
	color:#fff;
	text-decoration:underline;
}
#gnavi .navi .gnavilower{
	padding:0;
	display: flex;
	width:100%;
	box-sizing: border-box;
	justify-content: space-between;
	align-items: center;
}
#gnavi .navi .gnavidetail{
	font-size:130%;
	font-weight:bold;
}
#gnavi .navi .gnavidetail a{
	padding:20px 20px 30px 0px;
	display:block;
	position:relative;
	color:#FFF;
	font-size:130%;
	font-weight:bold;
}
#gnavi .navi .gnavidetail a:hover{
	background:transparent;
}
#gnavi .navi .gnavidetail a::after,
#gnavi .navi ul li a::after{
	content:none;
}
#gnavi .navi ul{
	margin:0px 30px 0px -30px;
	display: flex;
	flex-wrap: wrap;
	clear:both;
}
#gnavi .navi ul li{
	margin-left:30px;
	margin-top:30px;
	padding:0px 12px 0px 18px;
	width:calc(100% / 4 - 30px);
	text-align:left;
	box-sizing:border-box;
	font-size:90%;
	background:none;
	line-height: 1.5;
	position:relative;
}
#gnavi .navi ul li:nth-child(4n){
	margin-right:0px;
}
#gnavi .navi ul li a{
	font-weight:normal;
}
#gnavi .navi ul li::before{
	content: "";
    display: block;
    position: absolute;
    left:0px;
    top: 0.45em;
    width: 0.4em;
    height: 0.4em;
    border-left: 2px solid #FFF;
    border-top: 2px solid #FFF;
    transform: rotate(135deg);
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#gnavi ul#topscate .navi button.gnaviclose{
	padding:10px 10px 8px 40px;
	display:block;
	font-size:75%;
	color:#000;
	background:#FFF;
	text-decoration:none;
	line-height:1.2;
	cursor:pointer;
	font-weight: normal;
	border-radius: 3px;
	-webkit-appearance: none;
	width: auto;
}
#gnavi ul#topscate .navi button.gnaviclose::before,
#gnavi ul#topscate .navi button.gnaviclose::after{
	content:"";
	position:absolute;
	display:inline-block;
	top:10px;
	right:auto;
	left:20px;
	width:2px;
	height:15px;
	border:0;
	margin:0;
	padding:0;
	background-color:#000;
}
#gnavi ul#topscate .navi button.gnaviclose::before{
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
#gnavi ul#topscate .navi button.gnaviclose::after{
	-moz-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
/*==============================================================================
	パンくず
==============================================================================*/
#tpath{
	font-size:80%;	
	margin-top:35px;
	margin-bottom:35px;
	background-color: transparent;
}
#tpath a{
	margin-right:15px;
	color:#73550A;
}
/*==============================================================================
	左メニュー
==============================================================================*/
#menu{
	background:#F0F0F0;
	border-bottom:1px solid #CFB329;
	border-right:1px solid #CFB329;
	position: relative;
}
#menu::before{
	content:"";
	background: #F0F0F0;
	width:1px;
	height: 10px;
	position: absolute;
	right:-1px;
	bottom:-1px;
}
#menu::after{
	content:"";
	background: #F0F0F0;
	width:10px;
	height: 1px;
	position: absolute;
	right:0;
	bottom:-1px;
}
#menu a{
	transition:all .5s;
}
/*------------------------------------------------------------------------------
	見出しh2
------------------------------------------------------------------------------*/
#menu h2{
	padding:22px 10px 18px 20px;
	display:block;
	color:#222;
	background:url(images/lnavi/mark_h2.png) no-repeat left top,
		 #DBC887 url(images/lnavi/h2_bg.png);
	text-align: left;
  position:relative;
}
#menu h2::after{
	content:"";
	background: #F0F0F0;
	width:1px;
	height: 10px;
	position: absolute;
	right:-1px;
	bottom:-10px;
}
#menu h2 a{
	color:#222;
}
/* lang属性用 */
#menu h2 span.h2span span{
	padding:0px;
}
/*------------------------------------------------------------------------------
	リンクなし　セパレータ
------------------------------------------------------------------------------*/
#menu h3.separator{
	margin:0 10px 0 0;
	padding:10px 5px 8px 8px;
	background:#FDFDFD;
	border-top:1px solid #CCC;
	border-bottom:1px solid #CCC;
}
#menu h4.separator,#menu h5.separator,#menu h6.separator{
	margin:0px 10px 0px 10px;
	padding:10px 5px 8px 6px;
	background:#FDFDFD;
	border-top:1px solid #CCC;
	border-bottom:1px solid #CCC;
}
#menu h4.separatorb{
	margin:0px 10px 0px 10px;
	padding:10px 5px 8px 6px;
	background:#FDFDFD;
	border-top:1px solid #CCC;
	border-bottom:1px solid #CCC;
}
#menu h3 + h4.separatorb{
	border-top:none;
}
/*------------------------------------------------------------------------------
	詳細メニュー　h3 h4 ul 同じリスト風デザイン
------------------------------------------------------------------------------*/
#menu h3{
	margin:0px 10px 0px 0px;
	background:#F0F0F0;
	border-bottom:none;
}
#menu h4{
	margin:0px 10px 0px 0px;
	font-weight:normal;
	background:#F0F0F0;
	border-bottom:none;
}
#menu h5{
	margin:0px 10px 0px 10px;
	font-weight:normal;
	background:#F0F0F0;
	border-bottom:none;
}
#menu h3 a{
	padding:10px 5px 10px 23px;
	color:#73550A;
	border-bottom:1px solid #CCC;
	position:relative;
}
#menu h3 a::before{
	width:2px;
	height:calc(100% - 24px);
	content:"";
	position:absolute;
	top:calc(.9em);
	left:10px;
	background:#73550A;
	transition:all .2s;
}
#menu h3 a:hover{
	color:#222;
	background:#E5E5E5;
}
#menu h4 a{
	padding:10px 5px 10px 23px;
	color:#73550A;
	border-bottom:1px solid #CCC;
	position:relative;
}
#menu h5 a{
	padding:10px 5px 10px 23px;
	color:#73550A;
	border-bottom:1px solid #CCC;
	position:relative;
}
#menu h4 a::before,
#menu h5 a::before{
	width:8px;
	height:8px;
	content:"";
	position:absolute;
	top:1em;
	left:7px;
	border-top: 1px solid #73550A;
	border-right: 1px solid #73550A;
	box-sizing: border-box;
	transform:rotate(135deg);
}
#menu h4 a:hover,
#menu h5 a:hover{
	color:#222;
	background:#E5E5E5;
}
#menu ul{
	margin-right:10px;
}
#menu ul li:not([class]) a{
	padding:12px 5px 12px 30px;
	color:#73550A;
	border-bottom:1px solid #CCC;
	position:relative;
}
#menu ul li:not([class]):last-child a{
	border-bottom:none;
}
#menu ul li:not([class]) a::before{
	width:16px;
	height:16px;
	content:"";
	position:absolute;
	top:1em;
	left: 6px;
	border-radius: 50%;
	background: #D2B428;
}
#menu ul li:not([class]) a::after{
	width: 6px;
	height: 6px;
	content:"";
	position:absolute;
	top:1.35em;
	left: 9px;
	border-top: 1px solid #73550A;
	border-right: 1px solid #73550A;
	box-sizing: border-box;
	transform:rotate(45deg);
}
#menu ul li:not([class]) a:hover{
	padding:12px 5px 12px 30px;
	display:block;
	position:relative;
	color:#222;
	background:#E5E5E5;
}
#menu ul li:not([class]) a:hover::before{
	border-left-color:#FFE300;
}
#menu ul li.choice{
	padding:10px 5px 10px 30px;
	display:block;
	position:relative;
	color:#73550A;
	background:#E5E5E5;
	border-bottom:1px solid #CCC;
}
#menu ul li.choice::before{
	width:16px;
	height:16px;
	content:"";
	position:absolute;
	top:1em;
	left: 6px;
	border-radius: 50%;
	background: #FFF;
}
#menu ul li.choice::after{
	width: 12px;
	height: 6px;
	content:"";
	position:absolute;
	top:1.15em;
	left: 9px;
	border-top: 1px solid #222;
	border-right: 1px solid #222;
	box-sizing: border-box;
	transform:rotate(135deg);
}
/*------------------------------------------------------------------------------
	入れ子リスト
------------------------------------------------------------------------------*/
#menu ul.lmenu li{
	margin-left:10px;
}
#menu ul.lmenu li a{
	border-bottom:1px solid #CCC;
	position:relative;
}
#menu ul.lmenu li a::before{
	content:none;
}
#menu ul.lmenu li a:hover{
	color:#222;
	background-color:#E5E5E5;
}
#menu ul.lmenu li a:hover::before{
	background-color:#FFE300;
	border:none;
	border-radius:50%;
}
#menu ul.lmenu li.choice{
	display:block;
	color:#73550A;
	background-color:#E5E5E5;
	border-bottom:1px solid #CCC;
}
#menu ul.lmenu li.choice::before{
	content:none;
}
/*  フォーカス　*/
#menu h2 a:focus{
	z-index: 1;
	position: relative;
	outline: 2px solid #000;
}
#menu h3 a:focus,
#menu h4 a:focus,
#menu h5 a:focus{
	z-index: 1;
}
#menu ul li a:focus{
	z-index: 1;
}
/*------------------------------------------------------------------------------
	アーカイブ
------------------------------------------------------------------------------*/
.archive #menu h4.separatorb,
.archive #menu h5.separatorb,
.archive #menu h6.separatorb{
	margin:0px 0px 0px 10px;
	padding:10px 5px 8px 6px;
	width:177px;
	background:#EEEEEE;
	border-top:1px dotted #999;
}
.archive #menu h3 a.choice,
.archive #menu h4 a.choice,
.archive #menu ul li a.choice,
.archive #menu ul.lmenu li a.choice{
	background-color:#faf7e6;
}
/*------------------------------------------------------------------------------
	アーカイブ
------------------------------------------------------------------------------*/
.sidebannertxtbg{
	background:#F0F0F0;
	border-bottom:1px solid #CFB329;
	border-right:1px solid #CFB329;
	position: relative;
}
.sidebannertxtbg::before{
	content:"";
	background: #F0F0F0;
	width:1px;
	height: 10px;
	position: absolute;
	right:-1px;
	bottom:-1px;
}
.sidebannertxtbg::after{
	content:"";
	background: #F0F0F0;
	width:10px;
	height: 1px;
	position: absolute;
	right:0;
	bottom:-1px;
}
.sidebannertxtbg h2{
	padding:22px 10px 18px 20px;
	display:block;
	color:#222;
	font-size:120%;
	background:url(images/lnavi/mark_h2.png) no-repeat left top,
		 #DBC887 url(images/lnavi/h2_bg.png);
	text-align: left;
  position:relative;
}
.sidebannertxtbg h2::after{
	content:"";
	background: #F0F0F0;
	width:1px;
	height: 10px;
	position: absolute;
	right:-1px;
	bottom:-10px;
}
.sidebannertxt ul{
	margin:0 0 30px 0;
	list-style-type: none;
}
#lnavi .sidebannertxt ul{
	margin:10px;
}
.sidebannertxt li{
	margin-bottom:10px;
	box-shadow:0 0 3px 0 #CCC;
	border-radius: 5px;
}
.sidebannertxt li a{
	padding:10px 5px;
	display: flex;
	color:#222;
	background: #FFF;
	text-decoration: none;
	align-items: center;
	border:1px solid #CCC;
	border-radius: 5px;
}
.sidebannertxt li a:hover{
	background: #FAFAF0;
}
.sidebannertxt li img{
	margin-right:8px;
}
/*==============================================================================
	ページ遷移
==============================================================================*/
#guide ul,#guide ul li{
	display:inline;
}
/*------------------------------------------------------------------------------
	このページのトップへ
------------------------------------------------------------------------------*/
#guide p.pagetop{
	display:block;
	clear:both;
	text-align:right;
	position:fixed;
	right:30px;
	bottom:25px;
	z-index:10000;
	line-height:0;
	display:none;
}
#guide p.pagetop a img{
	display: block;
}
#guide p.pagetopnoscript{
	display:block;
	clear:both;
	text-align:right;
	position:fixed;
	right:30px;
	bottom:25px;
	z-index:10000;
	line-height:0;
}
/*------------------------------------------------------------------------------
	ページ戻り
------------------------------------------------------------------------------*/
#guide ul li a.pageback{
	margin-right:20px;
	padding-left:25px;
	background:url(images/page/mark_pageback.png) no-repeat left center;
}
#guide ul li a.pagehome{
	padding-left:25px;
	background:url(images/page/mark_pagehome.png) no-repeat left center;
}
/*------------------------------------------------------------------------------
	表示切替
------------------------------------------------------------------------------*/
#guide .viewmode{
	display:inline-block;
	font-size:95%;
}
#guide .viewmode dl,#guide .viewmode dt,#guide .viewmode dd{
	display:inline-block;
}
#guide .viewmode dl::after{
	content:"";
	display:block;
	clear:both;
}
#guide .viewmode dl{
	margin-left:10px;
	vertical-align:middle;
}
#guide .viewmode dt{
	padding:5px 15px 5px 15px;
	display:inline-block;
	vertical-align:middle;
	font-weight:bold;
}
#guide .viewmode dd{
	vertical-align:middle;
	border:1px solid #CCCCCC;
	border-radius:5px;
}
#guide .viewmode ul{
	margin:0px;
	display:table;
	list-style-type:none;
}
#guide .viewmode ul li{
	display:table-cell;
	text-align:center;
	white-space:nowrap;
}
#guide .viewmode dd a{
	padding:8px 25px 8px 25px;
	display:block;
	color:#222;
}
#guide .viewmode a#viewmode_pc{
	border-right:1px solid #CCC;
	background:#FFF;
	text-decoration:none;
	border-radius:5px 0 0 5px;
}
#guide .viewmode a#viewmode_pc:hover{
	text-decoration:underline;
}
#guide .viewmode a#viewmode_smp{
	border:none;
	background:#EEEEEE;
	border-radius:0 5px 5px 0;
}
#guide .viewmode a#viewmode_smp:hover{
	background:#FFF;
}
/*==============================================================================
	フッタ
==============================================================================*/
#footerbg,#topfooterbg{
	padding:50px 0 100px 0;
	background: url(images/footer/footer_bg.jpg) no-repeat center center;
	background-size: cover;
}
#footer{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#add{
	width:45%;
}
#footernavi{
	width:45%;
}
#footernavi ul{
	list-style-type:none;
	display: flex;
	flex-wrap: wrap;
}
#footernavi ul li{
	margin-bottom:20px;
	width:calc(100% / 2);
}
#footernavi ul li a{
	padding-left:25px;
	color:#222;
	position:relative;
}
#footernavi ul li a::before{
	width:16px;
	height:16px;
	content:"";
	position:absolute;
	top:0;
	left:0;
	border-radius: 50%;
	background: #D2B428;
}
#footernavi ul li a::after{
	width: 6px;
	height: 6px;
	content:"";
	position:absolute;
	top:5px;
	left:4px;
	border-top: 1px solid #73550A;
	border-right: 1px solid #73550A;
	box-sizing: border-box;
	transform:rotate(45deg);
}
#add h2{
	margin-bottom:30px;
	font-size:245%;
}
#add address{
	font-style: normal;
}
#add p{
	margin-top:20px;
	width:50%;
	border-radius: 5px;
}
#add p a{
	padding:10px 10px 10px 40px;
	display: block;
	background: #FFF;
	border-radius: 5px;
	border:1px solid #d2b428;
	position:relative;
	box-shadow: 0 0 3px #666;
}
#add p a::before{
	width:16px;
	height:16px;
	content:"";
	position:absolute;
	top:.9em;
	left:15px;
	border-radius: 50%;
	background: #D2B428;
}
#add p a::after{
	width: 6px;
	height: 6px;
	content:"";
	position:absolute;
	top:1.25em;
	left:1.25em;
	border-top: 1px solid #73550A;
	border-right: 1px solid #73550A;
	box-sizing: border-box;
	transform:rotate(45deg);
}
#copy{
	max-width: 1200px;
	min-width:auto;
	width: 100%;
	margin:0 auto;
	text-align: left;
  display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	align-items:center;
}
#copy p{
	width: 40%;
	margin:30px auto 0px 0;
	font-size:80%;
	line-height: 1.8;
}
#copy ul{
	list-style-type:none;
	display:flex;
	gap:10px;
}
/*==============================================================================
	キッズ
==============================================================================*/
.kids #menu{
	background:#FFF;
    border: 1px solid #CCC;
}
.kids #menu::before,
.kids #menu::after,
.kids #menu h2::after,
.kids #menu ul li:not([class]) a::before,
.kids #menu ul li:not([class]) a::after,
.kids #menu ul li.choice::before,
.kids #menu ul li.choice::after{
	content:none;
}
.kids #menu h2{
	padding: 0;
	border-bottom:1px solid #CCC;
	background:url(images/kids/lnavi_h2.png) no-repeat right 5px bottom 0px,url(images/kids/kids_bg.gif) repeat left top;
	text-align: center;
}
.kids #menu h2 a,
.kids #menu h2 span{
	padding: 22px 10px 40px 20px;
}
.kids #menu ul{
	margin-right:0;
}
/*------------------------------------------------------------------------------
	詳細メニュー　h3 h4 ul 同じリスト風デザイン
------------------------------------------------------------------------------*/
.kids #menu h3,
.kids #menu h4,
.kids #menu h5{
	margin-right:0px;
	background:transparent;
}
.kids #menu h3 a,
.kids #menu h4 a,
.kids #menu h5 a{
	padding-left:25px;
	background:url(images/kids/mark_lnavi.png) no-repeat 10px 18px;
}
.kids #menu h3 a::before,
.kids #menu h4 a::before,
.kids #menu h5 a::before{
	content:none;
}
.kids #menu h3 a:hover,
.kids #menu h4 a:hover,
.kids #menu h5 a:hover{
	background:#FFEDB5 url(images/kids/mark_lnavi_o.png) no-repeat 10px 18px;
}
.kids #menu h3 a.choice,
.kids #menu h4 a.choice{
	background:#FFEDB5 url(images/kids/mark_lnavi_o.png) no-repeat 10px 18px;
}
.kids #menu ul li a{
	padding-left:25px;
	background:url(images/kids/mark_lnavi.png) no-repeat 10px 22px;
}
.kids #menu ul li a:hover{
	padding-left:25px;
	background:#ffedb5 url(images/kids/mark_lnavi_o.png) no-repeat 10px 22px;
}
.kids #menu ul li.choice{
	padding-left:25px;
	background:#ffedb5 url(images/kids/mark_lnavi_o.png) no-repeat 10px 18px;
}
/*------------------------------------------------------------------------------
	入れ子リスト
------------------------------------------------------------------------------*/
.kids #menu ul.lmenu li a{
	padding-left:22px;
	background:url(images/kids/mark_slnavi.png) no-repeat 10px 22px;
}
.kids #menu ul.lmenu li a:hover{
	background:#ffedb5 url(images/kids/mark_slnavi_o.png) no-repeat 10px 22px;
}
.kids #menu ul.lmenu li a.choice{
	background:#ffedb5 url(images/kids/mark_slnavi_o.png) no-repeat 10px 22px;
}
/*==============================================================================
	画面幅調整
==============================================================================*/
/*------------------------------------------------------------------------------
	1200px以下
------------------------------------------------------------------------------*/
@media screen and (max-width:1200px){
	#header,#tpath,#guide,#footer,#pagebody,#copy{
		padding-left:1%;
		padding-right:1%;
	}
}
/*------------------------------------------------------------------------------
	1095px以下
------------------------------------------------------------------------------*/
@media screen and (max-width:1095px){
	#headerbg #header{
    display: block;
  }
	#headerbg #tlogo{
		margin-bottom:20px;
		justify-content: center;
	}
	#headerbg #tlogo img{
		width:150px;
		height: auto;
	}
	#headerbg #util1 ul,#util2{
		justify-content: center;
	}
	#gnavi ul li, #topgnavi ul li{
		font-size:85%;
		letter-spacing: normal;
  }
	#add p{
  	width:100%;
  }
	#add h2 {
    margin-bottom: 0px;
		font-size: 180%;
	}
	#copy {
		margin-top:50px;
    display: block;
  }
	#copy p {
    width: 100%;
  }
	#copy p br{
    display: none;
	}
}
/*------------------------------------------------------------------------------
	1025px以下
------------------------------------------------------------------------------*/
@media screen and (max-width:1080px){
	#topsearchbg {
		position: relative;
		bottom: auto;
		z-index:auto;
		left: auto;
	}
}
/*------------------------------------------------------------------------------
	850px以下
------------------------------------------------------------------------------*/
@media screen and (max-width:850px){
	#gnavi ul li, #topgnavi ul li{
		font-size:85%;
		letter-spacing: normal;
  }
	#gnavi .navi ul li{
		width:calc(100% / 3 - 30px);
		font-size:100%;
  }
	#gnavi .navi ul li:nth-child(3n){
		margin-right:0px;
	}
	#content{
		width:calc(100% - 25%);
	}
	#lnavi{
		width:20%;
	}
}