/*==============================================

					clearfix
					
================================================*/
.cf:before,
.cf:after {
    content:"";
    display:table;
}
.cf:after {
    clear:both;
}
.cf {
    zoom:1;
}

/*==============================================

					初期設定
					
================================================*/
body,html {
	background-color:#f5f2e9;
	position:relative;
	font-family:Meiryo,メイリオ,"Hiragino Kaku Gothic ProN W3","ヒラギノ角ゴ ProN W3","Lucida Grande",sans-serif;
	font-size:14px;
}
@media screen and (max-width:959px) {
	
	body,html { font-size: 1.5vw; }
}
@media screen and (max-width:941px) {
	
	body,html { font-size:2vw; }
}
@media screen and (max-width:480px) {
	
	body,html { font-size:3.125vw; }
}

ul,li{
	list-style-type:none;
	margin:0;
	padding:0;
}
p {
	font-size:1em;
	line-height:1.5em;
	margin:0 0 0.3em 0;
	padding:0;
	text-indent:1em;
	
}
.em_min {
	font-size:0.8em;
}
.orange {
	color:#E97411;
}
a {
	vertical-align:text-bottom;
	color:#2C468E;
}
a:hover {
	color:#e97411;
}
.both {
	clear:both;
}
.left {
	float:left;
}
.right {
	float:right;
}

.box_bnr,
.figure { text-indent: 0 !important; }
.box_bnr img,
.figure img {
	
	width: 100%;
	height: auto;
}
@media screen and (min-width:768px) {
	
	.figure_sp img {

		width: auto;
		height: auto;
	}
}
@media screen and (max-width:941px) {
	
	.figure_sp img {

		width: 100%;
		height: auto;
	}
}


.box_bnr {
	margin: 0 0 1rem;
	text-align: center;
}

#mv img {
	
	width: 100%;
	height: auto;
}

#menu_sp {
	
	position: absolute;
	top: 4.33rem;
	left: 0;
	display: none;
	width: 100%;
	z-index: 999;
	
	box-shadow:0px 3px 6px -3px #999;
	-moz-box-shadow:0px 3px 6px -3px #999;
	-webkit-box-shadow:0px 3px 6px -3px #999;
}

#menu_sp.active { display: block; }

.menu_sp_inner {}

#menu_sp > ul {
	padding: 1rem 0 0;
	background: #fff;
}
#menu_sp li {}
#menu_sp a {
	color: #635038;
	font-size: 128%;
	text-decoration: none;
}
#menu_sp > ul > li {
	
	border-bottom: solid 1px #635038;
	padding: 0 0 1rem;
	margin: 0 0 1rem;
}
#menu_sp > ul > li:last-child {
	
	padding: 0 0 1rem;
	margin-bottom: 0;
}
#menu_sp > ul > li > a {
	
	font-weight: bold;
	background: #635038;
	color: #fff;
	border-radius: 4px;
	display: block;
	line-height: 1;
	padding: 0.5rem;
	margin: 0 0.5rem;
	position: relative;
}
#menu_sp > ul > li > a:before {
	
	position: absolute;
	right: 1rem;
	top: 50%;
	margin-top: -0.5em;
	
	color: #fff;
	
	content: "\f123";
    display: inline-block;
    font-family: "Ionicons";
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    text-rendering: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}

#menu_sp > ul > li > .active {}
#menu_sp > ul > li > .active:before {
    -webkit-transform: scale(1, -1);
    -moz-transform: scale(1, -1);
    -o-transform: scale(1, -1);
    transform: scale(1, -1);
}


#menu_sp > ul > li ul {
	padding: 0;
}
#menu_sp > ul > li li {
	
	border-bottom: solid 1px #d1d1d1;
	line-height: 1.125;
	padding: 1rem;
}
#menu_sp > ul > li li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

#menu_sp .btn_regist {}
#menu_sp .btn_regist img {
	width: 100%;
	height: auto;
}

/*==============================================

					body
					
================================================*/
/* wrapper */
.wrapper {
	
	width: 100%;
	height: 100%;
}

#container {
	position:relative;
	margin:0 auto;
	background:#f8f2e9 url(../img/container_back.png) repeat-x left top;
	zoom:1;
}
#content {
	
	max-width: 942px;
	width: 100%;
	height:100%;
	margin:0 auto;
}

#white_base {
	border-radius:3px;
	background:#FFFFFF;
	overflow:hidden;
	box-shadow:0 0 3px rgba(0,0,0,0.4);
}
/*==============================================

					header
					
================================================*/					
					
#header {
	
	width:100%;
	border-bottom:solid 4px #635038;
	background:#fff;
}

#head_box:before,
#head_box:after { content: " "; display: table; }
#head_box:after { clear: both; }
#head_box {
	
	max-width: 942px;
	width: 100%;
	margin:0 auto;
	position:relative;
}
@media screen and (max-width:959px) {
	
	#head_box {

		padding: 0.5rem 0.5rem;
		
		display: table;
		border-collapse: separate;
		border-spacing: 0;
	}
	#head_box:before,
	#head_box:after { display: none; }
}

#nav:before,
#nav:after { content: " "; display: table; }
#nav:after { clear: both; }
#nav {
	
	clear:both;
	position: relative;
	height:39px;
	margin: 1rem 0 0;
}

@media screen and (max-width:959px) {
	
	#nav {
		display: none;
	}
}
#nav:after {
	
	content:"";
	display:block;
	position:absolute;
	width: 100%;
	height: 4px;
	background:#E97411;
	bottom: -4px;
	left: 0;
	z-index:2;
}
#nav > li {
	
	float:left;
	height:100%;
}
#nav > li > a {
	
	height:30px;
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
	background:url(../img/gnav.jpg) no-repeat 0 0;
}
#nav > #nav01 > a {
	width:133px;
	background-position:0 0;
}
#nav > #nav02 > a {
	width:153px;
	background-position:-133px 0;
}
#nav > #nav03 > a {
	width:205px;
	background-position:-286px 0;
}
#nav > #nav04 > a {
	width:155px;
	background-position:-491px 0;
}
#nav > #nav05 > a {
	width:139px;
	background-position:-646px 0;
}
#nav > #nav06 > a {
	width:155px;
	background-position:-785px 0;
}
#nav > #nav01:hover > a,
#nav > #nav01.active a {
	width:133px;
	background-position:0 -30px;
}
#nav > #nav02:hover > a,
#nav > #nav02.active a {
	width:153px;
	background-position:-133px -30px;
}
#nav > #nav03:hover > a,
#nav > #nav03.active a {
	width:205px;
	background-position:-286px -30px;
}
#nav > #nav04:hover > a,
#nav > #nav04.active a {
	width:155px;
	background-position:-491px -30px;
}
#nav > #nav05:hover > a,
#nav > #nav05.active a {
	width:139px;
	background-position:-646px -30px;
}
#nav > #nav06:hover > a,
#nav > #nav06.active a {
	width:155px;
	background-position:-785px -30px;
}
#nav .v02 {position:absolute;z-index:110;width:600px;display:none;border-radius:0 0 5px 5px;border:solid 3px #968172;overflow:hidden;background:#fff;top:39px;}
#nav .v02 li {margin:5px 0;border-top:dotted 1px #968172;padding-top:5px;}
#nav .v02 li:first-child {border:none;padding-top:0;}
#nav .v02 li a {width:90% !important;display:block;height:auto;margin:0 1em;padding:.3em 1em .1em 1em;text-decoration:none;border-radius:3px;}
#nav .v02 li a:hover {background:#968172;color:#fff;}

#nav > #nav04 .v02 {right:0;}
#nav > #nav05 .v02 {right:0;}
#nav > #nav06 .v02 {right:0;}

#title,
#top_btn { margin: 2rem 0 1.5rem; }

#title {
	
	display: block;
	float:left;
}
@media screen and (max-width:959px) {
	
	#title {
		
		margin: 0.5rem 0 0;
		display: table-cell;
		vertical-align: middle;
		float: none;
		text-align: left;
	}

	#title img {
		
		width: auto;
		height: 2rem;
		vertical-align: middle;
	}
}
#top_btn {
	
	display: table;
	border-collapse: collapse;
	border-spacing: 0;
	float: right;
}
#top_btn > div {
	
	display: table-cell;
	vertical-align: bottom;
}

@media screen and (max-width:959px) {
	
	#top_btn {

		display: table-cell;
		vertical-align: middle;
		float: none;
		text-align: right;
	}
	#top_btn > div {
		
		width:auto;
		display: inline-block;
		vertical-align: middle;
	}
}

#font_size {
	
	display: table;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
}
#font_title,
#font_size ul {
	
	display: table-cell;
	vertical-align: middle;
}
#font_title { padding: 0 0.5rem 0 0; }
#font_title img {
	vertical-align: bottom;
}
#font_size ul {}
#font_size li {
	
	display: inline-block;
	vertical-align: bottom;
	margin: 0;
}
#font_size a {
	
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
	background: url(../img/headmenu.jpg) no-repeat 0 0;
	
	width: 51px;
	height: 25px;
	margin: 12px 4px 0 0;
}
@media screen and (max-width:959px) {
	
	
	#top_btn > #font_size { display: none; }
	
	#font_title,
	#font_size ul { display: block; }
	
	#font_title { padding: 0; }
	#font_title img {
		height: 0.75rem;
		width: auto;
	}
	
	#font_size ul {}
	#font_size li {

		display: inline-block;
		vertical-align: bottom;
		margin: 0;
	}
	#font_size a {

		display: block;
		overflow: hidden;
		white-space: nowrap;
		text-indent: 100%;
		background: url(../img/headmenu.jpg) no-repeat 0 0;

		width: 51px;
		height: 25px;
		margin: 0 4px 0 0;
	}
}

#size_m a { background-position:0 0; }
#size_l a { background-position:-51px 0; }
#size_xl a { background-position:-102px 0; }

#size_m:hover a,
#size_m.textresizer-active a { background-position:0 -25px; }
#size_l:hover a,
#size_l.textresizer-active a{ background-position:-51px -25px; }
#size_xl:hover a,
#size_xl.textresizer-active a { background-position:-102px -25px; }



#sitemap {}
#sitemap a {
	
	width:172px;
	height:42px;
	display: block;
	overflow:hidden;
	background-position:0 0;
	margin: -5px 0 0 0;
}
#sitemap a:hover { opacity:0.7; }
#sitemap img {
	
	width: 100%;
	height: auto;
}

@media screen and (max-width:959px) {
	
	#sitemap { margin: 0.5rem 0 0; }
	#sitemap a {
		
		width: auto;
		height: 1.66rem;
		display: inline-block;
		overflow: visible;
		white-space: normal;
		text-indent: 0;
		background: none;
		float: none;
		margin: 0;
	}
	#sitemap img {
		
		width: auto;
		height: 100%;
		vertical-align: middle;
	}
}

#siteid {
	padding: 0 0 0 1.5rem;
}
#logo {}
@media screen and (max-width:959px) {
	
	#siteid {
		padding: 0;
		margin: 0.5rem 0 0;
	}
	#siteid img {
		height: 2rem;
		width: auto;
		vertical-align: middle;
	}
	#logo {}
}

#menu_sp_btn {}
#menu_sp_btn > button {
	
	width: 3rem;
	height: 3rem;
}
#menu_sp_btn > button > i {
	
	display: inline-block;
	vertical-align: middle;
	position: relative;
}
#menu_sp_btn > button > i > span {
	
	border-top: solid 3px #333;
	border-radius: 2px;
	display: block;
	width: 2rem;
	
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -1rem;
	
	-webkit-transition: all 0.2s;
	-ms-transition: all 0.2s;
	transition: all 0.2s;
}
#menu_sp_btn > button > i > span:last-child { margin-bottom: 0; }
#menu_sp_btn > button > i > span:before { content: ''; }

#menu_sp_btn_line01 { margin-top: -7px; }
#menu_sp_btn_line02 { margin-top: -1px; }
#menu_sp_btn_line03 { margin-top: 5px; }

#menu_sp_btn.active > button > i > span { border-top-color: #777; }
.active #menu_sp_btn_line01 {
	
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-top: -1px;
}
.active #menu_sp_btn_line02 {
	
	opacity: 0;
	-webkit-transform: rotateX(90deg);
	-ms-transform: rotateX(90deg);
	transform: rotateX(90deg);
}
.active #menu_sp_btn_line03 {
	
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin-top: -1px;
}

#top_btn > #menu_sp_btn { display: none; }

@media screen and (max-width:959px) {

	#menu_sp_btn {}
	#top_btn > #menu_sp_btn {
		
		display: inline-block;
	}
	#menu_sp_btn > button {
		
		border: none;
		outline: none;
		background: none;
	}
	#menu_sp_btn > button > i {
		font-size: 2rem;
	}
}

.mb12 { margin-bottom:12px; }
.pl1em{ padding-left:1em; }


/*==============================================

					footer
					
================================================*/

#footer { height:140px; }
@media screen and (max-width:941px) {
	
	#footer {
		
		height:auto;
		padding: 1rem 0;
		text-align: center;
	}
}

#logo02 {
	
	margin-top:2rem;
	float:left;
	display: block;
}
@media screen and (max-width:941px) {
	
	#logo02 {
		
		margin: 0 0 0.5rem;
		float:none;
	}
	#logo02 img {
		
		height: 3rem;
		width: auto;
	}
}

#address {
	
	width:396px;
	float:left;
	font-size:0.8rem;
	color:#555;
	margin:38px 0 0 33px;
}
#address > span { margin: 0 1rem 0 0; }
#address span:first-child { display: block; }

@media screen and (max-width:941px) {
	
	#address {
		
		width: auto;
		float: none;
		font-size: 0.75rem;
		margin:0;
	}
	#address span {
	
		margin: 0 0 0.25rem;
		display: block;
	}
	#address span:last-child { margin: 0 0 0.5rem; }
	#address small {
		
		display: block;
		text-align: center;
	}
}

#footer_link {
	
	width: 99px;
	padding-left: 1.5rem;
	background:url(../../img/list_mark02.png) no-repeat 0.5rem center;
	border-left:solid 1px #AD916F;
	float:left;
	margin: 38px 0 0 35px;
}
#footer_top_btn {
	width:127px;
	padding-left:13px;
	border-left:solid 1px #AD916F;
	float:left;
	margin-top:38px;
}
#footer_top_btn a {
	display:block;
}
@media screen and (max-width:941px) {
	
	#footer_link {
		
		width: auto;
		padding-left: 2rem;
		border-left: none;
		background: url(../../img/list_mark02.png) no-repeat left center;
		background-size: 1rem auto;
		display: inline-block;
		float: none;
		margin: 0 0 0 0.5rem;
		vertical-align: middle;
	}
	
	#footer_top_btn {
		
		position: fixed;
		right: 0.5rem;
		bottom: 0;
		
		z-index: 99;
		display: block;
		
		padding: 0;
		margin:0;
		
		width: 11rem;
		max-width: 140px;
		border: none;
		float:none;
	}
	#footer_top_btn a {
		
		display:block;
		border-top: solid 1px #AD916F;
		border-right: solid 1px #AD916F;
		border-bottom: none;
		border-left: solid 1px #AD916F;
		border-radius: 4px 4px 0 0;
		background-color: #f5f2e9;
		padding: 5%;
		margin:0;
	}
	#footer_top_btn img {
		
		width: 100%;
		height: auto;
		vertical-align: middle;
	}
}

address {
	font-style:normal;
}
small {
	font-size:1em;
}
.mb-0 {
	margin-bottom:0;
}

.table {}
.table table {}
@media screen and (max-width:941px) {
	
	.table {
		overflow-x: auto;
		min-height: 0.01%;
		min-width: 100%;
	}
	.table table {
		width: auto !important;
		table-layout: auto !important;
	}
	
	.table::-webkit-scrollbar { height: 5px; }
	.table::-webkit-scrollbar-track { border-radius:5px; background: #e2e2e2; }
	.table::-webkit-scrollbar-thumb { border-radius:5px; background: #959595; }

}

.figure_middle {}
.figure_middle.right { margin: 0 0 0 1em; }

@media screen and (max-width:941px) {
	
	.figure_middle {
		
		width: 66.66% !important;
		height: auto !important;
		float: none !important;
		display: block;
		margin: 0 auto 1rem;
	}
	.figure_middle.right { margin: 0 auto 1rem; }
}

/*==============================================

					talker
					
================================================*/
.voice {
  position:absolute;
  margin-left:-9999px;
}
/*==============================================

					用語集
					
================================================*/
.glossary {
	color:#AB25BD;
	text-decoration:none;
}

.glossary_pos {
	
	border: none !important;
	display: inline !important;
	padding: 0 !important;
	margin: 0 !important;
}


.wordpop {
	
	position:absolute;
	top:1360px;
	left:420px;
	display:none;
	z-index:100;
	background:url(../img/word_pop.png) no-repeat left bottom;
	padding:15px 0;
}
.wordpop img {
	display:block;
	margin-left:30px;
}
.wp_in {
	width:400px;
	border-radius:5px;
	padding:0.5em 1em 0.5em 1em;
	border:solid 3px #E97411;
	background-color:#fff;
	box-shadow:2px 2px 4px rgba(0,0,0,0.2);
	clear:both;
}
.wp_in b {
	font-size:1.2em;
	line-height:2em;
}
.wp_in p { margin:0; }
.wordpop .wp_in .close a { text-decoration:none; }
.wordpop .wp_in .close a span {
	font-weight:bold;
	color:#FFF;
	background:#555;
	padding:0 4px;
	text-decoration:none;
	margin-left:5px;
	border-radius:3px;
}
.wordpop .wp_in .close a:hover span { background:#aaa; }
.wordpop .wp_in .close {
	text-align:right;
	font-size:0.9em;
}
.mb01 { margin-bottom:1em; }

.wordpop_arrow {
	
	display: none;
	position: absolute;
	z-index: 10;
	width: 10px;
	height: 12px;
	
	background-image: url(../img/word_pop.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
}
.wordpop_arrow:before { content: ''; }

@media screen and (max-width:941px) {
	
	.wp_in { width:95vw; }
	.wordpop { background: none; }
}

@media screen and (max-width:941px) {
	.pc_disp { display:none; }
}
@media screen and (min-width:942px) {
	.sp_disp { display:none; }
}

/*20240925追加*/

@media screen and (max-width:767px) { /*767以下*/
	.pconly {
		display: none;
	}
}
@media screen and (min-width:768px) { /*768以上*/
	.sponly {
		display: none;
	}
}