@charset 'utf-8';


svg.svgsymbols {
	width: 0;
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

svg {
	width: 100%;
	height: 100%;
}

.logotypeset,
.logotypeset span {
	display: inline-block;
}

.logotypeset svg {
	vertical-align: top;
}

/*
body.menuopen {
	position: fixed;
	width: 100%;
	height: 100%;
}
*/

#upper {
	width: 100%;
	background: rgba(255,255,255,1);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
}

body.fixed #upper,
body.menuopen #upper {
}

#upper > .inner {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	text-align: center;
	position: relative;
}

#upper h1,
#upper h2 {
	font-weight: normal;
	line-height: 1;
}

#upper h1 {
}

#logo_header {
	display: inline-block;
	height: 100%;
	font-size: 0rem;
	position: relative;
	z-index: 10;
}

#logo_header:before {
	display: inline-block;
	content: '';
	height: 100%;
	vertical-align: middle;
}

#logo_header a {
	display: inline-block;
	font-size: 1rem !important;
	color: #3f3f3f;
	text-decoration: none;
	vertical-align: middle;
	position: relative;
}

#logo_header a:hover,
#logo_header a.hover {
	color: #727272;
}

#logo_header .logotypeset {
	display: inline-block;
	white-space: nowrap;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
	position: relative;
}

#logo_header .logotypeset .sitename {
	display: none;
}

#logo_header .logotypeset .logo.logo_mark {
	width: 22px;
	height: 22px;
	margin-right: 3px;
	vertical-align: middle;
}

#logo_header .logotypeset .logo.logo_type {
	display: none;
	color: #3f3f3f;
	vertical-align: middle;
}

#logo_header .logotypeset svg {
	fill: currentColor;
}

#logo_header .logotypeset .logotypetext {
	display: inline-block;
	padding: 0 .7em;
	font-size: 9px;
	vertical-align: middle;
}

#logo_header .logotypeset .logotypetext h1 {
	display: none;
	padding-bottom: .3em;
	font-size: 1em;
}

#logo_header .logotypeset .logotypetext h2 {
	font-size: 2em;
}

@media only screen and (max-width: 1000px) {
}

@media only screen and (min-width: 401px) {

	#logo_header .logotypeset .logotypetext h1 {
		display: block;
	}

	#logo_header .logotypeset .logo {
		display: inline-block;
	}
}

@media only screen and (min-width: 769px) {

	#logo_header .logotypeset .logo.logo_type {
		display: inline-block;
		width: 340px;
		height: 20px;
	}
}

@media only screen and (min-width: 769px) and (max-width: 1000px) {
}

@media only screen and (min-width: 1001px) {

	body.fixed #upper {
		height: 60px;
	}

	#logo_header {
		text-align: left;
		position: absolute;
		left: 10px;
	}

	#logo_header .logotypeset .logo {
	}

	#logo_header .logotypeset .logotypetext {
		padding: 0 1em;
		font-size: 12px;
	}
}


#bottom {
	width: 100%;
	background: #3f3f3f;
	color: #fff;
	font-size: 0;
	clear: both;
	position: relative;
}

#bottom > .inner {
	width: 100%;
	margin: 0 auto;
	padding-left: constant(safe-area-inset-left);
	padding-right: constant(safe-area-inset-right);
	padding-top: 30px;
	padding-bottom: 10px;
	line-height: 1.4;
	overflow: hidden;
	position: relative;
}

#bottom .columns {
}



#copyright {
	padding: 20px;
	font-size: 10px;
	font-family: Avenir, 'Helvetica Neue', Helvetica, san-serif;
	clear: both;
}

#copyright > span {
	display: block;
}

#copyright > a {
}

@media only screen and (min-width: 769px) {

	#bottom > .inner {
	}
}



#footer_navi {
}

#footer_navi li {
	display: inline-block;
	font-size: 10px;
	line-height: 1;
}

#footer_navi li a {
	display: inline-block;
	margin-left: 1em;
	padding-left: 1em;
	color: #ccc;
}

#footer_navi li:not(:first-child) a {
	border-left: 1px solid #ccc;
}

#footer_navi .sharebutton {
	padding-bottom: 20px;
}

#address {
	padding: 20px;
	padding-top: 10px;
}

#address p {
	font-size: 12px;
	line-height: 1.4em;
}

#address .address {
	margin-bottom: 7px;
}

#address .call {
	margin-bottom: 5px;
	font-size: 16px;
}

#address .call > span {
}

#address .call a {
	color: #fff;
	text-decoration: none;
}

#address .shopinfo {
}

#address .time {
	margin-bottom: 10px;
}

#address .bizarea {
	font-size: 10px;
	line-height: 1.4em;
}


#footer_shopname {
	padding-left: 20px;
}

#footer_shopname a {
	color: #fff;
	text-decoration: none;
}

#footer_slogan {
	margin-bottom: 5px;
	font-size: 10px;
}

#logo_footer .logotypeset {
	width: 120px;
	height: 39px;
}

#logo_footer p {
	margin-top: 5px;
	font-size: 14px;
}

@media only screen and (min-width: 769px) {

	#footer_navi .sharebutton {
	}
}



#navi_header_thin {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#navimenu {
	color: #3f3f3f;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
	position: absolute;
	top: 0;
	left: 0;
	left: constant(safe-area-inset-left);
	z-index: 2;
}

#navimenu.hover,
#navimenu.open {
	background: #3f3f3f;
	color: #fff;
}

#navi_header_thin ul,
#navi_header_thin li {
	list-style: none;
}

#navi_header_thin ul {
	display: inline-block;
	height: 100%;
	font-size: 0;
	text-align: right;
	position: absolute;
	top: 0;
	right: 0;
	right: constant(safe-area-inset-right);
}

#navi_header_thin .btn_header {
	display: inline-block;
	width: 50px;
	height: 100%;
	font-size: 0;
	line-height: 0;
	vertical-align: top;
}

#navi_header_thin .btn_header a {
	display: block;
	width: 100%;
	height: 100%;
	color: #3f3f3f;
	overflow: hidden;
}

#navi_header_thin .btn_header a.hover {
	background: #3f3f3f;
	color: #fff;
}

#navi_header_thin .btn_header div {
	width: 100%;
	height: 100%;
	text-align: center;
	vertical-align: middle;
	overflow: hidden;
}

#navimenu > div:before,
#navi_header_thin .btn_header a div:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	overflow: hidden;
}

#navi_header_thin .btn_header span {
	display: inline-block;
	font-style: normal;
	vertical-align: middle;
	position: relative;
}

#navi_header_thin .btn_header .label {
	display: none;
}

#navi_header_thin .btn_header span.icon {
	width: 30px;
	height: 30px;
}

#navi_header_thin .btn_header span.icon span {
	width: 100%;
	height: 100%;
}

#navimenu .icon_bar_top {
	transform: translateY(-10px);
}

#navimenu .icon_bar_end {
	transform: translateY(10px);
}

#navimenu.open .icon_bar_top,
#navimenu.open .icon_bar_end {
	transform: translateY(0);
}

#navi_header_thin svg {
	fill: currentColor;
}

#navimenu svg use {
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
}

@media only screen and (min-width: 769px) and (max-width: 1000px) {

	#navi_header_thin .btn_header {
		width: 60px;
	}
}

@media only screen and (min-width: 1001px) {

	#navi_header_thin {
		display: none;
	}
}


#navi_global {
	width: 100%;
	height: 0;
	background: #fff;
	overflow: hidden;
	position: fixed;
	left: 0;
	z-index: -1;
}

#navi_global > .inner {
	padding-bottom: 40px;
}

#navi_global.open {
	box-shadow: 0 1px 2px rgba(0,0,0,.2);
}

#navi_global.open > .inner {
	height: 100%;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

#navi_global ul {
	list-style: none;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

#navi_global li {
	list-style: none;
	text-align: left;
	vertical-align: top;
}

#navi_global li a {
	display: block;
	padding: 10px 20px;
	color: #3f3f3f;
	text-decoration: none;
	white-space: nowrap;
	vertical-align: middle;
	overflow: hidden;
	position: relative;
}

#navi_global li a.current,
#navi_global li a:hover {
}

#navi_global li i {
	display: inline-block;
	width: 34px;
	height: 34px;
	font-style: normal;
	vertical-align: middle;
	position: relative;
}

#navi_global li a.current i {
	width: 51px;
	height: 51px;
}

#navi_global li i svg {
	fill: currentColor;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
}

#navi_global li a:hover:not(.current) i svg,
#navi_global li a.hover:not(.current) i svg {
	-webkit-transform: scale(1.5);
	-o-transform: scale(1.5);
	-ms-transform: scale(1.5);
	-moz-transform: scale(1.2);
	transform: scale(1.5);
}

#navi_global li a.current i svg {
}

#navi_global li a span {
	display: block;
	font-size: 14px;
	line-height: 1.6;
	vertical-align: middle;
	white-space: normal;
	position: relative;
}

#navi_global li a span.anctitle {
	display: inline-block;
	padding-left: 20px;
	overflow: hidden;
}

#navi_global li a span.elabel {
	font-size: 10px;
	text-align: left;
}

#navi_global li a span.label {
	text-align: left;
}

#navi_global .menuclose {
	width: 100%;
	height: 40px;
	padding: 10px;
	background: #ccc;
	color: #000;
	font-size: 0;
	line-height: 0;
	position: absolute;
	left: 0;
	bottom: 0;
}

#navi_global .menuclose:before {
	display: inline-block;
	height: 100%;
	font-size: 0;
	vertical-align: middle;
}

#navi_global .menuclose:hover,
#navi_global .menuclose.hover {
	background: #a5a5a5;
}

#navi_global .menuclose span {
	display: inline-block;
	font-style: normal;
	vertical-align: middle;
	position: relative;
}

#navi_global .menuclose span.icon {
	width: 24px;
	height: 24px;
}

#navi_global .menuclose span.icon span {
	width: 100%;
	height: 100%;
	transform: rotate(180deg);
}

#navi_global .menuclose svg {
	fill: currentColor;
}

#navi_global .header_call {
	display: inline-block;
	padding-bottom: 20px;
	text-align: center;
	vertical-align: middle;
}

#navi_global .header_call a {
	display: inline-block;
	padding: 10px;
	color: #3f3f3f;
	text-decoration: none;
	vertical-align: top;
}

#navi_global .header_call a:hover,
#navi_global .header_call a.hover {
	-webkit-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
	-moz-transform: scale(1.1);
}

#navi_global .header_call span {
	display: inline-block;
}

#navi_global .header_call i {
	display: inline-block;
	width: 34px;
	height: 34px;
	font-style: normal;
	vertical-align: middle;
	position: relative;
}

#navi_global .header_call span.icon {
	width: 34px;
	height: 34px;
}

#navi_global .header_call span.icon span {
	width: 100%;
	height: 100%;
}

#navi_global .header_call span.label {
	font-family: HelveticaNeue-Light, HelveticaNeue, Helvetica, Verdana, sans-serif;
	font-size: 26px;
	line-height: 1;
	vertical-align: middle;
}

#navi_global .header_call p {
	padding-left: 1em;
	font-size: 10px;
	line-height: 1;
}

#navi_global .header_call svg {
	fill: currentColor;
}

@media only screen and (min-width: 1001px) {

	#navi_global {
		width: auto;
		height: 100%;
		background: transparent;
		position: absolute;
		left: auto;
		right: 0;
		z-index: 1;
	}

	#navi_global > .inner {
		width: 100%;
		height: 100%;
		margin: 0 auto;
		padding: 0;
		font-size: 0;
		overflow: hidden;
	}

	#navi_global ul {
		display: inline-block;
		width: auto;
		height: 100%;
		margin: 0 auto;
		font-size: 0;
		vertical-align: middle;
	}

	#navi_global li {
		display: inline-block;
		height: 100%;
		border: none;
		text-align: center;
		vertical-align: top;
	}

	#navi_global li a {
		display: inline-block;
		height: 100%;
		padding: 0 15px;
		color: #3f3f3f;
	}

	#navi_global li a:before {
		content: '';
		display: inline-block;
		height: 100%;
		vertical-align: middle;
		overflow: hidden;
	}

	#navi_global li a > div {
		display: inline-block;
		vertical-align: middle;
		position: relative;
	}

	#navi_global li i {
		margin-bottom: 2px;
	}

	#navi_global li a.current i {
		margin-top: -17px;
	}

	#navi_global li i svg {
		-webkit-transform-origin: center bottom;
		-moz-transition-origin: center bottom;
		-o-transition-origin: center bottom;
		-ms-transform-origin: center bottom;
		transform-origin: center bottom;
	}

	#navi_global li a span {
		font-size: 12px;
		line-height: 1.2;
	}

	#navi_global li a span.anctitle {
		display: block;
		padding-left: 0;
	}

	#navi_global li a span.elabel {
		font-size: 8px;
		text-align: center;
	}

	#navi_global li a span.label {
		text-align: center;
	}

	#navi_global .menuclose {
		display: none;
	}

	#navi_global .header_call {
		padding: 0;
		padding-right: 20px;
		color: #3f3f3f;
		text-align: right;
	}

	#navi_global .header_call a {
		color: #3f3f3f;
	}

	body.fixed #navi_global li {
		text-align: left;
	}

	body.fixed #navi_global li a {
		padding: 0;
	}

	body.fixed #navi_global li a > div {
		padding-right: 10px;
	}

	body.fixed #navi_global li a span.anctitle {
		display: inline-block;
		max-width: 0;
		overflow: hidden;
		transition: max-width 1s;
	}

	body.fixed #navi_global li a:hover span.anctitle {
		max-width: 50em;
		transition: max-width 2s;
	}

	body.fixed #navi_global li a span.anctitle > span {
		display: block;
		text-align: left;
		white-space: nowrap;
	}

	body.fixed #navi_global li i {
		width: 50px;
		margin-bottom: 0;
	}

	body.fixed #navi_global li i svg {
		-webkit-transform-origin: center center;
		-moz-transform-origin: center center;
		-o-transform-origin: center center;
		-ms-transform-origin: center center;
		transform-origin: center center;
	}

	body.fixed #navi_global li a.current i svg {
		margin-top: 8px;
	}
}



#navi_contents {
	width: 100%;
}

#navi_contents.down {
	border-bottom: 1px solid #e5e5e5;
	box-shadow: 0 2px 3px rgba(0,0,0,.1);
}

.fixed #container > .inner > #navi_contents {
	position: fixed;
}

#navi_contents ul,
#navi_contents li {
	list-style: none;
}

#navi_contents a {
	font-size: 14px !important;
	line-height: 1.2em;
	text-decoration: none;
}

#navi_contents li i {
	display: inline-block;
	font-style: normal;
	vertical-align: top;
	position: relative;
}

#navi_contents li i:before {
	display: inline-block;
	content: '\f16c';
	margin-right: .5em;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	vertical-align: top;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#navi_contents li a span {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	white-space: normal;
	position: relative;
}

#navi_contents li a.current {
	color: #fff;
	background: #d1d1d1;
}

#navi_contents li a.current:after {
	border-left: 5px solid #fff;
}

#navi_contents li a:hover,
#navi_contents li a.hover {
	background: #e6e6e6;
}

#navi_contents li a.current:hover,
#navi_contents li a.current.hover {
	color: #666;
}

#container > .inner > #navi_contents {
	height: 0;
	background: rgba(255,255,255,.9);
	text-align: center;
	overflow: hidden;
	position: absolute;
	left: 0;
	z-index: -1;
}

#container > .inner > #navi_contents > ul > li:first-child > a {
	display: none;
}

#container > .inner > #navi_contents ul,
#container > .inner > #navi_contents li {
	display: inline;
	font-size: 0;
	text-align: center;
}

#container > .inner > #navi_contents > ul {
	display: block;
	margin: 0 auto;
	padding: 20px;
}

#container > .inner > #navi_contents a {
	display: inline-block;
	width: 30%;
	margin: 2px;
	padding: 15px;
	border: 1px solid #e5e5e5;
	white-space: nowrap;
	overflow: hidden;
}

#container > .inner > #navi_contents li a:after {
	display: inline-block;
	content: '';
	height: 100%;
	vertical-align: top;
	overflow: hidden;
}

#side #navi_contents {
	padding: 20px;
}

#side #navi_contents li a {
	display: block;
	width: auto;
	margin: 0 0 1px 0;
	padding: 10px;
	position: relative;
}

#side #navi_contents li i:before {
	content: '\f168';
	font-size: 1.6em;
}

#side #navi_contents li li i:before {
	content: '\f16c';
	font-size: .9em;
}

#side #navi_contents li ul {
	margin: 0 0 0 20px;
}

@media only screen and (min-width: 0px) and (max-width: 768px) {

	#container > .inner > #navi_contents {
		position: fixed;
	}

	#container > .inner > #navi_contents > ul {
		padding: 5px;
	}

	#container > .inner > #navi_contents > ul > li:first-child > a {
		display: inline-block;
	}
}

@media only screen and (min-width: 541px) and (max-width: 768px) {

	#container > .inner > #navi_contents li a {
		width: 47%;
		margin: 1px;
		padding: 10px 5px;
	}
}

@media only screen and (min-width: 0px) and (max-width: 540px) {

	#container > .inner > #navi_contents li a {
		width: 100%;
		margin: 0;
		margin-bottom: 1px;
		padding: 10px 5px;
	}
}


#container {
	width: 100%;
	background: #fff;
}

#container > .inner {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
}

#columns {
	width: 100%;
	margin: 0 auto;
	display: table;
}

#columns #main, #columns #side {
	display: table-cell;
	vertical-align: top;
}

#main {
	width: auto;
}

#columns #side {
	background: #f2f2f2;
}

#main .cell,
#side .cell {
	width: 100%;
	position: relative;
}

#container > .inner > #side {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	border-top: 1px solid #e5e5e5;
}


@media only screen and (min-width: 0px) and (max-width: 768px) {

	#columns,
	#columns #main, #columns #side {
		display: block;
	}

	#columns #main,
	#columns #side {
		width: 100%;
		max-width: 100%;
		min-width: 100%;
	}

	#columns #side {
		border-top: 1px solid #e5e5e5;
	}
}



#contentheader {
	width: 100%;
	position: relative;
	z-index: 90;
}

#contentheader.fixed {
	background: rgba(255,255,255,.9);
	box-shadow: 0 1px 2px rgba(0,0,0,.2);
	position: fixed;
	left: 0;
}

#contentheader > .inner {
	width: 100%;
	height: 30px;
	margin: 0 auto;
	padding-left: constant(safe-area-inset-left);
	overflow: hidden;
	position: relative;
}

#contentheader h1 {
	width: 100%;
	height: 100%;
	padding: 0 10px;
	font-size: 12px;
	font-weight: normal;
	line-height: 1.4em;
}

#contentheader h1:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

#contentheader h1 span {
	display: inline-block;
	vertical-align: middle;
}

@media only screen and (min-width: 769px) {

	#contentheader > .inner {
		height: 40px;
		padding: 0 10px;
		padding-left: calc(constant(safe-area-inset-left) + 10px);
	}

	#contentheader h1 {
		font-size: 14px;
	}

	#contentheader h1 span:before {
		padding-bottom: .2em;
		font-size: 28px;
	}
}



.articleblock {
	width: 100%;
	padding: 20px;
	padding-left: calc(constant(safe-area-inset-left) + 20px);
	padding-right: calc(constant(safe-area-inset-right) + 20px);
}

#main .articlebody {
	margin: 0 0 30px 0;
	padding: 0 0 30px 0;
}


.blockheader {
	width: 100%;
	margin-bottom: 30px;
	text-align: center;
	color: #000;
}

.blockheader h1 {
	vertical-align: top;
	position: relative;
}

.blockheader h1 i {
	display: inline-block;
	width: 50px;
	height: 50px;
	margin-bottom: 10px;
	font-style: normal;
	vertical-align: middle;
	position: relative;
}

.blockheader h1 i svg {
	fill: currentColor;
}

.blockheader .blocktitle {
	display: block;
	line-height: 1.4;
}

.blockheader .blocktitle {
	display: block;
	font-weight: normal;
}

.blockheader span.elabel {
	display: block;
	color: #808080;
	font-size: 10px;
}

.blockheader span.label {
	display: block;
	color: #000;
	font-size: 16px;
}

@media only screen and (min-width: 769px) {

	.blockheader {
		margin-bottom: 50px;
	}

	.blockheader h1 i {
		width: 60px;
		height: 60px;
		margin-bottom: 10px;
	}

	.blockheader span.elabel {
		font-size: 12px;
	}

	.blockheader span.label {
		font-size: 18px;
	}
}


.breadcrumb {
	display: none;
}

.breadcrumb ul {
	list-style: none;
	margin: 0 auto;
	padding: 10px 20px;
	padding-left: calc(constant(safe-area-inset-left) + 20px);
	font-size: 0;
}

.breadcrumb li {
	display: inline-block;
	margin-bottom: 5px;
	padding-right: 1em;
	color: #afa469;
	font-size: 10px;
	line-height: 1.2em;
}

.breadcrumb li a,
.breadcrumb li a span {
	color: #808080;
	position: relative;
}

.breadcrumb li:not(:last-child) a:after {
	content: '\f16c';
	display: inline-block;
	width: 1em;
	padding-left: 1em;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	text-indent: 0;
	position: relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

@media only screen and (min-width: 769px) {

	#container > .inner > .breadcrumb {
		display: block;
	}
}


.paging {
	padding: 20px 0;
}

.paging ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0;
	text-align: center;
}

.paging ul li {
	display: inline-block;
	margin: 0 2px;
	font-size: 16px;
	vertical-align: top;
}

.paging ul li a,
.paging ul li span {
	display: block;
	width: 32px;
	height: 32px;
	border: 1px solid #ccc;
	border-radius: 99px;
	line-height: 32px;
}

.paging ul li a {
	text-decoration: none;
}

.paging ul li span {
	color: #fff;
	font-weight: bold;
	background: #343434;
	cursor: default;
}

.paging ul li .link_before {
	margin-right: 10px;
}

.paging ul li .link_next {
	margin-left: 10px;
}

.paging ul li .link_first,
.paging ul li .link_before,
.paging ul li .link_next,
.paging ul li .link_last {
	background: #ececec;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	position: relative;
}

.paging ul li .link_first:after,
.paging ul li .link_before:after,
.paging ul li .link_next:after,
.paging ul li .link_last:after {
	width: 100%;
	height: 100%;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-indent: 0;
	line-height: 30px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}

.paging ul li .link_first:after {
	content: '\f13d';
}

.paging ul li .link_before:after {
	content: '\f142';
}

.paging ul li .link_next:after {
	content: '\f16c';
}

.paging ul li .link_last:after {
	content: '\f167';
}

.paging ul li a:not(.hidden):hover,
.paging ul li a:not(.hidden).hover {
	background: #808080;
	color: #fff;
}

.paging ul li .link_first:hover:after,
.paging ul li .link_before:hover:after,
.paging ul li .link_next:hover:after,
.paging ul li .link_last:hover:after,
.paging ul li .link_first.hover:after,
.paging ul li .link_before.hover:after,
.paging ul li .link_next.hover:after,
.paging ul li .link_last.hover:after {
	width: 100%;
	height: 100%;
}

.paging ul li a.hidden {
	opacity: 0.25;
	cursor: default;
}

@media only screen and (min-width: 0px) and (max-width: 540px) {

	.paging ul li.number {
		display: none;
	}

	.paging ul li {
		margin: 0 2px;
		font-size: 20px;
	}

	.paging ul li a,
	.paging ul li span {
		width: 46px;
		height: 46px;
		line-height: 46px;
	}

	.paging ul li .link_first:after,
	.paging ul li .link_before:after,
	.paging ul li .link_next:after,
	.paging ul li .link_last:after {
		line-height: 42px;
	}
}



.movearticle {
	margin: 0 auto;
	padding: 10px 0;
}

.movearticle ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0;
	position: relative;
}

.movearticle li {
	list-style: none;
	display: inline-block;
	width: 33.33%;
	font-size: 12px;
	vertical-align: middle;
}

.movearticle .one li:first-child {
	width: 66.66%;
	padding-left: 33.33%;
}

.movearticle .none li {
	width: 100%;
}

.movearticle li.next {
	text-align: right;
}

.movearticle li.return {
	text-align: center;
}

.movearticle li a {
	display: inline-block;
	height: 24px;
	padding: 0 15px;
	border-radius: 12px;
	color: #343434;
	line-height: 24px;
	text-decoration: none;
}

.movearticle li a:hover,
.movearticle li a.hover {
	color: #666;
}

.movearticle li a:before {
	margin-right: .5em;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	text-indent: 0;
	line-height: 18px;
}

.movearticle li.prev a:before {
	content: '\f13b';
}

.movearticle li.return a:before {
	content: '\f187';
}

.movearticle li.next a:after {
	content: '\f165';
	margin-left: .5em;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	text-indent: 0;
	line-height: 18px;
}

@media only screen and (min-width: 0px) and (max-width: 540px) {

	.movearticle {
		padding: 10px;
	}

	.movearticle li {
		font-size: 28px;
	}

	.movearticle li a {
		width: 40px;
		height: 40px;
		padding: 0;
		border-radius: 50%;
		line-height: 40px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		position: relative;
	}

	.movearticle li a:before {
		width: 40px;
		height: 40px;
		margin: 0;
		font-family: 'uiicon';
		font-weight: normal !important;
		line-height: 40px;
		position: absolute;
		top: 0;
		left: 0;
	}

	.movearticle li.next a:before {
		content: '\f165';
	}

	.movearticle li a:after {
		display: none;
	}
}


#jump {
	width: 74px;
	height: 74px;
	opacity: .7;
	font-size: 9px;
	overflow: hidden;
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 99;
}

#jump a {
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	text-decoration: none;
	-webkit-transform: translate(0,100%);
	-moz-transform: translate(0,100%);
	-o-transform: translate(0,100%);
	-ms-transform: translate(0,100%);
	transform: translate(0,100%);
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
	position: absolute;
	top: 0;
	right: 0;
}

#jump a.show {
	-webkit-transform: translate(0,0);
	-moz-transform: translate(0,0);
	-o-transform: translate(0,0);
	-ms-transform: translate(0,0);
	transform: translate(0,0);
}

#jump a span {
	display: inline-block;
	vertical-align: middle;
}

#jump a > span {
	width: 64px;
	height: 64px;
	background: rgba(0,0,0,.2);
	border-radius: 50%;
	font-size: 0;
	text-align: center;
	line-height: 1;
}

#jump a > span:before {
	display: inline-block;
	content: '';
	height: 100%;
	vertical-align: middle;
}

#jump a > span span {
	width: 42px;
	height: 42px;
	transform: rotate(-90deg);
}

#jump a:hover > span,
#jump a.hover > span {
	background: rgba(0,0,0,.5);
}

#jump svg {
	fill: currentColor;
}



.stepbtn {
	width: 100%;
	height: 64px;
	opacity: .7;
	text-align: center;
	overflow: hidden;
	position: absolute;
	bottom: 20px;
	right: 0;
	z-index: 99;
}

.stepbtn a {
	display: inline-block;
	width: 64px;
	height: 100%;
	color: #fff;
	text-decoration: none;
	-webkit-transform: translate(0,0);
	-moz-transform: translate(0,0);
	-o-transform: translate(0,0);
	-ms-transform: translate(0,0);
	transform: translate(0,0);
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
}

.stepbtn.hide a {
	color: #000;
	-webkit-transform: translate(0,100%);
	-moz-transform: translate(0,100%);
	-o-transform: translate(0,100%);
	-ms-transform: translate(0,100%);
	transform: translate(0,100%);
}

.stepbtn a > span {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	text-align: center;
}

.stepbtn a:hover > span,
.stepbtn a.hover > span {
	background: rgba(255,255,255,.5);
}

.stepbtn a > span:before {
	display: inline-block;
	content: '';
	height: 100%;
	vertical-align: middle;
}

.stepbtn a > span span {
	display: inline-block;
	width: 38px;
	height: 38px;
	text-align: center;
	vertical-align: middle;
}


.stepbtn svg {
	fill: currentColor;
}


.sharebutton {
	text-align: center;
	vertical-align: top;
}

.sharebutton ul {
	list-style: none;
	display: inline-block;
	font-size: 0;
}

.sharebutton li {
	list-style: none;
	display: inline-block;
	margin: 1px;
	text-align: center;
}

.sharebutton li .share {
	display: inline-block;
	width: 34px;
	height: 34px;
	color: #2b3c51;
	border: 1px solid transparent;
	border-radius: 99px;
	vertical-align: middle;
	overflow: hidden;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
	position: relative;
	cursor: pointer;
}

.sharebutton li .share:hover,
.sharebutton li .share.hover {
}

.sharebutton li .share:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

.sharebutton li .share svg {
	width: 22px;
	height: 22px;
	fill: #535353;
	vertical-align: middle;
	overflow: hidden;
}

.sharebutton li.share_twitter .share:hover .icon svg,
.sharebutton li.share_twitter .share.hover .icon svg {
	fill: #2aa3ef;
}

.sharebutton li.share_facebook .share:hover .icon svg,
.sharebutton li.share_facebook .share.hover .icon svg {
	fill: #3c5a96;
}

.sharebutton li.share_google .share:hover .icon svg,
.sharebutton li.share_google .share.hover .icon svg {
	fill: #bf3d36;
}

.sharebutton li.share_line .share:hover .icon svg,
.sharebutton li.share_line .share.hover .icon svg {
	fill: #3dba34;
}

.sharebutton li.share_pocket .share:hover .icon svg,
.sharebutton li.share_pocket .share.hover .icon svg {
	fill: #eb4259;
}

.sharebutton li.share_pinterest .share:hover .icon svg,
.sharebutton li.share_pinterest .share.hover .icon svg {
	fill: #bb0f23;
}

.sharebutton li.share_hatena .share:hover .icon svg,
.sharebutton li.share_hatena .share.hover .icon svg {
	fill: #547ce4;
}

.movieframe {
	max-width: 700px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 20px 0;
}

@media only screen and (max-width: 768px) {

	.movieframe {
		width: 100%;
	}
}


.app_button {
	font-size: 1.4em;
	line-height: 1em;
	text-align: center;
}

.app_button a {
	display: block;
	padding: 20px;
	background: #8ebde6;
	color: #fff;
	text-decoration: none;
}

.app_button a:hover,
.app_button a.hover {
	background: #accbe6;
	color: #fff;
}

.app_button a:before {
	display: inline-block;
	content: '\f153';
	margin-right: .5em;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
}

.app_button a:after {
	display: inline-block;
	content: '\f165';
	margin-left: .5em;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	transform: rotate(-45deg);
}



.loading_screen {
	width: 56px;
	height: 56px;
	margin-top: -26px;
	margin-left: -26px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 50%;
}


a.zoomimg {
	display: inline-block;
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 3px;
	position: relative;
}

a.zoomimg:after {
	content: '\f12d';
	display: inline-block;
	width: 46px;
	height: 46px;
	background: #000;
	opacity: .3;
	color: #fff;
	font-size: 28px;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	text-indent: 0;
	line-height: 46px;
	position: absolute;
	bottom: 5px;
	right: 2px;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
}

a.zoomimg:hover:after,
a.zoomimg.hover:after {
	opacity: .8;
}

a.zoomimg:hover img,
a.zoomimg.imgframe img {
	box-shadow: 0 2px 0 rgba(0,0,0,.2);
}



.btnarea {
	font-size: 12px;
	line-height: 1;
	text-align: center;
}

.btnarea a {
	display: inline-block;
	padding: 10px 40px;
	border: 1px solid #8ebde6;
	background: rgba(255,255,255,.5);
	color: #8ebde6;
	text-decoration: none;
	outline: none;
	overflow: hidden;
	position: relative;
	z-index: 2;
}

.btnarea a:after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: -100%;
	background-color: rgba(255,255,255,.5);
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
	z-index: -1;
}

.btnarea a:before {
	right: 0;
}

.btnarea a:after {
	left: 0;
}

.btnarea a:hover,
.btnarea a.hover {
	color: #fff;
}

.btnarea a:hover:after,
.btnarea a.hover:after {
	top: 0;
	background: #8ebde6;
}

@media only screen and (min-width: 769px) {

	.btnarea {
		font-size: 13px;
	}

	.btnarea a {
		padding: 12px 50px;
	}
}



#bnrblock_blog {
	width: 100%;
	background-image: url(../image/common/back_bnrblock_blog.html);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: cover;
}

@media only screen and (min-width: 541px) {

	#bnrblock_blog {
		background-position: center center;
	}
}

#bnrblock_blog > .inner {
	padding: 40px;
	padding-top: 30px;
	text-align: center;
	position: relative;
}

#bnrblock_blog .bnritem {
	display: inline-block;
	width: 100%;
	max-width: 200px;
}

#bnrblock_blog figure {
	padding-bottom: 30px;
}

#bnrblock_blog .bnritem img {
	width: 100%;
	height: auto;
}


#contactinfo {
	width: 100%;
	background-image: url(../image/common/back_contactinfo.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	position: relative;
}

#contactinfo:before {
	content: '';
	background-color: #fff;
	opacity: .8;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

#contactinfo > .inner {
	width: 100%;
	padding: 30px;
	vertical-align: top;
	position: relative;
}

#contactinfo header {
	margin-bottom: 3em;
}

#contactinfo header h1 {
	color: #000;
	font-size: 20px;
	font-weight: normal;
	text-align: center;
	line-height: 1.4;
}

#contactinfo header h1 span {
	display: inline-block;
}

#contactinfo .sentence p {
	margin-bottom: 2em;
	font-size: 1.4em;
	line-height: 1.8;
}

#contactinfo .btnarea {
	font-size: 18px;
}

#contactinfo .btnarea a {
	width: 100%;
	padding: 20px;
	border: 1px solid #8ebde6;
	background: rgba(255,255,255,.5);
	color: #8ebde6;
	overflow: hidden;
	z-index: 2;
}

#contactinfo .btnarea a:hover,
#contactinfo .btnarea a.hover {
	color: #fff;
}

#contactinfo .btnarea a:hover:after,
#contactinfo .btnarea a.hover:after {
	background: #8ebde6;
}

@media only screen and (min-width: 769px) {

	#contactinfo > .inner {
		padding: 50px;
		text-align: center;
	}

	#contactinfo header {
		margin-bottom:4em;
	}

	#contactinfo header h1 {
		font-size: 32px;
	}

	#contactinfo .sentence p {
		margin-bottom: 1em;
	}

	#contactinfo .btnarea {
		padding-top: 30px;
		font-size: 32px;
	}

	#contactinfo .btnarea a {
		max-width: 580px;
		padding: 30px;
	}
}


#foncall {
	margin-top: 20px;
	text-align: center;
}

#foncall .call {
	display: inline-block;
	color: #000;
	text-align: center;
	vertical-align: middle;
}

#foncall .call a {
	display: inline-block;
	padding: 10px;
	color: #000;
	text-decoration: none;
	vertical-align: top;
}

#foncall .call a:hover,
#foncall .call a.hover {
	-webkit-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
	-moz-transform: scale(1.1);
}

#foncall .call span {
	display: inline-block;
}

#foncall .call i {
	display: inline-block;
	width: 34px;
	height: 34px;
	font-style: normal;
	vertical-align: middle;
	position: relative;
}

#foncall .call span.icon {
	width: 34px;
	height: 34px;
}

#foncall .call span.icon span {
	width: 100%;
	height: 100%;
}

#foncall .call span.label {
	font-family: HelveticaNeue-Light, HelveticaNeue, Helvetica, Verdana, sans-serif;
	font-size: 28px;
	line-height: 1;
	vertical-align: middle;
}

#foncall .call p {
	padding-top: .3em;
	padding-left: 1em;
	font-size: 12px;
	line-height: 1;
}

#foncall .call .head {
	font-size: 14px;
}

#foncall .call svg {
	fill: currentColor;
}

@media only screen and (min-width: 769px) {

	#foncall {
		margin-top: 40px;
		text-align: center;
	}

	#foncall .call i {
		width: 44px;
		height: 44px;
	}

	#foncall .call span.icon {
		width: 44px;
		height: 44px;
	}

	#foncall .call span.label {
		font-size: 38px;
	}

	#foncall .call p {
		font-size: 14px;
	}

	#foncall .call .head {
		font-size: 18px;
	}
}

