@charset "UTF-8";

/* 共通　*/
img {
  margin-left: auto;
  margin-right: auto;
}

#title {
  padding-top: 20px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
}

.fb-page {
  width: 100%
}

#map_canvas {
  width: 100%;
  height: 300px;
}

#news a,
#news li a,
#etc a,
#kana-riyou a,
#access a {
  color: #0000ff;
  background-color: transparent;
}

#news a:hover,
#news li a:hover,
#etc a:hover,
#kana-riyou a:hover,
#access a:hover {
  color: #ff0000;
  background-color: transparent;
}

h3.section-heading {
  padding-top: 7px;
  padding-bottom: 7px;
  border-top-left-radius: 4px 4px;
  border-top-right-radius: 4px 4px;
  border-bottom-right-radius: 4px 4px;
  border-bottom-left-radius: 4px 4px;
  font-size: 1.8em;
}

h3.section-heading span {
  margin-left: 20px;
}

#riyou dl,
#kana-riyou dl,
#ayumi dl {
  font-size: 1.4em;
  clear: both;
  margin-bottom: 1em;
  position: relative;
}

#ayumi dd,
#riyou dd,
#kana-riyou dd {
  border-top: 1px solid #000000;
  left: 0em;
}

#news h4,
#riyou h4,
#etc h4,
#kana-riyou h4,
#access h4 {
  position: relative;
  text-align: center;
}

#kyuujin h4 {
  position: relative;
  padding-left: 0.5em;
}

#news h4::after,
#riyou h4::after,
#etc h4::after,
#kana-riyou h4::after,
#kyuujin h4::after,
#access h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 7px;
  color: #000;
  background: repeating-linear-gradient(-45deg, #165c26, #165c26 2px, #fff 2px, #fff 4px);
}

.ruby_flag {
  #riyou h4,
  #kana-riyou h4 {
    line-height: 1.2;
  }

  #riyou h4 ruby[data-ruby]::before,
  #kana-riyou h4 ruby[data-ruby]::before {
    bottom: 100%;
  }
  
  #kana-riyou h4.kana {
    padding-top: 31px;
  }

  #kana-riyou h5 span {
    padding: 0.5em 0.5em 0 0.5em;
  }

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

#kyuujin ol  {			
	list-style: none;
	position: relative;
	margin: 0;
	padding: 0;
}
 
#news ul li,
#riyou ul li,
#event ul li,
#kana-riyou ul li,
#kana-riyou ol li,
#info ol li,
#kyuujin ul li,
#kyuujin ol li {
  font-size: 1.4em;
}

#kyuujin li span.harf {
  margin-left: 0.5em;
}

#yurai h4 {
  position: relative;
  font-size: 1.4em;
  margin-top: 50px;
  padding: 1em 0.5em;
  text-align: center;
  border: 2px solid #000;
  background-color: #fff;
}

#yurai h4::before,
#yurai h4::after {
  position: absolute;
  content: '';
}

#yurai h4::before {
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 80px;
  border: 2px solid #000;
  border-radius: 50%;
  background-color: #fff;
}

#yurai h4::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}

#yurai h4 p {
  position: relative;
  z-index: 1;
  font-size: 1em;
}

#yurai h4 i {
  font-size: 1.2em;
  line-height: 30px;
  position: absolute;
  z-index: 1;
  top: -30px;
  left: calc(50% - 40px);
  width: 80px;
  height: 30%;
  text-align: center;
}

#kanade ul,
#kanade ol,
#kana-riyou ul,
#kana-riyou ol {
  position: relative;
  margin: 0;
  padding: 0;
}

#kanade ul li {
  list-style: none;
  list-style-position: outside;
  margin-bottom: 1em;
  text-indent: -1.5em;
  padding-left: 1.75em;
  font-size: 1.4em;
}

#yurai h4 span,
#kanade ul li span {
  font-weight: bold;
}

#kanade ol li,
#kana-riyou ul li,
#kana-riyou ol li {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.75em;
  font-size: 1.4em;
}

#kana-riyou ul li {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.75em;
  font-size: 1.4em;
}

#kana-riyou ul.white li {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.75em;
  font-size: 1em;
}

#kanade ol li span,
#kana-riyou ol li span {
  position: absolute;
  left: 0;
  margin: 0;
}

#kana-riyou h5 {
  position: relative;
  padding-left: 3em;
}

#kana-riyou h5 span {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.5em;
  color: #e3f5d8;
  background-color: #22ac38;
}

#kana-riyou h5 span:after {
  position: absolute;
  top: calc(50% - 7px);
  right: -11px;
  width: 0;
  height: 0;
  content: '';
  border-width: 7px 0 7px 12px;
  border-style: solid;
  border-color: transparent transparent transparent #22ac38;
}

#kana-riyou h6 {
  position: relative;
  padding: 0.25em 1em;
  border: solid 3px #22ac38;
  border-radius: 3px 0 3px 0;
  font-weight: bold;
  text-align: center;
}

#kana-riyou h6::before,
#kana-riyou h6::after {
  content: '';
  position: absolute;
  width: 15px;
  height: 15px;
  border: solid 4px #22ac38;
  border-radius: 50%;
}

#kana-riyou h6::after {
  top: -8px;
  left: -7px;
}

#kana-riyou h6::before {
  bottom: -8px;
  right: -7px;
}

#nagare h5 {
  position: relative;
  color: #158b2b;
  background-color: transparent;
  font-size: 1.8em;
  padding: 25px 0;
  text-align: center;
  margin: 1.5em 0;
}

#nagare h5::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  width: 150px;
  height: 85px;
  border-radius: 50%;
  border: solid 5px #165c26;
  border-left-color: transparent;
  border-right-color: transparent;
  transform: translateX(-50%);
}

#nagare h5.hol {
  position: relative;
  color: #ff8000;
  background-color: transparent;
  font-size: 1.8em;
  padding: 25px 0;
  text-align: center;
  margin: 1.5em 0;
}

#nagare h5.hol::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  width: 150px;
  height: 85px;
  border-radius: 50%;
  border: solid 5px #ff8000;
  border-left-color: transparent;
  border-right-color: transparent;
  transform: translateX(-50%);
}

#kanade ul li::before {
  font: var(--fa-font-brands);
  content: "\f3b5";
  font-size: 1em;
  margin-right: 1em;
}

#kana-riyou ul {
  list-style-type: none;
}

#kana-riyou ul li::before {
  font: var(--fa-font-solid);
  content: "\f006";
  font-size: 1em;
}

#kana-riyou ul.white li::before {
  font: var(--fa-font-regular);
  content: "\f005";
  font-size: 1em;
}

p.eigyou ruby[data-ruby]::before {
  right: -2.5em;
}

.ruby_flag {
  #kana-riyou h4 {
    margin-bottom: 0.75em;
  }
}

/* PC	*/
@media screen and (min-width: 1200px) {
	.btn {
		font-size: 1.4em;
	}

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

  #rinen,
  #riyou,
  #event,
  #etc,
  #yurai,
  #kanade,
  #kana-riyou {
    margin-top: -150px;
    padding-top: 150px;
  }

  #bottom h2 {
    font-size: 1.4em;
  }

  .navbar-inverse .navbar-brand {
    margin-right: 530px;
  }

  #topimage {
    height: 250px;
    color: #000000;
    background-image: url('../images/top-image.png');
    background-repeat: no-repeat;
    background-size: 30%;
    background-position: 15% 50%;
    background-color: #cbdace;
  }

  #topimage p {
    font-size: 5em;
    padding-top: 75px;
    margin-left: 55%;
  }

  #riyou dt,
  #kana-riyou dt,
  #ayumi dt {
    float: left;
    line-height: 1.8;
    padding-left: .5em;
  }

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

  #ayumi dd {
    padding-left: 15em;
    line-height: 1.8;
    position: relative;
  }

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

  #kana-riyou ul li {
    list-style: none;
    list-style-position: outside;
    margin: 0;
    padding-left: 1.25em;
    text-indent: -1.25em;
  }

  #kana-riyou ul.white li {
    list-style: none;
    list-style-position: outside;
    margin-left: 0px;
    text-indent: -1em;
    padding-left: 1em;
  }

  p.eigyou {
    margin-left: 5em;
    letter-spacing: 0.75em;
  }

}

/* TB	*/
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #rinen,
  #riyou,
  #event,
  #etc,
  #yurai,
  #kanade,
  #kana-riyou {
    margin-top: -150px;
    padding-top: 150px;
  }

  #title {
    margin-top: 69px;
  }

  #title h2 {
    font-size: 2.4em;
  }

  .navbar-toggle {
    margin-top: 0;
  }

  .navbar-inverse .navbar-brand img {
    max-width: 100%;
  }

  #bottom h2 {
    font-size: 1.4em;
  }

  #topimage {
    height: 250px;
    color: #000000;
    background-image: url('../images/top-image.png');
    background-repeat: no-repeat;
    background-size: 35%;
    background-position: 15% 50%;
    background-color: #cbdace;
  }

  #topimage p {
    font-size: 3em;
    padding-top: 75px;
    margin-left: 55%;
  }

  #riyou dd,
  #kana-riyou dd {
    padding-left: 8em;
    line-height: 1.8;
    position: relative;
  }

  #riyou dt,
  #kana-riyou dt,
  #ayumi dt {
    float: left;
    line-height: 1.8;
    padding-left: .5em;
  }

  #riyou dd,
  #ayumi dd {
    padding-left: 15em;
    line-height: 1.8;
    position: relative;
  }

  #kana-riyou dd {
    padding-left: 6em;
    line-height: 1.8;
    position: relative;
  }

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

  #kana-riyou ul li {
    list-style: none;
    list-style-position: outside;
    margin-left: 22px;
    padding-left: 1.25em;
    text-indent: -1.25em;
  }

  #kana-riyou ul.white li {
    list-style: none;
    list-style-position: outside;
    margin-left: 0px;
    text-indent: -1em;
    padding-left: 1em;
  }

  p.eigyou {
    margin-left: 5em;
    letter-spacing: 0.5em;
  }

  p.eigyou rt {
    letter-spacing: 0;
  }
}

/*  SP	*/
@media screen and (max-width: 767px) {
  #rinen,
  #riyou,
  #event,
  #etc,
  #yurai,
  #kanade,
  #kana-riyou {
    margin-top: -190px;
    padding-top: 190px;
  }

  h3.section-heading.small-sp {
    font-size: 1.4em;
  }

	#kyuujin h4 {
    font-size: 1.6em;
	}

  .navbar-toggle {
    margin-top: 0;
  }

  .navbar-inverse .navbar-brand img {
    max-width: 100%;
  }

  .navbar .tel {
    margin-top: 100px;
    margin-bottom: 0;
  }

  .navbar #menu-button {
    top: 110px;
    left: 20%;
    font-size: 1em;
  }

  .navbar-toggle {
    margin-top: -40px;
  }

  #bottom h2 {
    font-size: 1.8em;
  }

  #topimage {
    height: 150px;
    color: #000000;
    background-image: url('../images/top-image.png');
    background-repeat: no-repeat;
    background-size: 35%;
    background-position: 15% 80%;
    background-color: #cbdace;
  }

  #topimage p {
    font-size: 2.5em;
    padding-top: 75px;
    margin-left: 55%;
  }

  #riyou dl,
  #kana-riyou dl {
    font-size: 1.2em;
  }

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

  #riyou dd {
    padding-left: 9.5em;
    line-height: 1.8;
    position: relative;
  }

  #kana-riyou dd {
    padding-left: 6em;
    line-height: 1.8;
    position: relative;
  }
  
  #ayumi dt:first-child {
    border-top: 1px solid #000000;
  }

  #ayumi dt {
    width: 100%;
    line-height: 2.5;
    padding-left: .5em;
    border-bottom : 1px dotted #000000;
  }

  #ayumi dd {
    border-bottom : 1px solid #000000;
    left: 0em;
    bottom: 0em;
  }
  
  #ayumi dd::before {
    margin-top: -15px;
  }

  #ayumi dd {
    width: 100%;
    line-height: 2;
  }

  #riyou dd:last-child::after,
  #kana-riyou dd:last-child::after,
  #ayumi dd:last-child::after {
    content: "";
    position: absolute;
    width: calc(100%);
    border-top: 1px solid #000000;
    margin-top: 2.5em;
    left: 0em;
    bottom: 0;
  }

  .ruby_flag #ayumi dd {
    width: 100%;
    line-height: 2.2;
  }

  #kana-riyou ul li {
    list-style: none;
    list-style-position: outside;
    margin-left: 22px;
    text-indent: -1em;
    padding-left: 1em;
  }

  #kana-riyou ul.white li {
    list-style: none;
    list-style-position: outside;
    margin-left: 0px;
    text-indent: -1em;
    padding-left: 1em;
  }

  p.eigyou {
    margin-left: 5em;
    letter-spacing: 0.75em;
  }

  p span.sp-small {
    font-size: 0.8em;
  }
}