@charset "utf-8";
html { scroll-behavior: smooth; }
body { font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; }
body,p,div,img,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,th,td,br,hr { margin: 0; padding: 0; }
p,div { text-align: justify; text-justify: inter-ideograph; line-height: 1.8em; font-feature-settings: "palt"; }
ul,ol { list-style-type: none; }
img { border-style: none; vertical-align: bottom; }
a { cursor: pointer; outline: none 0; }

button { margin-bottom: 10px; }
.clear { clear: both; }

/*カラー
003399
ee3300
*/

a:link { text-decoration: none; color: #00608d; }
a:visited { text-decoration: none; color: #00608d; }
a:hover { text-decoration: none; color: #c82c55; }
a:active { text-decoration: none; color: #c82c55; }


h1 { color: #666; font-size: 75%; margin-top: 15px; margin-bottom: 10px; padding-right: 50px; line-height: 1.6em; }
h2 {
text-align: center;
padding-top: 15px;
padding-bottom: 8px;
font-size: 135%; 
color: #333;
border-bottom: solid 2px #000;
}
h3 {
padding: 15px 0 8px 0;
margin-bottom: 7px; 
font-size: 120%; 
  color: #6594e0;/*文字色*/
  /*線の種類（点線）2px 線色*/
  border-bottom: dashed 2px #6594e0;
}
h4 {
font-size: 100%;
line-height: 1.5em;
font-weight: bold;
margin-bottom: 12px; 
}




table {
  margin: 0px auto;
  border-collapse: separate;
  border-spacing: 0 10px;
}
.tbl-r02 th {
background: #bdffbd;
color: #666;
padding: 10px 1em;
text-align: center;
}
.tbl-r02 td {
padding: 10px 1em;
}
@media screen and (max-width: 640px) {
.last td:last-child {
width: 100%;
}
.tbl-r02 {
width: 100%;
}
.tbl-r02 th,
.tbl-r02 td {
border-bottom: none;
display: block;
width: 100%;
}
}

/*Googlemap*/
.ggmap {
max-width: 800px;
position: relative;
padding-bottom: 50%;
padding-top: 20px;
height: 0;
overflow: hidden;
margin: 20px auto;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}



.title1 { font-size: 90%; font-weight: normal; }
.title3 { font-size: 80%;}
.body1 { margin-bottom: 20px; }
.body2 { margin-bottom: 10px; }
.hiduke { border-bottom: dashed 1px #6594e0; margin-bottom: 5px; }
.hiduke2 { font-size: 115%; text-align: center; padding: 10px 0 5px 0; border-bottom: dashed 1px #6594e0; margin-bottom: 5px; }

div#header1 { background-color: #003399; padding: 7px 0; }
div#header1 { background-color: #ff60a2; padding: 7px 0; }
div#header1 { background-color: #ffbdbd; padding: 7px 0; }
.ngo { text-align: center; }
div#header2 { background-color: #ee3300; padding: 10px 0; }
div#header2 { background-color: #fcc79b; padding: 10px 0; }
div#header2 { background-color: #bcffff; padding: 10px 0; }
.logomark { text-align: center; width: 40%; margin: 20px auto; }

.my-button {
color: #666;
background-color: #bdffbd;
border: solid 1px #bdffbd; 
}


@media screen and (min-width: 768px) {
img.logo1 { max-width: 320px; }
img.logo2 { max-width: 400px; }
.logomark { text-align: center; width: 20%; margin: 20px auto; }
}


@media screen and (min-width:641px) {
table.cal { width: 640px; }
table.cal th{ width: 9em;; white-space: nowrap; }
}

table.number td { text-align: center; }
table.number th { text-align: center; }

/*規約*/
.title2 {}
.jo { padding-left: 3.5em; text-indent:-3.5em; }
.jo2 { padding-left: 4em; text-indent:-4em; }
.kou { padding-left: 4em; text-indent:-3em; }
.kou2 { padding-left: 2em; text-indent:-1.5em; }



div#footer { background-color: #ffbdbd; }
.copyright { color: #fff; text-align: center; font-size: 80%; padding: 10px 0;}


/*吹き出し*/
.balloon2-right {
  position: relative;
  display: inline-block;
  margin: 0em 15px 1em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #555;
  box-sizing: border-box;
}

.balloon2-right:before {
  content: "";
  position: absolute;
  top: 50%;
  right: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-left: 12px solid #FFF;
  z-index: 2;
}

.balloon2-right:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-left: 14px solid #555;
  z-index: 1;
}

.balloon2-right p {
  margin: 0;
  padding: 0;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 2px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #555;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba(0,0,0,0.7);
  text-align: center;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
  pointer-events: none;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 0.75em 0;
  text-decoration :none;
}

.nav-item {
margin: 0 5px;
padding: 0 !important;
border-bottom: 1px solid #00608d;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
opacity: 100;
pointer-events: auto;
}


/*ページトップスクロール*/
#top_scroll{ 
    position: relative; 
    z-index: 100; 
    margin: 0; 
    padding: 0; 
}
#page-top1{
    display: block;
    position: fixed;
    z-index: 9999;
    bottom: -250px;
    right: 10px;
    width: 70px;
    height: 70px;
    padding: 0;
    color: #222;
    text-align: center;
    text-decoration: none;
    transition: 1s;
        -webkit-transition: 1s;
}
#page-top1:hover{ 
    background: ;
    transform: translateY(-10px);
}
#top_scroll:hover{
    background: #fff;
}



.under20 { margin-bottom: 20px; }