@charset "UTF-8";

body,div,p,dl,dt,dd,ul,ol,li,table,tr,th,td,h1,h2,h3,h4,h5,h6,form,input,textarea,button,fieldset,blockquote,address{margin:0;padding:0;zoom:1;list-style:none;}
*{box-sizing:border-box;-moz-box-sizing:border-box;text-align:left;}
a:link,a:visited{color:#594F6C;text-decoration:underline;}
a:active,a:hover{color:#3A2E52;text-decoration:underline;}
input{text-align:auto;}
img{border:0;vertical-align:bottom;}

a.btn_A,a.btn_B,a.btn_C{ display:block; text-align:center; text-decoration:none; box-shadow: 0px 0px 5px rgba(0,0,0,0.2); }
a.btn_A{background: linear-gradient(0deg, #F60, #F90);color:#FFF !important; line-height:60px; font-weight:bold; font-size:20px; -moz-border-radius: 30px; -webkit-border-radius: 30px; border-radius: 30px; }a.btn_B{background: linear-gradient(0deg, #F5F5F5, #FFF);color:#000 !important; line-height:40px; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px; }
a.btn_C{background: linear-gradient(0deg, #555, #777);color:#FFF !important; line-height:40px; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px; }

body{font-family:'Lucida Grande','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,sans-serif;bbackground-size:cover; background: #F5F5F5; }

body#home:before{ content:""; display:block; position:fixed; top:0; left:0; z-index:-1; width:100%; height:100vh; background:url("/common/img/bg.jpg") center no-repeat #1d2088; background-size:cover; }

nav{ position:fixed; bottom:40px; left:calc(50% - 320px); z-index:3; width:calc(100% - 30px); background:#FFF; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; box-shadow: 0px 0px 5px rgba(0,0,0,0.2); max-width:640px;  }
nav ul{ display:flex; flex-direction: row; flex-wrap:wrap; justify-content: flex-start; align-items: center; }
nav ul li{ width:25%; border-right:1px solid #DDD; }
nav ul li:last-child{ border-right:0; }
nav ul li:last-child{margin:0;}
nav ul li a{text-align:center;display:block;line-height:1.25;font-size:12px;padding:10px 0; color:#808080; }
nav ul li a svg{ display:block; width:40px; height:auto; margin:0 auto 3px; fill:#808080; }
nav ul li a:link,#hd li a:visited{text-decoration:none;}
nav ul li a:active,nav ul li a:hover{color:#000;background:#f4f1fa;text-decoration:none;transition:all 0.25s;}

#home nav ul li:nth-child(1) a,
#news nav ul li:nth-child(2) a,
#schedule nav ul li:nth-child(3) a,
#contact nav ul li:nth-child(4) a{ color:#1d2088; }

#home nav ul li:nth-child(1) a svg,
#news nav ul li:nth-child(2) a svg,
#schedule nav ul li:nth-child(3) a svg,
#contact nav ul li:nth-child(4) a svg{ fill:#1d2088; }

ul.index{ margin:0 auto 10px; padding:0; list-style:none; box-shadow: 2px 0px 2px rgba(0,0,0,0.1); }
ul.index li a{ display:block; position:relative; background:#FFF; border-bottom:1px solid #DDD; padding:15px 26px 15px 10px; font-size:16px;  text-decoration:none; line-height:1.5;}
ul.index li a::after{ display:inline-block; content: " "; width:7px; height:7px; border-top:2px solid #1d1f8b; border-right:2px solid #1d1f8b; transform: rotate(45deg); margin-bottom:2px; position:absolute; right:15px; top:calc(50% - 4px); }

ul.menu{ margin: -15px  auto 25px; padding:5px 0 10px; max-width:640px; display:flex; flex-direction: row; flex-wrap:nowrap; justify-content: flex-start; align-items: center; overflow-x: scroll; }
ul.menu::-webkit-scrollbar { display: none; }
ul.menu li{ margin-right:10px; }
ul.menu li:last-child{ margin-right: 0; }
ul.menu li a{ display:block; background:#FFF; -moz-border-radius: 30px; -webkit-border-radius: 30px; border-radius: 30px;  box-shadow: 0px 0px 5px rgba(0,0,0,0.2); padding: 5px 15px; text-decoration:none; color:#000; white-space:nowrap; }
ul.menu li.current a{ background:#1d1f8b; color:#FFF; }

ul.caution{ margin: 0 0 10px; }
ul.caution li{ font-size:14px; color:#555; line-height:1.5; text-indent: -16px;padding-left:16px; }
ul.caution li::before{ content: "※"; margin-right:5px;}

dl.index{ margin: 0 0 10px; background:#FFF; list-style:none; box-shadow: 2px 0px 2px rgba(0,0,0,0.1); }
dl.index dt{ padding: 15px 10px 3px; font-size:14px; color:#666; }
dl.index dd{ padding: 0 10px 15px; border-bottom:1px solid #DDD; }
dl.index dd a{ display:block; position:relative; text-decoration:none; }
dl.index dd a::after{ display:inline-block; content: " "; width:7px; height:7px; border-top:2px solid #1d1f8b; border-right:2px solid #1d1f8b; transform: rotate(45deg); margin-bottom:2px; position:absolute; right:5px; top:calc(50% - 4px); }

dl.table{ border-top:1px solid #DDD; margin: 0 0 10px; }
dl.table dt{ padding: 15px 0 3px; font-weight:bold; }
dl.table dd{ padding: 0 0 15px; border-bottom:1px solid #DDD; }

section input[type="text"]{ width: 100%; font-size:18px; padding:10px; border:1px solid #DDD; background:#FFF; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
section input[type="radio"]{ border:1px solid #DDD; margin-right:5px; }
section textarea{ width: 100%; height:10em; font-size:18px; padding:10px; border:1px solid #DDD; background:#FFF; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px;  }
section input.error,section textarea.error{ background:#FEE; border: 1px solid #FCC; }

.borderbox{ border:1px solid #DDD; background:#FFF; padding: 15px 15px 5px; }
.borderbox p{ font-size:14px; }

.list01{ padding: 0 0 5px 20px; }
.list01 li{ list-style:disc; font-size:14px; margin: 0 0 5px; }

.btn{text-align:center;line-height:1.25;margin:0 20px 20px;}
.btn a{text-align:center;}

header{ margin:0; padding:10px;background:#FFF; display:flex; flex-direction: row; flex-wrap:wrap; justify-content: center; align-items: center; box-shadow: 0px 0px 2px rgba(0,0,0,0.2);  }
header img{ width:32px; }
header a{ display:inline-block; vertical-align:middle; }
header a span{ display:inline-block; line-height:32px; margin:0 0 0 10px; padding:0; font-size:16px; text-align:center; font-weight:bold; vertical-align:middle; color:#1d1f8b; }

main{  padding-bottom: 120px; }
#home main{ padding-bottom: 0; }

#home h1{text-align:center;}
#home h1 a{color:#FFF;text-decoration:none;}
#home h1 a img{width:160px; color:#FFF;text-decoration:none; }
#news h1,#schedule h1,#contact h1,#entry h1{ margin:0 0 30px; padding:15px; font-size:20px; background:#1d1f8b; color:#FFF; }
#news h1 span,#schedule h1 span,#contact h1 span,#entry h1 span{ display:block; margin: 0 auto; max-width:640px; }

footer{ position:fixed;bottom:0;left:0;width:100%;z-index:2;letter-spacing:0;margin:0;font-style:normal;font-family:Arial;text-align:center;color:#000;font-size:75%;line-height:40px;white-space:nowrap; background: linear-gradient(rgba(245,245,245,0),rgba(245,245,245,1)); padding-top:100px; }
#home footer{ background:transparent; color:#FFF;}

/* HOME */
#home section{position:absolute;top:calc(50% - 230px);left:calc(50% - 160px);width:320px;height:340px;text-align:center;}
#home section a span{display:block;text-align:center;margin:20px 0 40px; font-size:24px; }
#home h2{ font-size:16px; color:#FFF; margin: 0 0 10px; }
#home section ul{ border-top:1px dotted #FFF; }
#home section ul li{ border-bottom:1px dotted #FFF; }
#home section ul li a{ display:block; position:relative; color:#FFF; padding: 15px 26px 15px 10px; text-decoration:none; }
#home section ul li a::after{ display:inline-block; content: " "; width:7px; height:7px; border-top:2px solid #FFF; border-right:2px solid #FFF; transform: rotate(45deg); margin-bottom:2px; position:absolute; right:15px; top:calc(50% - 4px); }

/* NEWS */
main{  padding-bottom: 120px; }
#news h2 { margin: 0 0 15px; }
#news h2 span{ display:block; font-size:18px; }
#news section{ margin: 0 auto; padding-bottom:20px; max-width:640px; }
#news section p.sign{ text-align:right; margin-top: -10px; color:#1d1f8b; }
#news section p{ margin: 0 0 10px; }

/* SCHEDULE */
#schedule h2 { margin: 0 0 15px; }
#schedule h2 span{ display:block; font-size:18px; }
#schedule section{ margin: 0 auto; padding-bottom:20px; max-width:640px; }

/* CONTACT */
#contact h2 { margin: 0 0 15px; }
#contact h2 span{ display:block; font-size:18px; }
#contact h3 { margin: 0 0 10px; }
#contact h3 span{ display:block; font-size:16px; }

#contact section{ margin: 0 auto; padding-bottom:20px; max-width:640px; }
#contact section p{ line-height:1.5; margin: 0 0 10px; }
#contact section dl{ border-bottom:1px solid #DDD; margin-bottom:15px; }
#contact section dl dt{ margin: 0 0 5px; padding: 15px 0 0; color:#444; border-top:1px solid #DDD; }
#contact section dl dt small{ display:inlline-block; padding-left:10px; color:#666; font-size:12px; }
#contact section dl dd{ margin: 0 0 15px; }
#contact section dl dd span{ display:block; color:#666; font-size:14px; margin: 5px 0 0; }
#contact section dl dt span{ display:inline-block; color:#900; font-size:14px; margin: 0 0 0 10px; }

/* ENTRY */
#entry h2 { margin: 0 0 15px; }
#entry h2 span{ display:block; font-size:18px; color:#1d1f8b; }
#entry h3 { margin: 0 0 10px; position:relative; }
#entry h3 span{ display:block; font-size:16px; }

#entry h3.acc{ cursor:pointer; }
#entry h3.acc::after {
content: "";
border-top: 1px solid black;
border-left: 1px solid black;
display: inline-block;
width: 10px;
height: 10px;
transform: rotate(-135deg) translateY(9px);
position: absolute;
right: 20px;
top: 50%;
}

#entry h3.acc.acc-open::after {
transform: rotate(45deg) translateY(-10px);
}

#entry section dl.acc {
  opacity: 0;
  transition: line-height 0.4s, padding 0.4s, opacity 0.4s;
  height:1px;
  overflow-y: hidden;
  margin-bottom:0;
}

#entry section dl.acc.acc-open {
  height:auto;
  line-height: 1.5;
  opacity: 1;
  margin-bottom:15px;
}

#entry section{ margin: 0 auto; padding-bottom:20px; max-width:640px; }
#entry section p{ line-height:1.5; margin: 0 0 10px; }
#entry section p.delete{ text-align:right; margin-top:-35px; }
#entry section p.delete a{ text-decoration:none; }
#entry section dl{ border-bottom:1px solid #DDD; margin-bottom:15px; }
#entry section dl dt{ margin: 0 0 5px; padding: 15px 0 0; color:#444; border-top:1px solid #DDD; }
#entry section dl dt small{ display:inlline-block; padding-left:10px; color:#666; font-size:12px; }
#entry section dl dd{ margin: 0 0 15px; }
#entry section dl dd span{ display:block; color:#666; font-size:14px; margin: 5px 0 0; }
#entry section dl dt span{ display:inline-block; color:#900; font-size:14px; margin: 0 0 0 10px; }
#entry section dl dd label{ display:inline-block; margin-right: 15px; }

@media (max-width:1100px){
}
@media (max-width:1000px){
}
@media (max-width:900px){

}
@media (max-width: 800px){
}
@media (max-width: 320px){
#home section{position:absolute;top:calc(50% - 230px);left:calc(50% - 145px);width:290px;height:340px;text-align:center;}
}
@media (max-width: 640px){
nav{ left: 15px; }
ul.menu{ margin: -15px 0 25px; }
ul.menu li:first-child{ margin-left:15px; }
ul.menu li:last-child{ margin-right:15px; }
#news section,#schedule section,#contact section,#entry section{ margin: 0 15px; }
}

@supports(-webkit-touch-callout:none){
#home{height:-webkit-fill-available;}
}