@charset "UTF-8";

.ruby_flag .img-hyouji,
.img-ruby {
	display: none;
}

.img-hyouji,
.ruby_flag .img-ruby {
	display: block;
}

#map_canvas {
	width: 100%;
	height: 300px;
	margin-top: 10px;
}

.map-accessible-info {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#title p {
	color: #000;
	background-color: transparent;
}

body>section {
	padding: 10px 0px 0px 0px;
}

h2,
.h2,
h3,
.h3 {
	padding-top: 10px;
	font-size: 1.4em;
}

#accept h5,
.h4 {
	padding-top: 10px;
	font-size: 1.2em;
}

caption {
	display: none;
}

header .btn {
	font-size: 1.4em;
}

table,
table th,
table td {
	max-width: 100%;
	color: #000;
	background-color: transparent;
	font-size: 1.2em;
	vertical-align: baseline;
}

table th,
table td {
	border-width: 0px;
	border-style: solid;
	border-color: #222222;
}

h3 {
	padding: 7px 0 7px 20px;
	border-radius: 4px;
	font-size: 1.8em;
}

#honnin,
#kazoku,
#ikou,
#contact,
#program {
	padding-top: 150px;
	margin-top: -150px;
}

.insta_btn {
	display: inline-block;
	text-align: center;
	color: #fff;
	font-size: 1.4em;
	line-height: 40px;
	text-decoration: none;
}

.insta_btn:hover {
	color: #0f0;
	transition: .5s;
}

.insta_btn .insta {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 40px;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	overflow: hidden;
	border-radius: 13px;
	margin-top: 10px;
}

#sns-bottom ul li {
	list-style-type: none;
	margin-top: 10px;
}

#toppage h2 {
	font-size: 1.8em;
	margin-bottom: 0.5em;
	padding: 0.2em;
	font-weight: bold;
	text-align: center;
}

#toppage h2 span {
	background: linear-gradient(transparent 60%, rgb(39, 123, 179) 60%);
	border-radius: 80% 50% 60% 5%/80% 75% 15% 75%;
}

#toppage h4,
#schedule h3 {
	position: relative;
	padding: 0;
	width: 100%;
	font-size: 1.6em;
	margin-bottom: 1.5em;
	border-bottom: 5px solid rgb(39, 123, 179);
	color: #353535;
	background-color: transparent;
	font-weight: bold;
	text-align: center;
}

#toppage h4::before,
#toppage h4::after,
#schedule h3::before,
#schedule h3::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	height: 0;
	width: 0;
}

#toppage h4::before,
#schedule h3::before {
	border: 16px solid;
	border-color: transparent;
	border-top-color: rgb(39, 123, 179);
	margin-left: -16px;
}

#toppage h4::after,
#schedule h3::after {
	border: 10px solid;
	border-color: transparent;
	border-top-color: #fff;
	margin-left: -10px;
}

#toppage ul,
#support ul,
#program ul {
	padding: 0;
	list-style-type: none;
	font-size: 1.4em;
}

#toppage ul.open li,
#support ul li{
	position: relative;
	padding: 0.5em 1em 0.5em 2.3em;
	margin-bottom: 5px;
	border-bottom: 1px solid rgba(25, 118, 210, 1);
}

#toppage ul.open li::after,
#toppage ul.open li::before,
#support ul li::after,
#support ul li::before{
	position: absolute;
	content: '';
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#toppage ul.open li::before,
#support ul li::before{
	left: 0;
	width: 17px;
	height: 17px;
	background-color: #1976d2;
}

#toppage ul li::after,
#support ul li::after {
	top: 1em;
	left: 0.5em;
	width: 14px;
	height: 14px;
	background-color: #93c9ff;
}

#topage img,
#support img,
#schedule img {
	margin: 10px auto;
}

#accept ul {
	padding: 0;
	list-style-type: none;
	font-size: 1.8em;
}

#accept ul li {
	position: relative;
	padding: 0.5em 1em 0.5em 2.3em;
	margin-bottom: 5px;
	border-bottom: 1px solid rgba(25, 118, 210, 1);
}

#accept ul li::after,
#accept ul li::before {
	position: absolute;
	content: '';
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#accept ul li::before {
	left: 0;
	width: 25px;
	height: 25px;
	background-color: #1976d2;
}

#accept ul li::after {
	top: 1em;
	left: 0.5em;
	width: 20px;
	height: 20px;
	background-color: #93c9ff;
}

#toppage ul.open li span {
	position: absolute;
	right: 0;
	bottom: 10px;
}

#toppage ul.star li {
	position: relative;
	padding-left: 2em;
}

#toppage ul.star li::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f005" / "";
	position: absolute;
	left: 0.5em;
}

#toppage ul.circle li,
#program ul li {
	position: relative;
	padding-left: 2em;
}

#toppage ul.circle li::before,
#program ul li::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f111" / "";
	position: absolute;
	font-size: 	0.8em;
	top: 0.25em;
	left: 0.5em;
}

#toppage a,
#program ul li a {
	color: #0000ff;
	background-color: transparent;
}

#honnin ol {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: number;
	font-size: 1.4em;
}

#honnin ol li {
	position: relative;
	line-height: 1.5em;
	padding: 0.7em 0.5em 0.5em 2.5em;
}

#honnin ol li::before {
	position: absolute;
	counter-increment: number;
	content: counter(number) / "";
	color: #000;
	background-color: transparent;
	border: 2px solid #000;
	border-radius: 40px;
	top: 1.35em;
	left: 0.5em;
	width: 25px;
	height: 25px;
	line-height: 20px;
	text-align: center;
	transform: translateY(-50%);
}

#schedule dl {
	font-size: 1.4em;
	clear: both;
	margin-bottom: 1em;
	position: relative;
}

#schedule dd {
  border-top: 1px solid #000;
  left: 0em;
}

#schedule dt {
	float: left;
	line-height: 1.8;
	padding-left: .5em;
}

#schedule dd {
	padding-left: 10em;
	line-height: 1.8;
	position: relative;
}

#schedule dd:last-child::after {
	content: "";
	position: absolute;
	width: calc(100%);
	border-top: 1px solid #000;
	margin-top: 2em;
	left: 0em;
}

#accept h4 {
  position: relative;
	font-size: 1.4em;
	line-height: 1.8;
  margin-top: 2em;
  padding: 0.5em;
  color: #000;
  border-radius: 0 10px 10px 10px;
  background-color: #d8ecf5;
	margin-bottom: 60px;
}
 
#accept h4::before {
  position: absolute;
  top: -40px;
  left: 0;
  height: 40px;
  padding: 0.5em 1em;
  font: var(--fa-font-solid);
  content: '\f0a4  POINT'attr(data-number) / "";
  font-size: 1em;
  color: #fff;
  border-radius: 10px 10px 0 0;
  background-color: #0075a9;	
}

#accept h5 {
  position: relative;
  display: inline-block;
	font-size: 1.4em;
  padding: 0.5em 1em 0.5em 1.5em;
  color: #fff;
  border-radius: 100vh 0 0 100vh;
  background-color: #0075a9;
}

#accept h5::before {
	content: '';
  position: absolute;
  top: calc(50% - 7px);
  left: 10px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #fff;	
}
 
.ruby_flag {
	ul.breadcrumb>li.active,
	#toppage ul li,
	#support ul li,
	#program ul li,
	#honin ol li {
		line-height: 1.8;
	}

	#schedule dt,
	#schedule dd {
    padding-top: 0.5em;
    line-height: 2;
  }

	#accept h5 {
		padding-bottom: 0.25em;
	}

	#accept ul li ruby[data-ruby]::before{
    bottom: 85%;
  }

}

/* PC	*/
@media screen and (min-width: 1200px) {
	.navbar-inverse .navbar-brand img {
		width: 45%;
		height: auto;
	}

	#title,
	#topimage {
		margin-top: 57px;
	}

	.title-brand img {
		margin-top: 0px;
	}

	#bottom h4 {
		text-transform: uppercase;
	}

	#bottom h4 {
		font-size: 1.4em;
		margin-bottom: 1.2em;
	}

	.small-text {
		font-size: 0.6em;
	}

	#topimage {
		height: 250px;
		color: #000;
		/*  		
		background-image: url(../images/top-logo.png),url(../jpeg/0102.jpg);
		background-repeat: no-repeat;
		background-size: auto 250px;
		background-position: 5% 0%,95% 0%;	
		background-image: url(../jpeg/1838.jpg),url(../jpeg/1839.jpg),url(../jpeg/1840.jpg);
		background-repeat: no-repeat;
		background-size: 30%;
		background-position: 5% 0%,50% 0%,95% 0%;	
*/
		background-color: rgb(211, 228, 239);
	}

	#toppage ul.star li {
		margin-left: 30%;
	}

	#sns-bottom ul {
		position: relative;
		display: block;
		width: 50px;
		height: 95px;
		text-decoration: none;
	}

	#sns-bottom {
		position: fixed;
		width: 50px;
		height: 150px;
		left: -4%;
		bottom: 5%;
	}

	#honnin ol {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		padding: 0 20%;	
	}
}

/* TB */
@media screen and (min-width: 768px) and (max-width: 1200px) {
	.navbar-header {
		float: none;
		height: 150px;
	}

	.navbar-inverse .navbar-brand img {
		max-width: 40%;
		height: auto;
		margin-top: 0px;
	}

	#title,
	#topimage {
		margin-top: 70px;
	}

	#topimage {
		height: 150px;
		color: #000;
		/* 
		background-image: url(../images/top-logo.png),url(../jpeg/0102.jpg);
		background-repeat: no-repeat;
		background-size: 280px auto,40%;
		background-position: 25% 50%,95% 50%;	
		background-image: url(../jpeg/1838.jpg),url(../jpeg/1839.jpg),url(../jpeg/1840.jpg);
		background-repeat: no-repeat;
		background-size: 30%;
		background-position: 5% 0%,50% 0%,95% 0%;
		*/
		background-color: rgb(211, 228, 239);
	}

	.navbar-toggle {
		position: absolute;
		top: 106px;
		left: 10%;
	}

	.navbar #menu-button {
		position: absolute;
		top: 120px;
		left: 50%;
		font-size: 1em;
		line-height: 1;
		text-align: right;
	}

	.navbar .tel {
		position: absolute;
		top: 20px;
		left: 75%;
		font-size: 1em;
		line-height: 1;
	}

	#sns-bottom ul {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}

	#sns-bottom ul li {
		margin-right: 15%;
	}

	#honnin ol {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		padding: 0 20%;	
	}

	#honnin ol li {
		margin: 0.5em;
	}
}

/*	SP  */
@media screen and (max-width: 767px) {
	.navbar-header {
		float: none;
		height: 124px;
	}

	.navbar-inverse .navbar-brand img {
		max-width: 80%;
		height: auto;
		margin-top: 10px;
	}

	#title,
	#topimage {
		margin-top: 44px;
	}

	#topimage {
		height: 150px;
		color: #000;	
		/*
		background-image: url(../images/top-logo.png),url(../jpeg/0102.jpg);
		background-repeat: no-repeat;
		background-size: 50%,40%;
		background-position: 5% 50%,95% 50%;
		background-image: url(../jpeg/1840.jpg);
		background-repeat: no-repeat;
		background-size: 100%;
		background-size: 30%;
		background-position: 5% 0%,50% 0%,95% 0%;
		
		,url(../jpeg/1839.jpg),url(../jpeg/1840.jpg);
		*/
		background-color: rgb(211, 228, 239);
	}

	.navbar-toggle {
		position: absolute;
		top: 80px;
		left: 5px;
	}

	.navbar #menu-button {
		position: absolute;
		top: 95px;
		left: 30%;
		font-size: 1em;
		line-height: 1;
		text-align: right;
	}

	.navbar .tel {
		position: absolute;
		top: 90px;
		left: 60%;
		font-size: 1em;
		line-height: 1;
	}

	#sns-bottom ul {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}

	#sns-bottom ul li {
		margin-right: 15%;
	}
	
  #schedule dt {
    width: 100%;
    line-height: 2.5;
		text-align: center;
    border-bottom : 1px dotted #000;
  }

  #schedule dd {
    width: 100%;
		padding-left: 0em;
    line-height: 2;
    border-bottom : 1px solid #000;
    left: 0em;
    bottom: 0em;
  }

	.ruby_flag {
		#schedule dd {
			padding-top: 3em;
		}
	}
}