﻿@charset "utf-8";
/*
Theme Name: cantal amanohashidate
Description: Copyright(C) 京都北都BM All right reserved.
Version: 1.0
Author: 京都北都BM
Author URI: 
*/

/*※一括数値設定の順序は、左から「上」「右」「下」「左」*/

html {
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	margin: 0 auto;
	padding: 0;
	height: 100%;
}
body {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	vertical-align: top;
	word-break: normal;
	word-wrap: break-word;
	font-size: 12pt;
	font-family: "メイリオ", Meiryo,"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Helvetica Neue",sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-print-color-adjust: exact;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	color: #333;
	background-color: #FFF;
}
@media screen and (max-width: 767px) {
body {
	margin: 0 auto;
	padding: 0;
	position: absolute;  /* またはfixed */
	overflow: auto;
	max-width: 767px;
}
}

body section {
	width: 100%;
	height: auto;
	-webkit-print-color-adjust: exact;
	border-collapse: collapse;
	box-sizing: border-box;
	display: block;
	vertical-align: top;
	margin: 0 auto;
}
*:not(ul),div.caution>ul,header ul,div.footer ul,*:before, *:after {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 767px) {
/* スマホでのみ表示される */
.pconly {
	margin: 0;
	padding: 0;
	display: none !important;
}
.sponly:not(h1):not(h2) {
	margin: 0;
	padding: 0;
}
}
/* パソコンでのみ表示される */
@media screen and (min-width: 1020px) {
.pconly {
	margin: 0;
	padding: 0;
}
.sponly {
	margin: 0;
	padding: 0;
	display: none !important;
}
}

hr {
	margin: 2em auto;
	padding: 0;
	content: "";
	width: 100%;
	height: 1px;
	background-color: #CCC;
	display: block;
	border: none;
}
page {
	vertical-align: top;
	text-align: center;
}

a,a:visited {color: #005085;}
a:hover,a:focus,a:active {
	color: #66CCE6;
	-webkit-transition: all 0.2s ease-in-out 0s;
	transition: all 0.2s ease-in-out 0s;
}
p:empty{display: none}
img {
	width: 100%;
	height: auto;
	border: none;
	white-space: pre;
}
a img {
	color: inherit;
	text-decoration: none;
}
a img:hover,a img:focus {
	opacity: 0.5;
	-webkit-opacity: 0.5;
	-moz-opacity: 0.5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)";/* IE 8 */
}
figure {
	text-align: center;
	vertical-align: top;
	margin: 0;
	padding: 0;
	overflow: visible;
	position: relative;
	display: block;
	  width: 100%;
	  height: auto;

}
figure img {
	vertical-align: top;
	position: relative;
	margin: 0 auto;
	padding: 0;
	display: block;
	  width: 100%;
	  height: auto;

}
section#slideshow figure,
table tr td figure {
	  width: 100%;
	  height: auto;
}
table tr td figure img {background-color: #FFF;}
table tr td figure figcaption {font-weight: bold;}
figure figcaption {
	text-align: center;
	margin: 0.5em auto;
	padding: 0 0;
	line-height: 1;
	width: 100%;
	display: block;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis; /* Safari */
	-o-text-overflow: ellipsis; /* Opera */
}
figure figcaption div {
	position: relative;
	width: 100%;
	display: block;
}
figure figcaption div p.text {display: inline;}

svg {fill: currentColor;}
div.main_container p {
	width: 100%;
	display: block;
	margin: 0 0 1em 0;
}

div {
	box-sizing: border-box;
	border-collapse: collapse;
}
dl dd p:last-child {margin-bottom: 0;}
dl dd:not(dl dt) {}

div.table,
div.table table {margin: 0 auto 1em auto;}
table {
	width: 100%;
	margin: 0 auto 1em auto;
	padding: 0;
	border-collapse: collapse;
	table-layout: fixed;
	border: 1px solid #333;
	background-color: #FFF;
	vertical-align: middle;
}
table tr th,
table tr td {
	border-collapse: collapse;
	margin: 0;
	border: 1px solid #333;
}
table tr th {
	padding: 0.25em;
	text-align: center;
	font-weight: normal;
	background-color: #E6E6E6;
}
table tr th span.red {
	width: auto;
	display: block;
	margin: 0 auto;
}
table tr td {
	padding: 0.25em 0.5em;
	text-align: center;
	font-weight: normal;
}
table td > table {
	width: auto !important;
	border: none;
	margin: 0;
}
table caption {
	font-weight: bold;
	caption-side: top;
	text-align: center;
	margin: 0 auto;
	padding: 0.25em 0;
	color: #FFF;
	background-color: #333;
	border: 1px solid #333;
}

ol,ul {
	vertical-align: top;
	letter-spacing: -.40em;/* 文字間を詰めて隙間を削除する */
	box-sizing: border-box;
	border-collapse: collapse;
	margin: auto;
}
ol:before,ul:before {
	letter-spacing: normal;/* 文字間を通常に戻す */
}
ul {
	-webkit-padding-start: 20px;
}
ol li,ul li {
	vertical-align: top;
	position: relative;
	letter-spacing: normal;/* 文字間を通常に戻す */
	box-sizing: border-box;
	border-collapse: collapse;
	margin: auto;
}
ol li.absent,ul li.absent {
	color: #999;
	background-color: #F3F3F3;
}
ul>li ul {
	list-style: disc outside;
/*
	margin: 0 0 0 1em;
	padding: 0;
*/
}
ul>li ul>li:before {content: "";}
ul,ul ul,ul>li ul>li {list-style: disc outside;}
ol,ol ol {list-style: decimal outside;}
/*自由な番号表記を使いたい時用ここから*/
ol>li {
	list-style: none; /*標準の番号を消す*/
	counter-increment: number;
	margin: 0 0 0 2em;
	position: relative;
}
ol>li:before,
ol>li>ol>li:before {
	content: counter(number)".";/*自由な番号表記を使う*/
	width: 2em;
	text-align: left;
	display: inline-block;
	margin: 0 0.25em 0 0;
	padding: 0;
	position: absolute;
	left: 0;
	-webkit-transform: translateX(-100%);
	-ms-transform: translateX(-100%);
	transform: translateX(-100%);
}
/*自由な番号表記を使いたい時用ここまで*/
ol>li>ul,ol>li>ol,ul>li>ol {
	margin: 0.5em 0;
	counter-reset: number;
}
ol>li>ul>li,ol>li>ol>li {
	margin: 0 0 0 20px;
	padding: 0 0 0 0.25em;
	font-weight: normal;
	counter-reset: number;
}
ol>li>ul>li {counter-increment: none;}
ol>li>ul>li:before {content: none;}
menu,dir {-webkit-padding-start: 0;}
table tr td ol,
table tr td ul,
dl dd ul {
	text-align: left;
	-webkit-padding-start: 20px;
}

sup {
	font-size: 75%;
	line-height: initial;
	vertical-align: top;
	color: initial;
}
nav ul,
nav ul li {
	list-style: none;
}

dl,dt, dd {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
ul li dl {
	margin: 0;
	padding: 0;
	width: 100%;
	display: block;
}
dl dd #comment {
	font-weight: normal;
	text-align: left;
}
iframe {
	width: 100%;
	height: 100% !important;
	display: block;
	border-collapse: collapse;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
form {
	padding: 0;
	margin: 0 auto;
	width: 100%;
	display: block;
	text-align: center;
	vertical-align: top;
}
form table {text-align: left;}
input {
	padding: 0;
	margin: 0 auto;
}
input, textarea, select, button {
	font-size: inherit;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	padding: 0.25em;
}
@media screen and (max-width: 767px) {input[type=text], textarea, select {width: 100%;}}
input[type=checkbox],input[type=radio] {margin: 0 0.5em 0 0;}
textarea {
	width: 100%;
	display: block;
	margin: 0 0 0.5em 0;
}
input[type=text] {
	display: block;
	margin: 0 0 0.5em 0;
}
input[type=date] {
	display: block;
	margin: 0 0 0.5em 0;
}
label {
	width: auto;
	margin: 0 1em 0 0;
	padding: 0;
	display: inline-block;
}

/*ヘッダー用*/
header {
	text-align: center;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
header a,
header a:hover,
header a:focus {
	text-decoration: underline;
}
header .description {
	width: 100%;
	font-size: 75%;
	margin: 0 auto 0.5em auto;
	padding: 0.25em 0;
	background: -moz-linear-gradient(left, #005085 0%, #66CCE6 100%);
	background: -webkit-linear-gradient(left, #005085 0%, #66CCE6 100%);
	background: linear-gradient(to right, #005085 0%, #66CCE6 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005085', endColorstr='#66CCE6',GradientType=1 );
	background-color: #66CCE6;
}
header div.container,
header div.container div.inner {
	text-align: center;
	width: 100%;
	max-width: 960px;
	padding: 0;
	overflow: hidden;
}
header div.container {margin: 0 auto;}
header div.container div.inner {margin: 1em auto;}
header div.container div.inner div.logo,
header div.container div.inner div.logo img {
	width: 300px;
	height: auto;
	margin: 0 auto;
	padding: 0;
}

@media screen and (min-width: 1020px) {
/*メインメニューボタン*/
header nav.menu {
	width: 100%;
	text-align: center;
	vertical-align: middle;
	margin: 0 auto;
	padding: 0;
	z-index: 100000;
	position: sticky;
}
header nav.menu:before, header nav.menu:after {z-index: -1;}
header nav.menu ul,
header nav.menu ul li {
	padding: 0;
	list-style: none;
	box-sizing: content-box;
	line-height: 1.25;
}
header nav.menu ul li:nth-last-child(-n+2) {display: none;}
header nav.menu ul {
	margin: 0 auto;
	width: 100%;
	max-width: 960px;
	display: block;
	z-index: 0;
}
header nav.menu ul li {
	margin: 0;
	padding: 0 0.5em;
	display: inline-block;
	width: auto;
	font-size: inherit;
}
header nav.menu ul li:not(:nth-last-child(-n+3)) {border-right: 1px solid #333;}
header nav.menu ul li span {
	margin: auto;
	padding: 0;
	width: 100%;
}
header nav.menu ul li:focus a, 
header nav.menu ul li:hover a,
header nav.menu > ul li:focus,
header nav.menu > ul li:hover {
	color: #66CCE6;
	background-color: none;
	text-shadow: none;
}
header nav.menu ul li a {
	color: #005085;
	text-decoration: none;
	margin: 0 auto;
	padding: 0;
	position: relative;
}
}

/*フッター用*/
div.footer {
	color: #FFF;
	text-align: center;
	width: 100%;
	margin: 0 auto;
	padding: 0.5em 0;
	position: relative;
	background: -moz-linear-gradient(top, #005085 0%, #66CCE6 100%);
	background: -webkit-linear-gradient(top, #005085 0%, #66CCE6 100%);
	background: linear-gradient(to bottom, #005085 0%, #66CCE6 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005085', endColorstr='#66CCE6',GradientType=1 );
	background-color: #66CCE6;
}
div.footer a {color: inherit;}
div.footer a:hover,
div.footer a:focus {
	color: inherit;
	text-decoration: underline;
}
div.footer div.container {}
div.footer div.container div.inner {}
div.footer div.copyright {
	margin: 0 auto;
	padding: 0.25em 0;
	width: 100%;
	max-width: 960px;
	font-size: 75%;
	border-top: 1px solid rgba(255,255,255,0.5);
}
div.footer div.container div.inner div.logo,
div.footer div.container div.inner div.logo img {
	width: 300px;
	height: auto;
	margin: 0 auto;
	padding: 0;
}
/*フッタメニューボタン*/
div.footer nav.menu {
	width: 100%;
	text-align: center;
	vertical-align: middle;
	margin: 0 auto;
	padding: 0;
	z-index: 10000;
}
div.footer nav.menu:before, footer nav.menu:after {z-index: -1;}
div.footer nav.menu ul {display: none}
@media screen and (min-width: 1020px) {
div.footer nav.menu ul,
div.footer nav.menu ul li {
	list-style: none;
	line-height: 1.5;
}
div.footer nav.menu ul {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 960px;
	display: block;
	z-index: 0;
}
div.footer nav.menu ul li {
	margin: 0;
	padding: 0 0.5em;
	width: auto;
	display: inline-block;
}
div.footer nav.menu ul li:not(:last-child) {border-right: 1px solid rgba(255,255,255,0.5);}
}
div.footer nav.menu ul li:focus a, 
div.footer nav.menu ul li:hover a,
div.footer nav.menu > ul li:focus,
div.footer nav.menu > ul li:hover {
	color: inherit;
}

/*ヘッダ・フッタ共通設定*/
header div.container,
div.footer div.container {
	margin: 1em auto;
	padding: 0;
	display: block;
	text-align: center;
	width: 100%;
	max-width: 960px;
}
header div.container div.inner,
div.footer div.container div.inner {
	padding: 0;
	display: block;
	text-align: center;
	width: 100%;
	max-width: 960px;
}
header div.container div.inner {margin: 0 auto;}
div.footer div.container div.inner {margin: 1em auto;}
header div.container div.inner div.company,
div.footer div.container div.inner div.company {
	margin: 0 auto;
	padding: 0;
	display: block;
	text-align: center;
	width: 100%;
}
header div.container div.inner div.link,
div.footer div.container div.inner div.link {
	margin: 0 auto;
	padding: 0;
	display: block;
	text-align: right;
	line-height: 1;
}
@media screen and (min-width: 1020px) {
header div.container div.inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	align-items: flex-end;
}
div.footer div.container div.inner {display: block;}
header div.container div.inner div.company {
	margin: 0 auto 0 0;
	width: auto;
	padding: 0;
}
div.footer div.container div.inner div.company {
	width: auto;
	margin: 0;
	padding: 0;
}
header div.container div.inner div.link {
	margin: 0 0 0 auto;
	padding: 0;
}
div.footer div.container div.inner div.link {
	margin: 0 0 0 auto;
	padding: 0;
}
header div.container div.inner div.company:only-child,
div.footer div.container div.inner div.company:only-child,
header div.container div.inner div.link:only-child,
div.footer div.container div.inner div.link:only-child {
	margin: 0 auto;
}
}
header div.container div.inner div>div ul,
header div.container div.inner div>div ul li,
div.footer div.container div.inner div>div ul,
div.footer div.container div.inner div>div ul li {
	list-style: none;
}

/*スライドショー＆トップ画像*/
section#topimage,
section#slideshow {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	height: auto;
	display: block;
	overflow: hidden;
	text-align: center;
	vertical-align: middle;
	position: relative;
}
section#topimage ul li img,
section#slideshow ul>li>img {
	margin: 0 auto;
	padding: 0;
	display: block;
	width: 100%;
	height: auto;
	z-index: -3;
	object-fit: cover;/* この一行を追加するだけ！ */
	font-family: 'object-fit: cover;'; /*IE対策*/
}
section#topimage ul li img,
section#slideshow ul>li>img {
	height: 600px;
	max-height: 600px;
	max-height: 60vw;
}
section#topimage:before,section#topimage:after,
section#slideshow:before,section#slideshow:after {
	position: absolute;
}
section#slideshow figure figcaption {
	color: #FFF;
	font-size: 10pt;
	font-weight: initial;
	line-height: 1;
	text-align: center;
	margin: 0 auto;
	padding: 0;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	display: block;
	text-shadow: 1px -1px 2px rgba(0,0,20,0.25),1px 1px 2px rgba(0,0,20,0.25),
		     1px 0 2px rgba(0,0,20,0.25),-1px 0 2px rgba(0,0,20,0.25),
		     -1px -1px 2px rgba(0,0,20,0.25),-1px 1px 2px rgba(0,0,20,0.25);
	background-color: transparent;
}
section#slideshow sup {
	color: inherit;
	vertical-align: baseline;
	display: inline-block;
}
section#slideshow figure figcaption sup {
	font-size: inherit;
	margin: 0 0.5em;
	padding: 0;
	line-height: 1;
}
@media screen and (min-width: 1020px) {
section#slideshow figure figcaption {
	text-align: right;
	padding: 0 2.5em;
}
}
section#slideshow .text {
	color: #FFF;
	font-size: 200%;
	font-weight: bold;
	line-height: 1;
	width: 100%;
	z-index: +1;
	text-decoration: none;
	text-shadow: 1px -1px 5px rgba(0,0,0,0.5),1px 1px 5px rgba(0,0,0,0.5),
		     1px 0 5px rgba(0,0,0,0.5),-1px 0 5px rgba(0,0,0,0.5),
		     -1px -1px 5px rgba(0,0,0,0.5),-1px 1px 5px rgba(0,0,0,0.5);
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);/* Safari用 */
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	margin: 0;
	padding: 0;
}
section#slideshow .text h1 {
	color: #FFF;
	margin: 0 auto;
	padding: 0;
	font-size: 50%;
	font-weight: inherit;
	font-family: initial;
	background-image: none;
	background-color: transparent;
	border: none;
	position: absolute;
}
section#slideshow .text>img {
	width: 10em;
	height: auto;
}
section#slideshow .text sup {
	color: inherit;
	vertical-align: baseline;
	font-size: 50%;
}
@media screen and (min-width: 1020px) {
section#slideshow .text {
	font-size: 300%;
	line-height: 1.25;
}
}
section#topimage ul,
section#slideshow>ul {
	margin: 0 auto;
	padding: 0;
	list-style: none;
	position: relative;
}
section#topimage ul li,
section#slideshow ul>li {
	list-style: none;
}
/*写真アルバム*/
div.album {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	height: auto;
	display: block;
	overflow: hidden;
	text-align: center;
	vertical-align: middle;
	position: relative;
}
div.album ul {
	margin: 0 auto;
	padding: 10px;
	background-color: #E6E6E6;
	line-height: 1;
}
div.album ul li {background-color: #FFF;}
div.album ul,div.album ul li {list-style: none;}
div.album ul li img {
	margin: 0 auto;
	padding: 0;
	display: block;
	z-index: -3;
	object-fit: cover;/* この一行を追加するだけ！ */
	font-family: 'object-fit: cover;'; /*IE対策*/
}
div.album ul.item li img {
	width: 100%;
	height: 700px;
	max-height: 700px;
	max-height: 70vw;
}
div.album ul.thumb li img {
	width: 100%;
	height: 100px;
	max-height: 100px;
	max-height: 10vw;
}
div.album ul.item {
	margin: 0 auto;
	padding: 0;
	list-style: none;
	position: relative;
}
div.album ul.thumb li {
	margin: 0 1% 0.25em 1%;
	padding: 0;
	display: inline-block;
}

/*メインコンテナ*/
div.main_container {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	display: block;
	z-index: 1000;
	min-height: 700px;
	text-align: left;
	vertical-align: top;
}
div.main_container section {
	text-align: center;
	padding: 2.5em 0;
}
div.main_container section div.container,
div.main_container section div.container div[class*="inner"] {
	height: auto;
	padding: 0;
	display: block;
	/*overflow: hidden;*/
}
div.main_container section div.container {
	width: 95%;
	height: auto;
	display: block;
	margin: 0 auto 2.5em auto;
	text-align: left;
	vertical-align: top;
}
div.main_container section div.container:only-child,
div.main_container section div.container div[class*="inner"]:only-child,
div.main_container section div.container:last-child,
div.main_container section div.container div[class*="inner"]:last-child,
div.main_container section div.container div[class*="inner"]:last-child {margin: 0 auto !important;}
div.main_container section div.container div[class*="inner"] {
	width: 100%;
	height: auto;
	display: block;
	text-align: left;
	vertical-align: top;
	margin: 0 auto 1em auto;
	line-height: 1.75;
}
div.main_container section div.container div[class*="inner"] div[class*="box_"] {
	height: auto;
	min-height: 1em;
	margin: 0 0 1em 0;
	padding: 0;
	display: block;
	/*overflow: hidden;*/
	vertical-align: top;
}
div.main_container section div.container div[class*="inner"] div.box_photo {text-align: center;}
div.main_container section div.container div[class*="inner"] div.box_photo img {
	width: 100%;
	height: auto;
	max-height: 350px;
	object-fit: cover;/* この一行を追加するだけ！ */
	font-family: 'object-fit: cover;'; /*IE対策*/
	display: block;
	margin: 0 auto 1em auto;
	padding: 0;
	overflow: hidden;
	/*border-radius*/
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
div.main_container section div.container div[class*="inner"] div.box_photo:empty {
	background-color: #F3F3F3;
	min-height: 360px;
}
div.main_container section div.container div[class*="inner"] div.box_text {text-align: left;}
@media screen and (min-width: 1020px) {
div.main_container section div.container,
div.main_container section div.container div[class*="inner"] {
	width: 100%;
	max-width: 960px;
}
div.main_container section div.container div[class*="inner"] {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	align-items: flex-start;
}
div.main_container section div.container div.inner_l {
	-webkit-flex-direction: row;
	flex-direction: row;
}
div.main_container section div.container div.inner_r {
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
div.main_container section div.container div[class*="inner"] div[class*="box_"]:nth-last-child(-n + 2):first-child, div.main_container section div.container div[class*="inner"] div[class*="box_"]:nth-last-child(-n + 2):first-child ~ div[class*="box_"] {margin-bottom: 0;}
div.main_container section div.container div[class*="inner"] div[class*="box_"] {width: 48.75%;}
div.main_container section div.container div.inner_l div[class*="box_"]:nth-child(odd) {margin-right: 2.5%;}
div.main_container section div.container div.inner_r div[class*="box_"]:nth-child(odd) {margin-left: 2.5%;}
div.main_container section div.container div[class*="inner"] div[class*="box_"]:only-child {
	width: 100%;
	margin: 0 auto;
}
}

/*パンくずリンク*/
div.pankuzulink,
div.pankuzulink ul {
	width: 100%;
	display: block;
	text-align: left;
}
div.pankuzulink {
	font-size: 87.5%;
	margin: 0 auto 1em auto;
	padding: 0.25em 0;
	background-image: radial-gradient(#ECF9FF 20%, transparent 22%),
	radial-gradient(#ECF9FF 20%, transparent 22%);
	background-size: 6px 6px;
	background-position: 0 0, 3px 3px;
	background-color: #ECF9FF;
}
div.pankuzulink ul {
	margin: 0 auto;
	padding: 0;
	max-width: 960px;
}
div.pankuzulink ul li {
	width: auto;
	margin: 0 auto;
	padding: 0;
	display: inline-block;
}
div.pankuzulink ul li:not(:first-child):before {
	content: ">";
	margin: 0 0.5em;
	padding: 0;
	display: inline;
}

/*トップページ用*/
div.introduction>section:nth-child(odd) {background-color: #ECF9FF;}
div.introduction>section:nth-child(even) {background-color: transparent;}

/*最新情報用*/
section#news {}
section#news div.container,
section#news div.container div.inner_l {
	max-width: 960px;
	margin: 0 auto 5em auto;
}
section#news div.container div.inner_l div.box_photo {width: 30%;}
section#news div.container div.inner_l div.box_text {width: 67.5%;}
section#news div.container div.inner_l div.box_photo img {max-height: 200px;}
section#news div.container div.date {
	color: #005085;
	font-size: 87.5%;
	text-align: right;
}
section#news div.container div.date:after {content: "更新";}

/*フォーム用*/
section#contact {}
section#contact div.container,
section#contact div.container div.inner_l {
	max-width: 960px;
	margin: 0 auto;
}
section#contact div.table table tr th {padding: 0.5em 0;}
section#contact div.table table tr td {padding: 0.5em;}
section#contact div.table table tr th {background-color: #F3F3F3;}
section#contact div.table table tr td {text-align: left;}
section#contact table tr:first-child th:first-child {width: 6em;}
@media screen and (max-width: 767px) {}
@media screen and (min-width: 1020px) {section#contact table tr:first-child th:first-child {width: 20%;}}
section#contact div.table table tr td>label {
	width: 100%;
	margin: 0 auto;
	padding: 0.25em;
}
section#contact div.table table tr td>ul {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	border: 1px dotted #999;
	list-style: none;
}
section#contact div.table table tr td>ul>li {
	width: 100%;
	margin: 0 auto;
	padding: 0.5em;
	border-bottom: 1px dotted #999;
}
section#contact div.table table tr td>ul>li:last-child {border: none;}

/*リンク集*/
section#link div.site {
	margin: 0 auto;
	padding: 0;
	text-align: center;
	width: 100%;
	display: block;
}
section#link div.site ul {
	list-style: none;
	width: auto;
	margin: 0.5em auto;
	padding: 0;
	display: table;
}
section#link div.site ul li {
	width: auto;
	margin: 0 1em;
	padding: 0;
	display: inline-block;
	list-style: none;
	text-align: left;
	min-width: 240px;
}
section#link div.site ul li:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f138";/*(＞)マーク*/
	display: inline;
	margin: 0 0.25em 0 0;
	padding: 0;
}
/*サイトマップ*/
section#sitemap div.map {
	margin: 0 auto;
	padding: 0;
	text-align: center;
	width: 100%;
	max-width: 960px;
	display: block;
}
section#sitemap div.map>ul {
	width: auto;
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 480px;
	display: block;
	text-align: left;
}
section#sitemap div.map ul li {
	width: auto;
	margin: 0 2em;
	padding: 0;
	list-style: none;
	text-align: left;
}
section#sitemap div.map ul li:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline;
	margin: 0 0.5em;
	padding: 0;
}
section#sitemap div.map>ul>li:before {
	content: "\f138";/*(＞)マーク*/
	color: #66CCE6;
}
section#sitemap div.map>ul>li>ul>li:before {
	content: "\f138";/*(＞)マーク*/
	color: #999;
}
section#sitemap div.map>ul>li>ul>li>ul>li:before {
	content: "\f107";/*∨マーク*/
	color: #999;
}
section#sitemap div.map>ul>li {
	margin: 0 auto 0.5em auto;
	background-color: #E6F3FF;
}
section#sitemap div.map>ul ul {
	padding: 0.5em 0;
	background-color: #FFF;
}
section#sitemap div.map>ul>li>ul>li>ul>li:nth-child(odd) {background-color: #F3F3F3;}

/*更新情報*/
section#update {
	width: 75%;
	display: block;
	list-style: none;
	text-align: left;
}
@media screen and (min-width: 1020px) {
section#update {
	width: 100%;
	max-width: 960px;
}
}
section#update div.update,
section#update div.update>ul {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 960px;
	display: block;
	list-style: none;
	text-align: left;
}
section#update div.update>ul>li {
	margin: 0 auto 2.5em auto;
	padding: 0;
}
section#update div.update>ul>li dl,
section#update div.update>ul>li dl dt,
section#update div.update>ul>li dl dd {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	display: block;
}
section#update div.update>ul>li dl dt,
section#update div.update>ul>li dl dd {
	padding: 0;
}
@media screen and (min-width: 1020px) {
section#update div.update ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
/*3分割の場合*/
section#update div.update ul li {
	width: 32%;
	padding: 0;
	margin: 0 2% 2.5em 0;
}
section#update div.update ul li:nth-child(3n) {margin-right: 0;}
/*4分割の場合
section#update div.update ul li {
	width: 23.5%;
	padding: 0;
	margin: 0 2% 2.5em 0;
}
section#update div.update ul li:nth-child(4n) {margin-right: 0;}
*/
}
section#update div.update>ul>li dl dt {text-align: center;}
section#update div.update>ul>li dl dt img {
	text-align: center;
	width: 100%;
	height: 200px;
	object-fit: cover;/* この一行を追加するだけ！ */
	font-family: 'object-fit: cover;'; /*IE対策*/
	/*border-radius*/
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
section#update div.update>ul>li dl dt:empty {
	height: 200px;
	background-image: url(images/no-image.png);
	background-attachment: scroll;
	background-position: center center;
	background-size: auto;
	background-repeat: no-repeat;
	background-color: #F3F3F3;
	/*border-radius*/
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
@media screen and (min-width: 1020px) {
/*3分割の場合*/
section#update div.update>ul>li dl dt img,
section#update div.update>ul>li dl dt:empty {height: 220px;}
/*4分割の場合
section#update div.update>ul>li dl dt img,
section#update div.update>ul>li dl dt:empty {height: 160px;}
*/
}
section#update div.update>ul>li dl div {
	margin: 0 0 0.5em 0;
	padding: 0;
}
section#update div.update ul li dl div.date {
	color: #005085;
	font-size: 87.5%;
	text-align: right;
}
section#update div.update ul li dl div.date:after {content: "更新";}
section#update div.update ul li dl div.title {
	font-weight: bold;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis; /* Safari */
	-o-text-overflow: ellipsis; /* Opera */
}
section#update div.update ul li dl div.comment {
	border-top: 1px solid #E6E6E6;
	margin: 0 auto;
	padding: 0.5em 0;
	width: 100%;
	display: block;
}
section#update div.update ul li dl div.comment p {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
section#update div.update ul li dl div.comment:empty {
	border-top: none;
	display: none;
}


/*プライバシーポリシー用*/
section#privacypolicy {}
section#privacypolicy div.container {}
section#privacypolicy div.container ol>li>ol {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
}
section#privacypolicy div.container ol>li:only-child {
	list-style: none;
	margin: 0;
	padding: 0;
}
section#privacypolicy div.container ol>li:only-child:before {
	content: "";
	width: auto;
	margin: 0;
	padding: 0;
	position: relative;
}
section#privacypolicy div.container ol>li>ol>li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	font-size: 87.5%;
	border: 1px solid #333;
	display: block;
	text-align: center;
	line-height: 20px;
	height: 20px;
	width: 20px;
	position: absolute;
	top: 0.25em;
	white-space: nowrap;
	/*border-radius*/
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}

/*フレーム用*/
section div.container div.frame {
	width: 100%;
	margin: 0 auto;
	padding: 1em 2em;
	display: block;
	border: 3px solid #66CCE6;
	/*border-radius*/
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
section div.container div.announce {
	width: 100%;
	margin: 0 auto 1em auto;
	padding: 1em 2em;
	display: block;
	border: 5px solid #F00;
	background-color: #FFF;
	/*border-radius*/
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	/* box-shadow */
	box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.5);
}
section div.container div.error {
	width: 100%;
	margin: 0 auto 1em auto;
	padding: 1em 2em;
	display: block;
	color: #FFF;
	background-color: #F00;
	/*border-radius*/
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

/*アクセスマップ用*/
section#accessmap {
	color: #FFF;
	margin: 0 auto;
	padding: 2.5em 0;
	width: 100%;
	display: block;
	text-align: center;
	background-color: #005085;
}

/*見出し用*/
h1,h2,h3,h4,h5 {
	width: 100%;
	display: block;
	position: relative;
	line-height: 1;
}
h1>span,h2>span,h3>span,h4>span,h5>span {
	margin: 0 auto;
	display: inline-block;
	max-width: 960px;
	line-height: 1.25;
}
h1 a,h2 a,h3 a,h4 a,h5 a,
h1 a:focus,h2 a:focus,h3 a:focus,h4 a:focus,h5 a:focus,
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover {
	color: inherit;
	text-decoration: underline;
}
/*メイン見出し(※1ページ内に、1つまで)【google指定】*/
h1 {
	text-align: center;
	font-size: initial;
	font-weight: normal;
	margin: 0 auto 1em auto;
	padding: 2em 0;
	width: 100%;
	background-image: url(images/pattern_h1.png);
	background-attachment: scroll;
	background-position: center center;
	background-size: auto;
	background-repeat: no-repeat;
	background-color: #ECF9FF;
	height: 120px;
	max-height: 120px;
	min-height: 120px;
}
h1>span {
	margin: 0.125em auto;
	padding: 0;
	display: block;
}
h1>span:not(:only-child):first-child {
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	color: #005085;
	font-size: 150%;
}
h1>span:not(:only-child):last-child {
	color: #333;
	font-size: 100%;
}
/*丸ゴシックタイトル*/
h2 {
	font-size: initial;
	text-align: center;
	font-weight: normal;
	margin: 0 auto 1em auto;
	padding: 0.5em 0;
	background-image: url(images/pattern_h2.png);
	background-attachment: scroll;
	background-position: center center;
	background-size: auto;
	background-repeat: no-repeat;
	background-color: transparent;
	height: 80px;
	max-height: 80px;
	min-height: 80px;
}
h2>span {
	margin: 0.125em auto;
	padding: 0;
	display: block;
}
h2>span:first-child {
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	color: #005085;
	font-size: 175%;
}
h2>span:last-child {
	font-family: initial;
	color: #333;
	font-size: 100%;
}
/*角丸の枠線付き見出し*/
h3 {
	color: #005085;
	text-align: left;
	font-weight: bold;
	font-size: 125%;
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	margin: 0 auto 1em auto;
	padding: 0.5em 1em;
	border: 1px solid #005085;
	/*border-radius*/
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
h3>span {
	margin: 0 auto;
	padding: 0;
}
/*明朝体の見出し*/
h4 {
	color: initial;
	text-align: left;
	font-weight: normal;
	font-size: 125%;
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	margin: 0 auto 0.5em auto;
	padding: 0;
	overflow: hidden;
}
h4>span {
	margin: 0 auto;
	padding: 0.25em 0;
	position: relative;
}
/*頭に■が付く見出し*/
h5 {
	text-align: left;
	font-weight: bold;
	font-size: 100%;
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	margin: 0 auto 0.5em auto;
	padding: 0 0 0 1em;
}
h5>span {
	margin: 0 auto;
	padding: 0;
	text-indent: -1em;
}
h5>span:before {
	color: #66CCE6;
	content: "■";
	display: inline;
	margin: 0;
	padding: 0;
}

/*キャッチコピー的な*/
p.catchcopy {
	text-align: center;
	margin: 0 auto 1em auto;
	padding: 0;
	font-size: 150%;
	font-weight: bold;
	position: relative;
	max-width: 960px;
}


/*新しくウィンドウが開くリンク*/
a.newopen {
	text-align: inherit;
	vertical-align: inherit;
	width: auto;
}
a.newopen:after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f35d";
	display: inline-block;
	margin: 0 0.25em;
	padding: 0;
}
div.main_container a.newopen:after {
	color: #999;
	text-decoration: none;
}
header a.newopen:after {
	color: #999;
	text-decoration: none;
}
div.footer a.newopen:after {
	color: rgba(255,255,255,0.5);
	text-decoration: none;
}
a.newopen:focus :before,
a.newopen:hover :before {
	color: inherit;
}
/*詳しく見るボタン*/
a.readmore {
	margin: 2.5em auto 0 auto;
	padding: 0.5em 0;
	text-align: center;
	vertical-align: middle;
	display: block;
	color: #005085;
	border: 1px solid #005085;
	background-color: transparent;
	width: auto;
	max-width: 200px;
	min-width: 200px;
}
a.readmore,
a.readmore a {
	color: #005085;
	text-decoration: none;
}
a.readmore:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f138";
	display: inline;
	margin: 0 0.25em;
	padding: 0;
}
a.readmore:focus,
a.readmore:hover {
	color: #FFF;
	background-color: #005085;
}
/*詳しく見る（小）ボタン*/
a.readmore-mini {
	margin: 1em auto 0 auto;
	padding: 0.25em 0;
	text-align: center;
	vertical-align: middle;
	display: block;
	color: #005085;
	border: none;
	background-color: transparent;
	width: auto;
	max-width: 10em;
	min-width: 10em;
	/*border-radius*/
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}
a.readmore-mini,
a.readmore-mini a {
	color: #FFF;
	background-color: #005085;
	text-decoration: none;
}
a.readmore-mini:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f138";
	display: inline;
	margin: 0 0.25em;
	padding: 0;
}
a.readmore-mini:focus,
a.readmore-mini:hover {
	color: #005085;
	background-color: #ECF9FF;
}

/* タブメニューボタン */
.tab_button {
	margin: 0 auto 2.5em auto;
	padding: 1em 0 0 0;
	width: 100%;
	max-width: 960px;
	display: block;
	line-height: 1;
	text-align: center;
	vertical-align: top;
	background-color: #E6E6E6;
}
.tab_button ul,
.tab_button ul li {
	list-style: none;
	text-align: center;
	vertical-align: top;
	width: 100%;
	max-width: 960px;
	padding: 0;
	display: block;
}
.tab_button ul {
	margin: 0 auto;
	overflow: hidden;
}
.tab_button ul li {
	color: #FFF;
	margin: 0 auto 0.25em auto;
	width: 95%;
	/* border-radius */
	border-radius: 10px 10px 0 0;
	-webkit-border-radius: 10px 10px 0 0;
	-moz-border-radius: 10px 10px 0 0;
	/* box-shadow */
	box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.5);
}
.tab_button ul li a:before {
	color: inherit;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f138";
	display: inline;
	margin: 0 0.25em;
	padding: 0;
}
.tab_button ul li a {
	color: inherit;
	text-decoration: none;
	display: block;
	padding: 1em 0;
}
.tab_button ul li:focus a,
.tab_button ul li:hover a {
	color: inherit;
}
.tab_button ul li:focus,
.tab_button ul li:hover,
.tab_button ul li a:focus,
.tab_button ul li a:hover {
	opacity: 0.5;
	-webkit-opacity: 0.5;
	-moz-opacity: 0.5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)";/* IE 8 */
}
@media screen and (min-width: 1020px) {
.tab_button ul {
	width: 100%;
	max-width: 960px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
}
.tab_button ul li {
	width: 24%;
	margin: 0 0.5%;
}
.tab_button ul li:nth-last-child(n + 5),.tab_button ul li:nth-last-child(n + 5) ~ li {margin: 0 0.25% 0.25em 0.25%;}
}
.tab_button ul li :focus a,.tab_button ul li :hover a {color: inherit;}

/* ページ内で移動するボタン */
.skip_button {
	margin: 0 auto 2.5em auto;
	padding: 0;
	width: 100%;
	max-width: 960px;
	display: block;
	line-height: 1;
	text-align: center;
	vertical-align: top;
}
.skip_button ul,
.skip_button ul li {
	list-style: none;
	text-align: center;
	vertical-align: top;
	width: 100%;
	max-width: 960px;
	padding: 0;
	display: block;
}
.skip_button ul {margin: 0 auto;}
.skip_button ul li {
	color: #666;
	background-color: #E6E6E6;
	width: 95%;
	margin: 0 auto 0.25em auto;
}
.skip_button ul li a:after {
	color: inherit;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f107";/*∨マーク*/
	display: block;
	margin: 0 auto;
	padding: 0;
}
.skip_button ul li a {
	color: inherit;
	text-decoration: none;
	display: block;
	padding: 0.5em 0;
}
.skip_button ul li:focus a,
.skip_button ul li:hover a {
	color: inherit;
}
.skip_button ul li:focus,
.skip_button ul li:hover,
.skip_button ul li a:focus,
.skip_button ul li a:hover {
	opacity: 0.5;
	-webkit-opacity: 0.5;
	-moz-opacity: 0.5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)";/* IE 8 */
}
@media screen and (min-width: 1020px) {
.skip_button ul {
	width: 100%;
	max-width: 960px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
.skip_button ul li {
	width: 24.5%;
	margin: 0 0.25% 0.25em 0.25%;
}
}

/* 違うページに移動ボタン */
.jump_button {
	margin: 0 auto 1em auto;
	padding: 0;
	width: 100%;
	max-width: 960px;
	display: block;
	line-height: 1;
	text-align: center;
	vertical-align: top;
}
.jump_button ul,
.jump_button ul li {
	list-style: none;
	font-weight: bold;
	vertical-align: top;
	padding: 0;
}
.jump_button ul {
	margin: 0 auto 0.5em auto;
	width: 100%;
	max-width: 960px;
	display: block;
}
.jump_button ul li {
	margin: 0 0.5em 0.5em 0;
	padding: 0;
	display: inline-block;
	width: auto;
	background-color: #E6E6E6;
	/*border-radius*/
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
.jump_button ul li a {
	color: #FFF;
	text-decoration: none;
	display: block;
	margin: 0 auto;
	padding: 0;
	background: -moz-linear-gradient(top, #66CCE6 0%, #005085 100%);
	background: -webkit-linear-gradient(top, #66CCE6 0%, #005085 100%);
	background: linear-gradient(to bottom, #66CCE6 0%, #005085 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66CCE6', endColorstr='#005085',GradientType=1 );
	background-color: #005085;
	/*border-radius*/
	border-radius: inherit;
	-webkit-border-radius: inherit;
	-moz-border-radius: inherit;
	/* box-shadow */
	box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.5);
}
.jump_button ul li span {
	display: inline-block;
	margin: 0 auto;
	padding: 1em 0.5em;
}
.jump_button ul li a.newopen:after {
	color: inherit;
	margin: 0 0.5em 0 0;
	padding: 0;
}
.jump_button ul li span:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f138";/*(＞)マーク*/
	display: inline;
	margin: 0 0.25em 0 0;
	padding: 0;
}
.jump_button ul li a:hover,
.jump_button ul li a:focus {
	background-color: #FFF;
	cursor: pointer;
	opacity: 0.5;
	-webkit-opacity: 0.5;
	-moz-opacity: 0.5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)";/* IE 8 */
}

/* 違うページに移動ボタン(大) */
section[id*="banner_"] {
	margin: 0 auto 2.5em auto;
	padding: 0;
	width: 100%;
	display: block;
	text-align: center;
	vertical-align: top;
}
section#banner_index {background-color: transparent;}
section#banner_sns {
	margin: 0 auto;
	padding: 2.5em 0 5em 0;
	background-color: #E6FFE6;
}
section[id*="banner_"]>div.container {max-width: 960px;}
@media screen and (min-width: 1020px) {
div.main_container section#banner_sns div.container div[class*="inner"] {align-items: stretch;}
}
div[class*="banner_button"] {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 960px;
	display: block;
	text-align: center;
	vertical-align: top;
}
div[class*="banner_button"] ul,
div[class*="banner_button"] ul li {
	list-style: none;
	text-align: center;
	vertical-align: middle;
	line-height: 1;
	width: 100%;
	max-width: 960px;
	display: block;
}
div[class*="banner_button"] ul {
	margin: 0 auto;
	padding: 0;
}
div[class*="banner_button"] ul li {
	margin: 0 auto 1em auto;
	padding: 0;
	display: inline-block;
	width: 100%;
	max-width: 960px;
	background-color: #FFF;
	/* box-shadow */
	box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.5);
}
@media screen and (min-width: 1020px) {
div[class*="banner_button"] ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
div[class*="banner_button"] ul.block_4 li {width: 23.5%;}
div[class*="banner_button"] ul.block_3 li {width: 32%;}
div[class*="banner_button"] ul.block_2 li {width: 49%;}
div[class*="banner_button"] ul[class*="block_"] li {margin: 0 2% 1em 0;}
div[class*="banner_button"] ul.block_4 li:nth-child(4n),
div[class*="banner_button"] ul.block_3 li:nth-child(3n),
div[class*="banner_button"] ul.block_2 li:nth-child(even) {
	margin-right: 0;
}
div[class*="banner_button"] ul.block_1 li {
	width: 100%;
	margin: 0 auto 1em auto;
}
div[class*="banner_button"] ul.block_4 li:only-child,
div[class*="banner_button"] ul.block_3 li:only-child,
div[class*="banner_button"] ul.block_2 li:only-child {
	margin: 0 auto 1em auto;
}
}
div[class*="banner_button"] ul li a {
	color: inherit;
	text-decoration: none;
	display: block;
	margin: 0 auto;
	padding: 0;
}
div[class*="banner_button"] ul li img {
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
}

/* クレジットカードのロゴリスト */
div.container div.creditcard,
div.container div.creditcard ul {
	color: #666;
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	vertical-align: top;
	display: block;
}
table tr td div.creditcard ul li,
dl dd div.creditcard ul li {
	margin: 0 0.25em 0.25em 0;
	padding: 2px;
	text-align: center;
	vertical-align: middle;
	display: inline-block;
	width: auto;
	min-width: 40px;
	height: 40px;
	line-height: 40px;
	border: 1px solid #999;
	background-color: #FFF;
}
div.creditcard ul li img {
	width: auto;
	height: 100%;
}
div.creditcard ul li span {
	margin: auto;
	padding: 0;
	width: auto;
	height: auto;
	display: block;
	line-height: 1;
	white-space: nowrap;
}

/* 電話、FAX、メールなどのボタン */
div.tel ul,div.tel ul li,
div.fax ul,div.fax ul li,
div.mail ul,div.mail ul li {
	list-style: none;
	padding: 0;
}
didiv.tel ul,div.tel ul li {font-weight: bold;}
div.main_container div.tel ul li a {color: #F00;}
div.tel ul li a:before,
div.fax ul li:before,
div.mail ul li:before {
	color: inherit;
	text-decoration: none;
	font-size: 100%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	line-height: initial;
	display: inline-block;
	padding: 0;
	margin: 0 0.25em 0 0;
}
div.tel ul li a:before {content: "\f095";}
div.fax ul li:before {content: "\f1ac";}
div.mail ul li:before {content: "\f0e0";}
header div.hour:before,
div.footer div.hour:before {content: "営業時間";}
header div.tel .reserve,
div.main_container div.tel .reserve,
div.footer div.tel .reserve {
	font-size: initial;
	line-height: initial;
	padding: 0 0.25em;
	margin: 0 0.25em;
	display: inline-block;
	vertical-align: middle;
	/*border-radius*/
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
header div.tel .reserve {
	color: #FFF;
	background-color: #F00;
}
div.main_container div.tel .reserve {
	color: #FFF;
	background-color: #005085;
}
div.footer div.tel .reserve {
	color: #005085;
	background-color: #FF0;
}

/* シェアボタン */
div.share_button {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 960px;
	text-align: center;
}
div.share_button ul {
	width: 100%;
	display: block;
	line-height: 1;
	list-style: none;
	text-align: inherit;
	vertical-align: middle;
	margin: 0;
	padding: 0;
}
div.share_button ul li {
	width: 100%;
	display: block;
	margin: 0 auto 0.25em auto;
	padding: 0;
	background-color: #FFF;
}
@media screen and (min-width: 1020px) {
div.share_button ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
div.share_button ul li {
	margin: 0;
	width: 33%;
}
div.share_button ul li:nth-child(3n+2) {margin: 0 0.5%;}
}
div.share_button ul li a[class*="btn-"] {
	width: 100%;
	display: block;
	margin: 0;
	padding: 0.5em 0;
	color: #FFF;
	font-weight: bold;
	font-size: initial
	line-height: 1;
	cursor: pointer;
	position: relative;
	text-decoration: none;
}
div.share_button ul li a[class*="btn-"]:focus,
div.share_button ul li a[class*="btn-"]:hover {
	color: #FFF;
	opacity: 0.5;
	-webkit-opacity: 0.5;
	-moz-opacity: 0.5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)";/* IE 8 */
}
div.share_button ul li a[class*="btn-"]:before {
	display: inline-block;
	font-family: 'icomoon' !important;
	font-size: inherit;
	font-weight: initial;
	vertical-align: middle;
	margin: 0 0.25em 0 0;
	padding: 0;
}
div.share_button ul li a.btn-facebook {background-color: #315096;}
div.share_button ul li a.btn-facebook:before {content: "\ea90";}
div.share_button ul li a.btn-twitter {background-color: #55acee;}
div.share_button ul li a.btn-twitter:before {content: "\ea96";}
div.share_button ul li a.btn-line {background-color: #00c300;}
div.share_button ul li a.btn-line:before {content: "\e900";}
div.share_button ul li a[class*="btn-"]:after {
	content: "でシェアする";
	font-weight: normal;
}
/* シェアボタン　※トップページ限定の設定 */
section#banner_sns div.share_button ul li a[class*="btn-"] {
	font-size: 125%;
	padding: 0.75em 0;
}
section#banner_sns div.share_button ul li {
	/* box-shadow */
	box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.5);
}

/* ページの先頭に戻るボタン */
.page-top {
	position: fixed;
	bottom: 1em;
	right: 1em;
	font-size: 100%;
	z-index: 15000;
	display: block;
}
@media screen and (max-width: 767px) {.page-top {display: block !important;}}
.page-top a {
	color: #FFF;
	padding: 1em 0.5em;
	text-align: center;
	text-decoration: none;
	display: block;
	width: 60px;
	height: 60px;
	background-color: #0CC;
	/*border-radius*/
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}
.page-top a:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f062";
	font-size: 200%;
	display: inline-block;
}
.page-top a:hover,
.page-top a:focus {
	opacity: 0.5;
	-webkit-opacity: 0.5;
	-moz-opacity: 0.5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)";/* IE 8 */
}

/* 注意書きリスト */
div.caution {
	margin: 1em auto;
	padding: 0;
	width: 100%;
	max-width: 960px;
	display: block;
	text-align: left;
	vertical-align: top;
}
div.caution ul {
	list-style: none;
	text-align: left;
	vertical-align: top;
	text-indent: -1em;
}
div.caution ul li {margin: 0 0 0 1em !important;}
div.caution ul+li {margin: 0 0 0 1em !important;}
div.caution ul>li ul>li {
	margin: 0;
	padding: 0 0 0 1em;
}
div.caution ul>li:before {
	content: "※";
	margin: 0;
	padding: 0;
	display: inline;
}
div.caution ul ul>li:before {content: "";}

/* facebookタイムライン */
div.facebook {height: 400px;}
div.fb-page,div.fb_iframe_widget,
div.fb-page span,div.fb_iframe_widget span {
	width: 100% !important;
	height: 100% !important;
	border-collapse: collapse;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
/* ユーチューブ */
div.youtube {
	width: 100% ;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	overflow: hidden;
	position: relative;
	letter-spacing: normal;
}
div.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border-collapse: collapse;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
/* グーグルマップ */
.googlemap {
	margin: 0 auto;
	width: 100%;
	max-width: 960px;
	height: auto;
	padding-bottom: 75%;/* 縦横比 */
	overflow: hidden;
	position: relative;
	background-color: #F3F3F3;
	/*border-radius*/
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.googlemap iframe,
.googlemap object,
.googlemap embed,
.googlemap iframe html {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
.gsc-search-box table {
	margin: 0;
	padding: 0;
	border-collapse: collapse;
	width: 100%;
}
.gsc-search-box table tr th,
.gsc-search-box table tr td {
	font-weight: inherit;
	border-collapse: collapse;
	margin: 0;
	padding: 0;
	overflow: visible;
}
/*エラーメッセージ*/
div.message_error {
	width: 100%;
	max-width: 960px;
	display: block;
	margin: 0 auto;
	padding: 0.25em 0;
	background-color: #FCC;
	text-align: center;
}
div.message_error h5 {color: #F00;}

.red,.red a {color: #F00;}
.blue,.blue a {color: #00F;}
.yellow,.yellow a {color: #FF0;}


@-webkit-keyframes   99%,to {-webkit-transform: translate(-100%);}
}
@-moz-keyframes   99%,to {-moz-transform: translate(-100%);}
}
@-ms-keyframes   99%,to {-ms-transform: translate(-100%);}
}
@-o-keyframes   99%,to {-o-transform: translate(-100%);}
}
@keyframes   99%,to {transform: translate(-100%);}
}