@charset "utf-8";

img {  
	border: 0;
}  

.clear {clear: both;}
.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}
.clearfix {min-height: 1px;}


/* bugfix */
.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

html {
    font-size: 100%;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* footer_in */
p.kakenhi {
	font-size: .75em;
	text-align: right;
}
/* VR360 */
#VR360 {
	text-align: center;
}
#VR360 .display {
	background: #dcdcdc;
	width: 600px;
	height: 400px;
	text-align: center;
	margin: 0 auto;
}
img.svg-icon {
	width: 24px;
	height: 24px;
	vertical-align: top;
}
/* contents */
h3 {
    border-bottom: 2px solid #718700;
    padding: 0 0 0.5em 0;
    font-size: 1.6em;
    font-weight: 600;
    text-align: center; 
    margin-bottom: 2em;
    margin-top: 1em;
}
h3.minor {
  border-left: 8px solid #718700;
  border-bottom: 1px solid #718700;
  padding: 0 0 2px 5px;
  font-size: 1.2em;
  line-height: 1.6;
  text-align: left;
  }
h4 {
  font-size: 1.2em;
  font-weight: 600;
  border: solid 1px #718700;
  padding: 3px 1.5em;
  background: #e0ee94;
}
h5 {
  font-size: 1.2em;
  font-weight: 600;
  color: #df2f00;
}
.small {
  font-size: 0.8em;
}
.data {
  text-align: right;
}
#contents {
  width: 900px;
  margin: 15px auto 0;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 95%;
  line-height: 1.4;
}
#contents p {
  margin: 0 0 1em 0;
  text-indent: 1em;
  letter-spacing: 0.02em;
    line-height: 1.7;
}
p#lead {
  margin: 2rem 0 1em 0;
  text-indent: 1em;
  letter-spacing: 0.1em;
}
ul {
  margin-top: 1.5em;
}
ul li {
  list-style-type: none;
  margin: 0 0 10px 0;
}
#contents ul.patronage p {
  margin: 0;
  text-indent: 0;
}
.yoyaku ul li {
  list-style-type: disc;
  margin: 0 0 10px 0;
}
.personalinfo li {
  list-style-type: decimal !important;
  margin: 0 0 7px 0;
}
.personalinfo li.no-style,
.yoyaku ul li.no-style {
	list-style-type: none;
}
.btn_link a {
  display: block;
  width: 15em;
	margin: 1em auto;
	border: solid 1px #718700;
	border-radius: 10px;
  background-color: #e0ee94;
	padding: 10px 15px;
	text-align: center;
	color: #718700;
	text-decoration: none;
	font-weight: 600;
}
.btn_link a:hover {
	background-color: #95b009;
	color: #fff;
	text-decoration: underline;
	transition : .6s;
}

ul li a {
    color: #0480a1;
    font-weight: 600;
    text-decoration: underline;
}

ul li a:hover {
    color: #0480a1;
    font-weight: 600;
    text-decoration: underline;
    background-color: #F7E653;
}

#book a {
    color: #0480a1;
    font-weight: 600;
    text-decoration: underline;
}

#book a:hover {
    color: #0480a1;
    font-weight: 600;
    text-decoration: underline;
    background-color: #F7E653;
}

.photo_left {
  width: 400px;
  margin: 0 10px 5px 0;
  float: left;
}
.sub_title {
  /* border-bottom: 3px solid #ccc;*/
  display: block;
  margin-bottom: 0.5em;
  position: relative;
}
#data {
  position: relative;
}
#data span {
  position: absolute;
  right: 15px;
  top: 0;
  font-size: .9em;
}
/* table */
#contents table {
	border-collapse: collapse;
	font-size: 90%;
	width: 95%;
	margin: 1em auto;
	border-top: solid 1px #777;
	border-left: solid 1px #777;
}
#contents th,
#contents td {
	padding: 5px;
	border-bottom: solid 1px #777;
	border-right: solid 1px #777;
	font-weight: 300;
}
#contents th {
	/*width: 8%;*/
    text-align: left;

}
#contents th.kikaku {
	background: #f1d6e3;
}
#contents th.tokuten {
	background: #cde9f7;
}
#contents thead th,
#contents thead td {
	background: #333;
	font-weight: 600;
	text-align: center;
	color: #fff;
}

div .ouchi {
    border: 1px solid #cccccc;
    border-radius: 4px;
    text-align: center;
    width: 80%;
    margin: 15px auto;
    padding: 2% 2%;
}

.extra_box {
    border-style: solid;
    border-color: #b2aba0;
    border-width: 5px 1px 1px 1px;
    padding: 10px;
    background: #f4f2ef;
}

#contents .ouchi .txt {
    text-align: left;
}

.title {
    font-size: 1.1em;
    font-weight: 600;
}
.text_center {
    text-align: center;
}

.center {
    margin: 0 auto;
}

/**/
.indent {
	padding-left: 5em;
}

#contents th.subtitle {
	background: #ddd;
}
.address {
	border: #ccc 1px solid;
	padding: 10px;
}
.mt1re{
    margin-top: 1em;
}
.mt2re{
    margin-top: 2em;
}
.mb1re{
    margin-bottom: 1em;
}
.mb2re{
    margin-bottom: 2em;
}
.red{
    color: #d00;
}

.notice {
    padding: 1em;
    border: 1px #eee solid;
    margin: 2em auto 2em;
    text-align: center;
}
.notice span {
    display: inline-block;
    color: #777;
    font-size: 0.8em;
    text-align: left;
    margin: 0 auto;
}

.notice_red {
    padding: 1em;
    border: 1px #FFCCCC solid;
    margin: 3em auto 0em;
    text-align: center;
}
.notice_red span {
    display: inline-block;
    color: #C00000;
    font-size: 0.9em;
    text-align: left;
    margin: 0 auto;
}


@media only screen and (max-width: 769px) {
	#contents {
		width: 92%;
		margin: 0 auto;
	}
	h3 {
	padding: 5px 0 5px 10px;
	font-size: 1.2em;
	}
	p#data {
	  padding-right: 10px;
	  text-align: left;
	}
	ul li {
	  list-style-type: disc;
	  margin: 0 0.8em 10px -1em;
	}
	.yoyaku ul li {
	  list-style-type: disc;
	  margin: 0 0.8em 10px -1em;
	}
	.yoyaku_btn {
	  font-size: 1.2em;
	  padding: 0.5em 1em;
	}
    .yoyakumae_btn {
	  font-size: 1.2em;
	  padding: 0.5em 1em;
	}
	.modoru_btn {
	  font-size: 1.2em;
	  padding: 0.5em 0.5em;
	}
.notice span {
    display: inline-block;
    color: #999;
    font-size: 0.8em;
    text-align: left;
    margin: 0 auto;
}
	
.notice_red span {
    display: inline-block;
    color: #C00000;
    font-size: 0.9em;
    text-align: left;
    margin: 0 auto;
}

}
@media only screen and (min-width: 769px) {
/* contents */
h3 {
	width: 960px;
}

#contents {
	width: 960px;
	margin: 15px auto 0;
}

.photo_left {
	width: 400px;
	margin: 0 10px 5px 0;
	float: left;
}

#contents p.cap {
	font-size: 90%;
	line-height: 1.25;
	text-indent: 0;
	margin-top: 5px;
}
.sub_title {
 /* border-bottom: 3px solid #ccc;*/
	display: block;
	margin-bottom: 0.5em;
	position: relative;
}
#data {
	position: relative;
}
#data span {
	position: absolute;
	right: 15px;
	top: 0;
	font-size: .9em;
}
/* table */
table .norap {
	white-space: nowrap;
}

.border_b {
    border-bottom: solid 1px #ccc;
}

}
