@charset "utf-8";
html {font-size: 62.5%}
body {
background-color: #FFFFFF;
min-width: 1080px;
font-size: 1.6rem;
font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
-webkit-text-size-adjust: 100%;
animation: fadeIn 2s ease 0s 1 normal;
-webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
 0% {opacity: 0}
 100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
 0% {opacity: 0}
 100% {opacity: 1}
}
select,input,button,textarea,button {font:99%;}
table {font-size:inherit;font:100%;}
pre,code,kbd,samp,tt {
font-family:monospace;
*font-size:108%;
line-height:100%;
}
a:link {
color: #000000;
transition: .3s;
}
a:visited {
color: #000000;
text-decoration: none;
}
a:hover {
color: #0099CC;
text-decoration: underline;
}
a:active {
color: #999999;
text-decoration: none;
}
@media (any-hover: hover) {
  a.btn img {
    transition: 0.3s ease-in-out;
    opacity: 1;
  }
  a.btn:hover img {
    opacity: .4;
  }
}

a {
outline: none;
}
::selection {
background: #000000;
color: #FFFFFF;
}
::-moz-selection {
background:#000000;
color:#FFFFFF;
}
::-webkit-selection {
background:#000000;
color:#FFFFFF;
}
strong {
font-weight: bold;
}
.pc {
display: inherit!important;
}
.sp {
display: none!important;
}
#wrapper {
overflow: hidden
}
#panel-btn{
  display: none;
}
/*--HEADER-------------*/
header {
height: 80px;
}
header .inner {
width: 1080px;
padding-top: 20px;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
height: 100%;
}
header a {
text-decoration: none;
}

/*--MAINVIS-------------*/
#mainVis {
    text-align: center
}
#mainVis .inner{
    width: 1080px;
    margin-left: auto;
    margin-right: auto;
}


/*--CONTENTS-------------*/
#contents {
width: 1080px;
margin-right: auto;
margin-left: auto;
background-image: url("../../images/bg_left.svg"), url("../../images/bg_right.svg");
background-repeat: repeat-y, repeat-y;
background-size: auto, auto;
background-position: left top, right top;
}

/*--INDEX_OUTLINE-------------*/
#main{
padding-top: 50px;
}
#main .main_read {
    text-align: center;
    font-size: 2.4rem;
    font-weight: 600;
    margin-bottom: 3em
}
#index_outline .read{
    margin-bottom: 2em
}
#index_outline .read_txt{
    font-size: 2.0rem;
    font-weight: 600;
}
.hairyo{
text-align: center;
margin-bottom: 70px;
}

/*--INDEX_CONT-------------*/
.cont{
margin-bottom: 130px;
width: 890px;
margin-left: auto;
margin-right: auto
}
.cont .ttl_heading{
margin-bottom: 60px;
text-align: center;
}
.cont .ttl_heading h2{
font-size: 4.2rem;
font-weight: 600
}
.cont .ttl_heading span{
    background-image: url(../../images/ttl_heading_bg.svg);
    background-repeat: repeat-x;
    background-position: center bottom;
}

/*--INDEX_GUEST-------------*/
#index_guest .ttl_heading{
position: relative
}
#index_guest .ttl_heading .ill{
position: absolute;
left: -40px;
right: 0;
top: -10px;
}
.bx_guest{
display: flex;
gap:30px;
}
.bx_guest .photo{
margin-top: -3em
}
.bx_guest .txt{
text-align: center
}
.bx_guest .txt .read{
font-size: 2.0rem;
font-weight: 500;
margin-bottom: 1em;
margin-top: 2em
}
.bx_guest .txt .name{
margin-bottom: 1em
}
.bx_guest table.profile{
    font-size: 1.1rem;
    text-align: left;
    border-left: 1px solid #444444;
}
.bx_guest table.profile th{
white-space: nowrap;
border-right: 1px solid #444444;
}
.bx_guest table.profile th,
.bx_guest table.profile td{
padding-left: 1em;
padding-right: 1em
}

/*--INDEX_CONTENTS-------------*/
#index_contents .ttl_heading{
position: relative
}
#index_contents .ttl_heading .ill{
position: absolute;
left: -40px;
right: 0;
top: -10px;
}
ul.contents_list{
display: flex;
flex-wrap:wrap;
justify-content: center;
gap:53px;
}
ul.contents_list li{
width: calc(50% - calc(53px / 2));
}
ul.contents_list li:first-child{
width: 100%;
}
ul.contents_list li img{
width: 100%;
height: auto
}

/*--INDEX_MAP-------------*/
#index_map .ttl_heading{
position: relative
}
#index_map .ttl_heading .ill{
position: absolute;
left: -40px;
right: 0;
top: -10px;
}
.cominsoon{
text-align: center
}
/*--INDEX_TIMETABLE-------------*/
#index_timetable .ttl_heading{
position: relative
}
#index_timetable .ttl_heading .ill{
position: absolute;
left: -40px;
right: 0;
top: -10px;
}

/*--INDEX_ACCESS-------------*/
#index_access{}
#index_access .adress{
text-align: center;
font-size: 2.8rem
}
#index_access table{
margin-left: auto;
margin-right: auto;
margin-top: 1em;
margin-bottom: 1.5em;
font-size: 2.4rem;
font-weight: 600
}
#index_access table th,
#index_access table td{
padding: 10px 20px;
}
#index_access table .notice{
font-size: 2.0rem;
font-weight: 400
}

/*--INDEX_NPO-------------*/
#index_npo .ttl {
  align-items: center;
  display: flex;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.3em
}
#index_npo .ttl::before,
#index_npo .ttl::after {
  background-color: #999999;
  content: "";
  flex-grow: 1; /* 横幅いっぱい */
  height: 1px; /* 横線の高さ */
}
#index_npo .ttl::before {
  margin-right: 15px;
}
#index_npo .ttl::after {
  margin-left: 15px;
}

#index_npo{
    border-bottom: 1px solid #999999;
    font-size: 1.4rem
}
#index_npo .npo_cont{
    display: flex;
    gap:40px;
    line-height: 1.8;
    padding: 30px 40px;
}
#index_npo .npo_cont.line{
    border-bottom: 1px dotted #999999;
}
#index_npo .npo_cont .name{
font-size: 1.6rem;
font-weight: 600
}

.notice{
width: 890px;
margin-left: auto;
margin-right: auto;
font-size: 1.3rem;
padding-bottom: 20px
}

.pageTop {
clear: both;
padding: 30px;
text-align: right;
}

/*--FOOTER-------------*/
footer {
background-color: #F7F8F8;
clear: both;
padding-top: 20px;
padding-bottom: 50px;
}
footer .inner {
width: 980px;
margin-right: auto;
margin-left: auto;
}
footer .btn_sns {
margin-bottom: 1em
}
footer p {
margin-bottom: 0.5em
}
footer table th {
vertical-align: top
}
footer table span {
font-size: 14px;
}









































@media screen and (max-width: 520px) {
html {font-size: 62.5%}
body {
background-color: #FFFFFF;
min-width: 320px;
font-size: 1.6rem;
font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
-webkit-text-size-adjust: 100%;
animation: fadeIn 2s ease 0s 1 normal;
-webkit-animation: fadeIn 2s ease 0s 1 normal;
}

select,input,button,textarea,button {font:99%;}
table {font-size:inherit;font:100%;}
pre,code,kbd,samp,tt {
font-family:monospace;
*font-size:108%;
line-height:100%;
}
a:link {
color: #000000;
transition: .3s;
}
a:visited {
color: #000000;
text-decoration: none;
}
a:hover {
color: #0099CC;
text-decoration: underline;
}
a:active {
color: #999999;
text-decoration: none;
}
@media (any-hover: hover) {
  a.btn img {
    transition: 0.3s ease-in-out;
    opacity: 1;
  }
  a.btn:hover img {
    opacity: .4;
  }
}

a {
outline: none;
}
::selection {
background: #000000;
color: #FFFFFF;
}
::-moz-selection {
background:#000000;
color:#FFFFFF;
}
::-webkit-selection {
background:#000000;
color:#FFFFFF;
}
strong {
font-weight: bold;
}
.pc {
display: none!important;
}
.sp {
display: inherit!important;
}
#wrapper {
overflow: hidden
}
#panel-btn{
  display: none;
}
/*--HEADER-------------*/
header {
height: auto;
}
header .inner {
width: 96%;
padding-top: 10px;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
height: 100%;
padding-bottom: 10px;
}
header a {
text-decoration: none;
}
header h1 img {
width: 25%;
height: auto
}

/*--MAINVIS-------------*/
#mainVis {
    text-align: center
}
#mainVis .inner{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#mainVis .inner img{
    width: 100%;
    height: auto
} 


/*--CONTENTS-------------*/
#contents {
width: 100%;
margin-right: auto;
margin-left: auto;
background-image: url("../../images/bg_left.svg"), url("../../images/bg_right.svg");
background-repeat: repeat-y, repeat-y;
background-size: 7px, 7px;
background-position: left top, right top;
}

/*--INDEX_OUTLINE-------------*/
#main{
padding-top: 25px;
width: 96%;
margin-left: auto;
margin-right: auto
}
#main .main_read {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 1.5em
}
#index_outline .read{
    margin-bottom: 2em
}
#index_outline .read_txt{
    font-size: 1.6rem;
    font-weight: 600;
}
.hairyo{
text-align: center;
margin-bottom: 30px;
width: 90%;
margin-left: auto;
margin-right: auto
}
.hairyo img{
width: 100%;
height: auto
}

/*--INDEX_CONT-------------*/
.cont{
margin-bottom: 70px;
width: 90%;
margin-left: auto;
margin-right: auto
}
.cont .ttl_heading{
margin-bottom: 30px;
text-align: center;
}
.cont .ttl_heading h2{
font-size: 2.2rem;
font-weight: 600
}
.cont .ttl_heading span{
    background-image: url(../../images/ttl_heading_bg.svg);
    background-repeat: repeat-x;
    background-position: center bottom;
}

/*--INDEX_GUEST-------------*/
#index_guest .ttl_heading{
position: relative
}
#index_guest .ttl_heading .ill{
position: absolute;
left: 0px;
right: 0;
top: 0px;
}
#index_guest .ttl_heading .ill img{
width: 100%;
height: auto
}
.bx_guest{
display: block;
gap:30px;
}
.bx_guest .photo{
margin-top: 0em
}
.bx_guest .photo img{
width: 100%;
height: auto
}
.bx_guest .txt{
text-align: left
}
.bx_guest .txt .read{
font-size: 1.4rem;
font-weight: 500;
margin-bottom: 1em;
margin-top: 2em
}
.bx_guest .txt .name{
margin-bottom: 1em
}
.bx_guest .txt .name img{
width: 100%;
height: auto
}
.bx_guest table.profile{
    font-size: 1.1rem;
    text-align: left;
    border-left: 1px solid #444444;
    border-right: 1px solid #444444;
}
.bx_guest table.profile th{
white-space: nowrap;
border-right: 0px solid #444444;
}
.bx_guest table.profile th,
.bx_guest table.profile td{
padding-left: 1em;
padding-right: 1em;
display: block;
padding-bottom: 0.5em;
padding-top: 0.5em
}

/*--INDEX_CONTENTS-------------*/
#index_contents .ttl_heading{
position: relative
}
#index_contents .ttl_heading .ill{
position: absolute;
left: 0px;
right: 0;
top: 0px;
}
#index_contents .ttl_heading .ill img{
width: 100%;
height: auto
}
ul.contents_list{
display: flex;
flex-wrap:wrap;
justify-content: center;
gap:10px;
}
ul.contents_list li{
width: 100%;
}
ul.contents_list li:first-child{
width: 100%;
}
ul.contents_list li img{
width: 100%;
height: auto
}

/*--INDEX_MAP-------------*/
#index_map .ttl_heading{
position: relative
}
#index_map .ttl_heading .ill{
position: absolute;
left: 0px;
right: 0;
top: 0px;
}
#index_map .ttl_heading .ill img{
width: 100%;
height: auto
}
.cominsoon{
text-align: center
}
.cominsoon img{
width: 100%;
height: auto
}
/*--INDEX_TIMETABLE-------------*/
#index_timetable .ttl_heading{
position: relative
}
#index_timetable .ttl_heading .ill{
position: absolute;
left: 0px;
right: 0;
top: 0px;
}
#index_timetable .ttl_heading .ill img{
width: 100%;
height: auto
}

/*--INDEX_ACCESS-------------*/
#index_access{}
#index_access .adress{
text-align: center;
font-size: 1.4rem
}
#index_access table{
margin-left: auto;
margin-right: auto;
margin-top: 1em;
margin-bottom: 1.5em;
font-size: 1.4rem;
font-weight: 600
}
#index_access table th,
#index_access table td{
padding: 10px 0px;
display: block
}
#index_access table .notice{
font-size: 1.2rem;
font-weight: 400
}
#index_access table th{
text-align: center;
padding: 2px 0px;
}
#index_access table th img{
width: 60px;
height: auto
}

/*--INDEX_NPO-------------*/
#index_npo .ttl {
  align-items: center;
  display: flex;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.3em
}
#index_npo .ttl::before,
#index_npo .ttl::after {
  background-color: #999999;
  content: "";
  flex-grow: 1; /* 横幅いっぱい */
  height: 1px; /* 横線の高さ */
}
#index_npo .ttl::before {
  margin-right: 15px;
}
#index_npo .ttl::after {
  margin-left: 15px;
}

#index_npo{
    border-bottom: 1px solid #999999;
    font-size: 1.4rem
}
#index_npo .npo_cont{
    display: block;
    gap:40px;
    line-height: 1.8;
    padding: 30px 40px;
}
#index_npo img{
width: 100%;
height: auto
}
#index_npo .npo_cont.line{
    border-bottom: 1px dotted #999999;
}
#index_npo .npo_cont .name{
font-size: 1.6rem;
font-weight: 600
}

.notice{
width: 90%;
margin-left: auto;
margin-right: auto;
font-size: 1.1rem;
padding-bottom: 20px
}

.pageTop {
clear: both;
padding: 10px;
text-align: right;
}

/*--FOOTER-------------*/
footer {
background-color: #F7F8F8;
clear: both;
padding-top: 20px;
padding-bottom: 150px;
}
footer .inner {
width: 90%;
margin-right: auto;
margin-left: auto;
}
footer .btn_sns {
margin-bottom: 1em
}
footer p {
margin-bottom: 0.5em
}
footer table th {
vertical-align: top
}
footer table span {
font-size: 14px;
}



}
