@charset "utf-8";
/* riset */
html {
    overflow-y:scroll;
}
body, div, span, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6, form, input, textarea,
p, table, tbody, th, td, figure {
    margin: 0;
    padding: 0;
}
table, tbody, th, td {
    border-spacing: 0;
    border-collapse: collapse;
}
h1, h2, h3, h4 {
    font-size: 100%;
}
img, abbr, acronym, fieldset {
    border: 0;
}
img {
	display: block;
}
em, var {
    font-style: normal;
}
li {
    list-style-type: none;
}

/*common*/
body {
	font-family: '游ゴシック', 'Yu Gothic', 'メイリオ', 'Meiryo','ＭＳ Ｐゴシック', sans-serif;
	color: #333333;
	font-size: 16px;
	line-height: 1.6;
}
a {
	transition: 0.3s;
}
a:link,
a:visited {
    color: #0F3381;
	text-decoration: underline;
}
a:hover,
a:active {
    color: #219BD8;
	text-decoration: underline;
}
.inner {
	width: 1010px;
	margin: 0 auto;
}
.banner img {
	margin: 0 auto;
}
#contents .banner,
#extracontent .banner {
	margin-bottom: 40px;
	text-align: center;
}

a.btn {
	display: block;
	margin: 0 auto 20px;
	padding: 10px;
	max-width: 300px;
	width: 100%;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	border-radius: 26px;
	box-sizing: border-box;
}
a.btn.orange {
	color: #FFF;
	background: #ED6103;
}
a.btn.blue {
	color: #FFF;
	background: #0259F6;
	box-shadow: 0px 2px #01328D;
	text-shadow: -1px -1px 0 #01328D;
}
a.btn:hover {
	position: relative;
	top: 1px;
	box-shadow: none;
}

/*header*/
header .inner {
	padding: 10px 0;
	display: flex;
	justify-content: space-between;
}
header .logo {
	width: 520px;
}
header .logo .headertitle {
	margin-bottom: 5px;
	font-size: 12px;
	font-weight: normal;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
header .logo a.logoimg {
	display: block;
	width: 180px;
}
header .logo a.logoimg img {
	width: 100%;
	height: auto;
}
header .banner {
	margin-top: 10px;
	width: 468px;
}
header nav {
	background: #ED6103;
}
header nav .navbar_toggle {
	display: none;
}
header nav #gnavi {
	width: 1010px;
	margin: 0 auto;
	text-align: center;
	padding-top: 5px;
}
header nav #gnavi li {
	display: inline;
}
header nav #gnavi li:last-child {
	margin-right: 0;
}
header nav #gnavi li a {
	display: inline-block;
	padding: 10px 15px 15px;
	color: #FFF;
	font-weight: bold;
	text-decoration: none;
}
header nav #gnavi li a:hover {
	color: #FFC926;
}
header nav #gnavi li.current a {
	color: #ED6103;
	background: #f1f2f3; /* Old browsers */
	background: -moz-linear-gradient(top, #f1f2f3 0%, #ffffff 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #f1f2f3 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #f1f2f3 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1f2f3', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
	border-radius: 5px 5px 0 0;
}
#cate header nav #gnavi li.current a {
	background: #f1f2f3;
}
header nav #gnavi li a span {
	position: relative;
	top: -1px;
	margin-right: 6px;
	padding: 2px 10px;
	font-size: 12px;
	color: #ED6103;
	background: #FFF;
	border-radius: 10px;
	transition: 0.3s;
}
header nav #gnavi li a:hover span {
	color: #ED6103;
	background: #FFC926;
}
header nav #gnavi li.current a span{
	color: #FFF;
	background: #ED6103;
}

/*contents*/
#contents {
	padding: 10px 0 40px;
}

#contents .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 10px;
}

/*breadcrumbs*/
#breadcrumbs {
	width: 100%;
	margin-bottom: 20px;
	font-size: 12px;
}
#breadcrumbs li {
	display: inline;
}
#breadcrumbs li span.vector {
	margin: 0 2px;
}

/*main*/
main {
	width: 690px;
}
main .section {
	margin-bottom: 40px;
}
main .section h2 {
	margin-bottom: 20px;
	padding-bottom: 10px;
	font-size: 26px;
	color: #ED6103;
	border-bottom: 1px solid #ED6103;
}
main .section ul.articlelist li {
	margin-bottom: 20px;
}
main .section ul.articlelist li a {
	display: flex;
	justify-content: space-between;
	text-decoration: none;
}
main .section ul.articlelist li a figure {
	width: 200px;
	height: 150px;
	overflow: hidden;
}
main .section ul.articlelist li a img {
	width: 200px;
	height: auto;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
main .section ul.articlelist li a:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
main .section ul.articlelist li .articlebox {
	width: 475px;
}
main .section ul.articlelist li .articlebox span.icon {
	padding: 2px 10px;
	font-size: 12px;
	color: #FFF;
	background: #ED6103;
	border-radius: 5px;
	transition: 0.3s;
}
main .section ul.articlelist li a:hover .articlebox span.icon {
	background: #229CD9;
} 
main .section ul.articlelist li .articlebox h3 {
	font-size: 22px;
	font-weight: bold;
}
main .section ul.articlelist li .articlebox p.description {
	font-size: 13px;
	color: #666;
}

/*aside*/
aside {
	width: 300px;
}
aside .section {
	margin-bottom: 40px;
}
aside .section h2 {
	margin-bottom: 20px;
	padding-bottom: 10px;
	font-size: 22px;
	color: #ED6103;
	border-bottom: 1px solid #ED6103;
}
aside .section ul.articlelist li {
	margin-bottom: 20px;
}
aside .section ul.articlelist li a {
	display: flex;
	justify-content: space-between;
	text-decoration: none;
}
aside .section ul.articlelist li a figure {
	width: 100px;
	height: 75px;
	overflow: hidden;
}
aside .section ul.articlelist li a img {
	width: 100px;
	height: auto;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
aside .section ul.articlelist li a:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
aside .section ul.articlelist li .articlebox {
	width: 190px;
}
aside .section ul.articlelist li .articlebox span.icon {
	padding: 2px 10px;
	font-size: 12px;
	color: #FFF;
	background: #ED6103;
	border-radius: 5px;
	transition: 0.3s;
}
aside .section ul.articlelist li a:hover .articlebox span.icon {
	background: #229CD9;
} 
aside .section ul.articlelist li .articlebox h3 {
	font-weight: bold;
}
aside .section#pointlist li {
	display: inline;
	margin-right: 10px;
}

/*extra*/
section#extracontent {
	width: 1010px;
	margin: 0 auto 40px;
}
section#extracontent .addtext h3 {
	margin: 30px 0 20px;
	padding-bottom: 10px;
	font-size: 20px;
	border-bottom: 1px solid #333;
}
section#extracontent .addtext h3:first-child {
	margin-top: 0;
}
section#extracontent .addtext p {
	margin-bottom: 20px;
	font-size: 16px;
}
section#extracontent .addtext p b {
	font-size: 18px;
}

/*footer*/
footer #footernavi {
	background: #F8F8F8;
}
footer #footernavi .inner {
	display: flex;
	justify-content: space-between;
	padding: 50px 0;
}
footer #footernavi .inner .logo {
	width: 180px;
}
footer #footernavi .inner .logo img {
	width: 100%;
}
footer #footernavi .inner nav {
	padding-top: 15px;
}
footer #footernavi .inner nav li {
	display: inline;
	margin-right: 15px;
}
footer #footernavi .inner nav li a {
	text-decoration: none;
	color: #333;
}
footer #copyright {
	padding: 10px 0;
	font-size: 12px;
	background: #F1F1F1;
}

/*top*/
#top main #pickup ul {
	width: 690px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#top main #pickup ul li {
	margin-bottom: 10px;
	width: 165px;
	padding: 6px;
	box-sizing: border-box;
	border: 1px solid #CCC;
	transition: 0.3s;
}
#top main #pickup ul li:hover {
	border-color: #FF8000;
}
#top main #pickup ul li a {
	display: block;
	text-decoration: none;
}
#top main #pickup ul li span {
	padding: 2px 10px;
	font-size: 12px;
	color: #FFF;
	background: #FF8000;
	border-radius: 5px;
}
#top main #pickup ul li img {
	max-width: 100%;
	height: auto;
	margin: 6px auto 0;
}

/*cate*/
#cate #contents,
#cate #contents .inner {
	padding-top: 0;
}
#cate .catetitle {
	margin-bottom: 10px;
	background: #F1F2F3;
}
#cate .catetitle h1 {
	width: 1010px;
	margin: 0 auto;
	padding: 50px 0;
	font-size: 34px;
	color: #ED6103;
	text-align: center;
}
#cate .section.lead p {
	line-height: 1.8;
}
/*article*/
#article article {
	margin-bottom: 40px;
}
#article article h1 {
	margin-bottom: 10px;
	color: #ED6103;
	font-size: 34px;
}
#article article h2 {
	margin: 50px 0 30px;
	padding: 15px 15px 15px 19px;
	color: #ED6103;
	font-size: 28px;
	background: #FFF1E8;
	border-left: 4px solid #ED6103;
}
#article article h3 {
	margin: 40px 0 20px;
	padding-bottom: 15px;
	font-size: 26px;
	border-bottom: 1px dotted #333;
}
#article article h4 {
	margin: 30px 0 20px;
	font-size: 22px;
	color: #ED6103;
}
#article article p {
	margin-bottom: 20px;
	line-height: 1.8;
}
#article article p span.mark {
	font-weight: bold;
	background: #ffff66;
}
#article article ul.article_navi {
	margin-bottom: 20px;
	padding: 15px 15px 5px;
	border: 1px solid #DDD;
	border-radius: 5px;
}
#article article ul.article_navi li {
  position: relative;
	margin-bottom: 10px;
	padding-left: 25px;
}
#article article ul.article_navi li::after,
#article article ul.article_navi li::before {
  display: block;
  content: '';
  position: absolute;
}
#article article ul.article_navi li::after {
  top: .35em;
  left: 0;
  width: 14px;
  height: 14px;
  background-color: #ED6103;
  border-radius: 100%;
}
#article article ul.article_navi li::before {
  z-index: 2;
  top: 0.45em;
  left: 0.28em;
  width: 4px;
  height: 4px;
	border: 1px solid;
border-color:  transparent transparent #FFF #FFF;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#article article ul.date {
	margin-bottom: 20px;
	font-size: 13px;
}
#article article ul.date li {
	display: inline;
	margin-right: 15px;
}
#article article ul.facility li {
	display: inline-block;
	margin-right: 3px;
	margin-bottom: 5px;
	font-size: 14px;
}
#article article ul.facility li span {
	padding: 2px 10px;
	color: #ED6103;
	border: 1px solid #ED6103;
	border-radius: 3px;
}
#article article ul.facility li del {
	padding: 2px 10px;
	color: #CCC;
	border: 1px dotted #CCC;
	border-radius: 3px;
	text-decoration: none;
}
#article article ul.list,
#article article ol.list {
	margin-bottom: 20px;
}
#article article ul.list li,
#article article ol.list li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 15px;
	line-height: 1.8;
}
#article article ul.list li:after {
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: 0;
	width: 8px;
	height: 3px;
	border-left: 2px solid #3498db;
	border-bottom: 2px solid #3498db;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#article article .googlemap {
	width: 100%;
	height: 450px;
}
#article article .image.full {
	margin-bottom: 20px;
}
#article article .image.full img {
	max-width: 100%;
	margin: 0 auto;
}
#article article .image small {
	display: block;
	margin-top: 5px;
	font-size: 11px;
	color: #666;
}
#article article .attention {
	margin-bottom: 20px;
	padding: 20px;
	background: #FFFFD0;
	border-radius: 5px;
}
#article article .attention h4 {
	margin: 0 0 20px;
	color: #FF2626;
	text-align: center;
}
#article article .attention p {
	margin-bottom: 10px;
}
#article article .attention ul li {
	margin-bottom: 5px;
}
#article article .attention ul li:after {
	border-left: 2px solid #FF2626;
	border-bottom: 2px solid #FF2626;
}

#article article dl.route {
	margin: 40px 0 20px;
}
#article article dl.route dt {
	padding: 15px 20px;
	background: #ED6103;
	color: #FFF;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	border-radius: 5px 5px 0 0;
}
#article article dl.route dt h2 {
	margin: 0;
	padding: 0;
	color: #FFF;
	font-size: 22px;
	background: none;
	border-left: none;
}
#article article dl.route dd {
	padding: 20px;
	border: 1px solid #ED6103;
	border-radius: 0 0 5px 5px;
}
#article article dl.route dd ol {
	margin-bottom: 20px;
}
#article article dl.route dd ol li {
	display: flex;
	flex-wrap: wrap;
}
#article article dl.route dd ol li p {
	margin-bottom: 0;
}
#article article dl.route dd ol li .image {
	margin-right: 20px;
}
#article article dl.route dd ol li .image img {
	width: 150px;
	height: auto;
}
#article article dl.route dd ol li p.name {
	min-width: 305px;
	margin-right: 20px;
	line-height: 1.2;
}
#article article dl.route dd ol li p.name span {
	font-size: 22px;
	font-weight: bold;
	color: #ED6103;
}
#article article dl.route dd ol li .link {
	width: 150px;
}
#article article dl.route dd ol li .link a {
	margin-bottom: 0;
}
#article article dl.route dd ol li p.rate {
	position: relative;
	width: 100%;
	margin: 15px 0;
	padding: 0 0 0 100px;
	font-size: 14px;
	box-sizing: border-box;
	background: url("/img/article/icon_flow_01.png") 60px 0 no-repeat;
	background-size: 38px 20px;
}
#article article dl.route dd ol li:nth-last-child(2) p.rate {
	background: url("/img/article/icon_flow_02.png") 60px 0 no-repeat;
	background-size: 38px 20px;
}
#article article dl.route dd .summary {
	padding: 15px;
	background: #E1F2FB;
	border-radius: 5px;
}
#article article dl.route dd .summary p {
	margin-bottom: 0;
}
#article article dl.route dd .summary p.ratedate {
	font-size: 22px;
	color: #ED6103;
	font-weight: bold;
	text-align: center;
}
#article article dl.box {
	position: relative;
	margin-bottom: 20px;
	padding-top: 20px;
}

#article article dl.box dt {
	position: absolute;
	top: 13px;
	left: 15px;
	font-weight: bold;
	line-height: 1;
	background: #FFF;
	padding: 0 10px;
	font-size: 18px;
}
#article article dl.box dd {
	padding: 30px 20px 10px;
	font-size: 16px;
	border: 1px solid #CCC;
}
#article article table.common {
	width: 100%;
	margin-bottom: 20px;
	box-sizing: border-box;
	border-left: 1px solid #DDD;
	border-top: 1px solid #DDD;
}
#article article table.common th,
#article article table.common td {
	padding: 10px;
	font-size: 16px;
	border-right: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	text-align: center;
}
#article article table.common .left {
	text-align: left;
}
#article article table.common ul.list {
	margin-bottom: 0;
	text-align: left;
} 
#article article table.common th {
	background: #F8F8F8;
}

#article article .writer {
	position: relative;
	margin-bottom: 20px;
	padding-left: 70px;
	min-height: 60px;
}
#article article .writer img {
	position: absolute;
	top: 0;
	left: 0;
	width: 60px;
	height: auto;
}
#article article .writer a {
	text-decoration: none;
}
#article article .writer p {
	margin-bottom: 0;
}
#article article .writer p.position {
	padding-top: 6px;
	font-size: 13px;
}
#article article .writer p.name {
	font-weight: bold;
}
#article article .writerdetail,
#cate .writerdetail{
	margin-bottom: 30px;
	padding: 20px;
	background: #F8F8F8;
	border-radius: 5px;
}
#article article .writerdetail p,
#cate .writerdetail p{
	margin-bottom: 0;
}
#article article .writerdetail p.tit,
#cate .writerdetail p.tit {
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
}
#article article .writerdetail .person,
#cate .writerdetail .person {
	position: relative;
	padding-left: 120px;
}
#article article .writerdetail .person a {
	text-decoration: none;
}
#article article .writerdetail .person img,
#cate .writerdetail .person img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	height: auto;
}
#article article .writerdetail .person p.position,
#cate .writerdetail .person p.position {
	font-size: 13px;
}
#article article .writerdetail .person p.name,
#cate .writerdetail .person p.name {
	font-weight: bold;
}
#article article ul.social {
	margin: 40px 0 30px;
	display: flex;
}
#article article ul.social li {
	width : calc(100% / 3);
}
#article article ul.social li a {
	display: block;
	padding: 10px 0;
	color: #FFF;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
}
#article article ul.social li:first-child a {
	border-radius: 5px 0 0 5px;
}
#article article ul.social li:last-child a {
	border-radius: 0 5px 5px 0;
}
#article article ul.social li a:hover {
	position: relative;
	top: 1px;
}
#article article ul.social li.facebook a {
	background: #39599F;
}
#article article ul.social li.twitter a {
	background: #55ACEE;
}
#article article ul.social li.hatena a {
	background: #00A5DE;
}

/*err*/
#article.err #contents .inner {
	justify-content: center;
}

/*pager*/
main .pager {
	padding: 10px 0 0;
	margin-bottom: 30px;
}

main .pager p.servcount {
	float: left;
	width: 210px;
	margin-bottom: 10px;
	padding-right: 15px;
}

main .pager p.servcount span.total {
	font-weight: bold;
}

main .pager p.servcount span.total span.number {
	margin-right: 3px;
	font-size: 20px;
}

main .pager ul {
	float: right;
}

main .pager li {
	float: left;
	margin-right: 5px;
	margin-bottom: 5px;
}

main .pager li.none {
	display: none;
}

main .pager li a,
main .pager li.current span {
    display: inline-block;
    min-width: 1em;
    padding: 0.6em;
	font-size: 16px;
    text-align: center;
    vertical-align: middle;
	line-height: 1;
	border: 1px solid #CCC;
	border-radius: 3px;  
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}

main .pager li a:hover {
	background: #F8F8F8;
	border: 1px solid #ED6103;
}

main .pager li.current span {
	color: #FFF;
	font-weight: bold;
	background: #ED6103;
	border: 1px solid #ED6103;
}

/*clearfix*/
.pager,
main .pager ul{
	zoom: 1;
}

.pager:after,
main .pager ul:after {
    content: ".";
    height: 0;
    display: block;
    visibility: hidden;
    clear: both;
}