@charset "UTF-8";
/* --------------------------------------------------------------------------------------------- */
/*	 全体の設定
/* --------------------------------------------------------------------------------------------- */
.google-maps {
position: relative;
padding-bottom: 75%;
height: 0;
overflow: hidden;
}
.google-maps iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}
/* --------------------------------------------------------------------------------------------- */
/*	 タイトル
/* --------------------------------------------------------------------------------------------- */
#title {
	margin-top: -40px;
	box-sizing: border-box;
width: 100%;
padding: 100px 80px 60px 80px;
text-align: center;
	background: url("../img/page/t_s.jpg") no-repeat bottom;
	background-size: 110%;
}
#title h2 {
font-size: 150%;
letter-spacing: 1px;
font-weight: normal;
color: #FFF;
display: inline-block;
position: relative;
}
@media screen and (min-width: 768px) {
#title {
padding: 130px 80px 70px 80px;
	background-size: 100%;
}
#title h2 {
font-size: 180%;
}
}
@media screen and (min-width: 1024px) {
#title {
padding: 180px 80px 100px 80px;
	background: url("../img/page/t.jpg") no-repeat bottom;
	background-size: 100%;
}
#title h2 {
font-size: 250%;
}
#title h2 ::before {
  bottom: -20px;
width: 50px;
}
}
@media screen and (min-width: 1200px) {
#title {
padding: 210px 80px 130px 80px;
}
}
/* --------------------------------------------------------------------------------------------- */
/*	 テキストなど
/* --------------------------------------------------------------------------------------------- */
.tex,
.tex0 {
clear: both;
padding: 8% 0px;
line-height:1.8;
font-size:95%;
text-align: justify;
}
.tex img {
	border: 0;
max-width: 100%;
height: auto;
margin: 0 auto;
}
.tex a {
	text-decoration: underline;
	color: #09F;
	-webkit-filter: opacity(100%);
	filter: opacity(100%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.tex a:hover {
	text-decoration: underline;
	-webkit-filter: opacity(50%);
	filter: opacity(50%);
}
.tex img a {
	border: 0;
	-webkit-filter: opacity(100%);
	filter: opacity(100%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	text-decoration: none !important;
}
.tex a:hover img {
  text-decoration: none !important;
	-webkit-filter: opacity(50%);
	filter: opacity(50%);
}
.tex0 h5 {
	border-bottom: #000 1px solid;
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 5px 0px;
	color:#960;
	font-size:140%;
	font-weight:normal;
	text-align: center;
}
.tex0 h6 {
	margin: 0px 0px 10px 0px;
	padding: 10px;
	color: #630;
	font-size:140%;
	font-weight:normal;
}

img.aligncenter,
img.alignright,
img.alignleft,
img.alignnone {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4%;
clear:both;
}
.alignright {
  float: none;
}
.alignleft {
  float: none;
}

.left,
.right {
	margin: 0px;
}
.no,
.no_sp {
	display: none;
}
.edit {
	width:100%;
	font-size:80%;
}
.mb {
	margin-bottom: 15px;
}

.m {
	margin: 0px 0px 20px 0px;
	width: 100%;
	background: linear-gradient(to right, var(--sub01),var(--sub02));
	border-radius: 10px;
}
.m h4,
.m0 h4 {
	font-size:140%;
	line-height:1.4em;
	font-weight: normal;
	padding: 15px 20px;
	color: #FFF;
}
.m2 {
	margin: 0px 0px 20px 0px;
	width: 100%;
	border-bottom: 1px #009 solid;
	border-left: 1px #009 solid;
	box-sizing: border-box;
}
.m2 h5 {
	font-size:130%;
	line-height:1.4em;
	font-weight: normal;
	padding: 10px 0px 10px 20px;
	color:#009;
}
.m3 {
	margin: 0px 0px 20px 0px;
	width: 100%;
	border-bottom: 1px #4AA1D3 solid;
}
.m3 h5 {
	font-size:110%;
	line-height:1.4em;
	font-weight: normal;
	padding: 10px 0px 10px 0px;
	color:#4AA1D3;
}
.m4 {
	font-size: 120%;
	margin: 0 0 10px 0;
	display:inline-block;
}
hr {
	border-width: 1px 0px 0px 0px; /* 太さ */
	border-style: dotted; /* 線種 */
	border-color: #9CF; /* 線色 */
	height: 1px; /* 高さ */
    max-width: 100%;
clear:both;
margin: 8% 0px;
}

table {
	border-collapse: collapse;
	margin: 5px 0px 0px 0px;
	text-align: left;
line-height:1.5em;
word-break: break-all;
}
table tr {
	border-top: #9CF solid 1px;
}
table td {
	font-size: 90%;
	line-height: 170%;
	padding: 10px;
	border-bottom: 1px solid #9CF;
}
.sf_t {
	font-size: 80%;
}

@media screen and (min-width: 768px) {
.tex,
.info,
.tex0  {
padding: 40px 0px;
}
.tex2 {
padding: 40px 0px;
}
hr {
margin: 30px 0px 30px 0px;
}
.left {
	width:49%;
	float: left;
}
.right {
	width:49%;
	float: right;
}
.no_sp {
	display: block;
}
.no_s {
	display: none;
}
.m h4,
.m0 h4 {
	font-size:170%;
}
.m2 h5 {
	font-size:150%;
}
.m3 h5 {
	font-size:130%;
}	

img.centered {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
clear:none;
}
img.alignright {
    margin-left: 20px;
    margin-right: 0;
    margin-bottom: 20px;
    display: inline;
clear:none;
}
img.alignleft {
    margin-left: 0;
    margin-right: 20px;
    margin-bottom: 20px;
    display: inline;
clear:none;
}
img.alignnone {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 20px;
clear:none;
}
.alignright {
  float: right;
}
.alignleft {
  float: left;
}	
}
@media screen and (min-width: 1024px) {
table td {
	font-size: 100%;
	line-height: 170%;
	padding: 15px 20px;
}
.tex,
.info {
padding: 60px 0px;
width: 1024px;
margin: auto;
}
.tex2 {
padding: 60px 0px;
width: 1024px;
margin: auto;
}
.no {
	display: block;
}
.no_p {
	display: none;
}
}
@media screen and (min-width: 1200px) {
.tex,
.info {
padding: 60px 0px;
width: 1200px;
margin: auto;
}
.tex2 {
padding: 60px 0px;
width: 1200px;
margin: auto;
}
}

/* --------------------------------------------------------------------------------------------- */
/*	 アーカイブ
/* --------------------------------------------------------------------------------------------- */
.info_box {
	border-bottom: #000 dotted 1px;
	margin: 0px 0px 15px 0px;
	padding: 0px 0px 15px 0px;
	width: 100%;
}
.info_box2{
	border-bottom: #666 dotted 1px;
	margin: 0px 0px 15px 0px;
	padding: 0px 0px 15px 0px;
	width: 100%;
}
.i_box{
	float:left;
width: 75%;
}
.i_date{
	color: #444;
	margin: 0px 10px 0px 0px;
}
.i_text {
	margin: 0px 0px 0px 0px;
	font-weight: bold;
}
.i_m{
	color: #666;
	margin: 0px 10px 0px 0px;
	clear:both;
}
.i_text span {
	color: #333;
	font-weight: normal;
	font-size:80%;
}

.i_text a {
	color: #000;
	text-decoration: underline;
	font-weight: normal;
}
.i_text a:hover {
	color: #666;
	text-decoration: underline;
}
.i_date2{
	color: #666;
}
.i_title{
	color: #000;
	font-size: 150%;
	line-height: 170%;
	margin: 0px 0px 10px 0px;
	font-weight: normal;

}
.i_title a {
	color: #000;
	text-decoration: none;
	-webkit-filter: opacity(100%);
	filter: opacity(100%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.i_title a:hover {
	-webkit-filter: opacity(50%);
	filter: opacity(50%);
	text-decoration: none;
}
.p_title{
	color: #000;
	font-size: 150%;
	line-height: 170%;
	margin: 0px 0px 10px 0px;
	font-weight: normal;

}
.i_m2{
	color: #666;
	font-size: 110%;
	line-height: 170%;
	margin: 0px 0px 10px 0px;
	padding: 0px 0px 5px 0px;
	font-weight: normal;
	border-bottom: #000 dotted 1px;
}

.back{
	color: #888;
width: 100%;
	font-size: 90%;
	border-top: #666 dotted 1px;
	margin: 30px 0px 0px 0px;
	padding: 20px 0px 0px 0px;
	clear:both;
}
.back a {
	text-decoration: underline;
	color: #666;
}
.back a:visited {
	color: #666;
	text-decoration: underline;
}
.back a:hover {
	color: #999;
	text-decoration: underline;
}
@media screen and (min-width: 768px) {
.info li {
width: 23.5%;
float:left;
margin: 0 2% 0 0;
}
.info li:nth-of-type(4n) {
width: 23.5%;
margin: 0;
}

}
@media screen and (min-width: 1024px) {
.info_box {
	margin: 0px 0px 15px 0px;
	padding: 0px 0px 15px 0px;
}
.back{
width: 1024px;
}
.i_date,
.i_text{
	float: left;
}
.info_box img {
width: 70px;
height: 70px;
float: left;
padding: 1px;
margin: 0px 10px 0px 0px;
}
  }
@media screen and (min-width: 1200px) {
.back{
width: 1200px;
}
  }
/* --------------------------------------------------------------------------------------------- */
/*	 ボタン
/* --------------------------------------------------------------------------------------------- */

.btn {
	width: max-content;
	position: relative; /* 線の基準位置にする */
  display: flex;      /* 線とボタンを横並びにする */
  align-items: center; /* 縦方向の中央に揃える */
}
.btn a {
  color: #FFF;
	text-decoration: none;
  font-size: 14px;
  background:#0072FF;
  text-align: center;
  line-height: 38px;
  width: 100%;
  height: 40px;
  position: relative;
  z-index: 1;
  display: block;
  overflow: hidden;
  transition: .3s;
border-radius: 30px;
	display: flex; 
  align-items: center;
  overflow: hidden;
  position: relative;
}
.btn span {
  line-height: 50px;
	padding: 0 30px;
}
.btn a::after {
  content: "";
  width: 20px; 
  height: 1px;
  background: #FFF;
  display: block;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}
.btn a::before {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  right: -60px;
  z-index: -1;
  border-right: 60px solid transparent;
  border-bottom: 60px solid var(--sub01);
  transform: translateX(-100%);
  transition: transform ease .3s;
}

.btn a:hover {
  color: #FFF;
	text-decoration: none;
}
.btn a:hover::before {
  transform: translateX(0);
}