@charset "UTF-8";
/* CSS Document */
*{
	margin: 0;
	padding: 0;
    box-sizing: border-box;
}
.clearfix:after{
	content:"";
	display:block;
	clear:both;}
.clear{
	clear:both;
	}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
figure, figcaption,
article, section, nav, header, footer {
  margin: 0;
  padding: 0;
}
body {
  margin: 0;
  padding: 0;
  width: 100%;
    background:#fff;
	font-family:font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif ;
	color:#333;
    font-size:1.6rem;
    line-height: 1.8;
}

html {
  overflow-y: scroll;
    Font-size:62.5%;/*10px*/
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
    background:#fff;
	font-family:font-family: "sawarabi Mincho","ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif ;
	color:#333;
    font-size:1.6rem;
    line-height: 2em;
}
p{
    font-size:1.6rem;
    margin-top:12px;
}
@media screen and (min-width:640px) {
Font-size:1.5rem;
}
@media screen and (min-width: 1200px) {
Font-size:1.6rem;
}
/*改行*/
@media screen and (min-width:640px){
.br-sp {display: none; }
}
a {text-decoration:none;}

img {border:none;}

#wrapper{
	width:100%;
	}

header{width:100%;
    height: 150px;
    background:#fff;
    z-index: 10;
    display: block!important;
}
#effect{
	position:relative;
    width:100%;
    height: 150px;
    box-shadow:1px -5px 7px 7px rgba(204,204,204,0.4); 
}

header h1{
    float: left;
    width: 300px;
    padding-top: 20px;
    padding-left:20px;
}

#japan{
    display: flex;
    padding-top: 30px;
    padding-right: 50px;
    justify-content: flex-end;
}
#japan a{
    color:#555;
    font-weight: 500;
}
#globalnavi{
	position: absolute;
    top:90px;
    right:30px;
	width:800px;
	padding-top:10px;
	padding-right:5px;
	text-align:center;
	height:auto;
}

#globalnavi input {
	display:none;}
#globalnavi label{
	position:absolute;
	top:10px;
	right:10px;
	z-index:3;}
nav{
    background: #fff;
    text-align: center;
    color: #333;
}

nav ul{
    margin: 0;
	list-style:none;
    display: flex;
    justify-content: center;
}
nav ul ul{
    display: block;
}
nav ul li{
position: relative;
    border-left: 1px solid #ccc;
	}
nav ul li:last-child {
    border-right: 1px solid #ccc;
}
nav ul li li:last-child {
    border-right: none;
}

nav ul li a{
    display: block;
  text-decoration: none;
  padding:3px 30px;
  transition:all .3s;
	text-align:center;
	color:#808080;
	font-weight:bold;
}
nav ul li li a{
  padding:10px 30px;
        border-left:none;
}
nav ul li a:hover{
	background-color:#094575;
    border-bottom:1px solid #fff;
	color:#fff;
}

/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before{
  content:'';
  position: absolute;
  left:15px;
  top:9px;
  width:6px;
  height:6px;
  border-top: 2px solid #999;
    border-right:2px solid #999;
    transform: rotate(135deg);
}

/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/
nav li.has-child ul{
    /*絶対配置で位置を指定*/
  position: absolute;
  left:0;
  top:32px;
  z-index: 4;
    /*形状を指定*/
  background:#094575;
  width:180px;
    /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
    /*アニメーション設定*/
  transition: all .3s;
}

/*hoverしたら表示*/
nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}
/*ナビゲーションaタグの形状*/
nav li.has-child ul li a{
  color: #fff;
  border-bottom:solid 1px rgba(255,255,255,0.6);
}

nav li.has-child ul li:last-child a{
  border-bottom:none;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active{
  background:#ccc;
    color:#000;
    border-left:none;
}
/*レスポンシブ対応*/
@media screen and (max-width:1024px){
  nav{
    padding: 0;
  }
  
  nav ul{
    display: block;
  }
  
nav ul li.has-child::before{
  content:'';
  position: absolute;
  left:20px;
  top:20px;
  width:15px;
  height:15px;
  border-top: 3px solid #000;
    border-right:3px solid #000;
    transform: rotate(135deg);
}

  nav li.has-child ul,
  nav li.has-child ul ul{
    position: relative;
  left:0;
  top:0;
  width:100%;
  visibility:visible;/*JSで制御するため一旦表示*/
  opacity:1;/*JSで制御するため一旦表示*/
  display: none;/*JSのslidetoggleで表示させるため非表示に*/
  transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}
  
nav ul li a{
  border-bottom:1px solid #ccc;
}

/*矢印の位置と向き*/

nav ul li.has-child::before{
  left:20px;  
}

nav ul ul li.has-child::before{
    transform: rotate(135deg);
  left:20px;
}
    
nav ul li.has-child.active::before{
    transform: rotate(-45deg);
    }}


#slider{
    margin: 0 auto;
    clear: both;
}
.flexslider{
   float: left;
width:100%;
	height:auto;
    margin:auto;
    clear: both;
	}

#main{
	width:100%;
	height:auto;
	margin:0 auto;
}
#main a{
    color:#000;
}
#main a:hover{
    color:burlywood;
}
/*season calender,Kagura*/
#season,#kagura,#joruri{
     width: 980px;
    height: auto;
    margin: 0 auto;
    clear: both;
}
#season h1,#kagura h1,#joruri h1,#tanegashima h1{
    font-size:4.5rem;
    margin: 30px auto;
    text-align: center;
    position: relative;
  background: -webkit-repeating-linear-gradient(-45deg, #ebf6f7, #ebf6f7 4px,#ffffff 3px, #ffffff 8px);
  background: repeating-linear-gradient(-45deg, #ffffff, #ffffff 4px,#ebf6f7 3px, #ebf6f7 8px);
  border-radius: 7px;
    padding:20px;
    box-shadow: 0px 0px 0px 10px #ebf6f7;
    border: dashed 7px #c1e4e9;
}
blockquote {
    position: relative;
    padding: 10px 15px 10px 60px;
    box-sizing: border-box;
    font-style: italic;
    background: #f5f5f5;
    color: #777777;
    border-left: 4px solid #9dd4ff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
}

blockquote:before{
    display: inline-block;
    position: absolute;
    top: 7px;
    left: 0;
    content: "“";
    font-family: sans-serif;
    color: #9dd4ff;
    font-size: 4rem;
    line-height: 1;
}

blockquote p {
    padding: 0;
    margin: 7px 0;
    line-height: 1.7;
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}
#season ol{
    display: flex;
    flex-direction:row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
#season ol li{
    list-style: none;
    padding: 5px;
}
#season ol li p{

    align-self: middle;
    padding: 10px;
}
#season ol li figure img{
    margin: 10px;
}
#season h4{
    font-size:4rem;
    text-align: center;
    margin: 30px auto;
    background: #f2a0a1;
    box-shadow: 0px 0px 0px 10px #f2a0a1;
    width: 100%;
    height: auto;
    border-width: 50px 0px;
    border-style:solid;
    border-image-source: url(../img/2023/shiiida_umefes2.png);
    border-image-slice: 50px fill;
    border-image-width: auto;
    border-image-repeat: repeat-x;
    border-radius: 8px;
    
}
#season h2{
    border-left:5px solid #9dd4ff;
    padding-left: 10px;
    margin-bottom: 30px;
    font-size:3rem;
}
#season h4 a{
    color:#432f2f;
}
#season h3,#kagura h3,#joruri h3{
    font-size:4rem;
    text-align: center;
    margin-bottom: 50px;
    margin-top: 30px;
    background: #ebf6f7;
    box-shadow: 0px 0px 0px 10px #ebf6f7;
    border: dashed 7px #c1e4e9;
    border-radius: 8px;
}
.douga{
    position: relative;
    width: 100%;
    height: auto;
 margin: 10px auto;
}
#joruri h4{
    margin: 30px auto;
    text-align: center;
    font-size: 2rem;
    border-bottom: 3px dotted #9dd4ff;
    width: 80%;
    
}
#column{
    line-height: 1.7em;
    column-count: 2;
    column-width: 48%;
    column-gap: 3em;
    column-rule:3px solid #9dd4ff;
    column-fill:balance;
}
#column h2{
    margin-top: 20px;
line-height: 1.7em;
    column-span: all;
}

#samue{
    width: 980px;
    height: auto;
    margin: 20px auto;
}
#samue h1{
    font-size:4.5rem;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
  background: -webkit-repeating-linear-gradient(-45deg, #ebf6f7, #ebf6f7 4px,#ffffff 3px, #ffffff 8px);
  background: repeating-linear-gradient(-45deg, #ffffff, #ffffff 4px,#ebf6f7 3px, #ebf6f7 8px);
  border-radius: 7px;
    padding:20px;
    box-shadow: 0px 0px 0px 10px #ebf6f7;
    border: dashed 7px #c1e4e9;
}

.table_wrp{
  overflow-x:auto;
  width:100%;
}
#samue .table1{
    float: left;
    width: 50%;
    margin-top: 30px;
    border-collapse:  collapse;
    text-align: center;
}
#samue table{
    margin: 20px auto;
}
.table1 p{
    text-align: center;
}
.table1 th,td{
    border: solid 1px #ccc;
    padding: 10px;
    width: 48%;
}
.table1 th{
    background: #4682b4;
    color:#fff;
}
.table1 td{
    background: #ccc;
    border: 1px solid #ccc;
}
.table2{
    width: 80%;
    margin: 30px auto;
    border-collapse:  collapse;
    text-align: center;
}
.table2 table{
    border-spacing:1px;
}
.table2 th{
    background: #4682b4;
    color:#fff;
    padding: 10px;
}
.table2 td{
    height: auto;
    width: 25%;
    border: 1px solid #fff;
    vertical-align: top;
    background: #ebf6f7;
}
#samue h2{
    font-size:3rem;
    width: 100%;
    color: #505050;
    margin-top: 20px;
  padding: 0.5em;
  display: inline-block;
  line-height: 1.3;/*行高*/
  background: #c1e4e9;/*背景色*/
  vertical-align: middle;
  border-radius: 25px;
}
#samue h2:before{
    content: '★';
  color: white;
  margin-right: 8px;
}
 #samue h3,#haori h3{
  position: relative;
  display: inline-block;
  margin: 1.5em auto;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #800080;
  font-size: 4rem;
  background: #E0FFFF;
  border-radius: 15px;
     text-align: center;
}

#samue h3:before,#haori h3:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #E0FFFF;
}
/*共通*/
.ribbon{
  position: relative;
  padding: 15px 20px;
    height: auto;
  font-size: 3rem;
  color: #555;
  background: #c1e4e9;
}

.ribbon h4{
    text-align: center;
  padding: 10px auto;
  border-top: dashed 2px rgba(255, 255, 255, 0.5);
  border-bottom: dashed 2px rgba(255, 255, 255, 0.5);
}

.ribbon:before{
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 20px rgb(149, 158, 155);
}

#samue ol,#haori ol{
text-align: center;
}
#samue ol li,#haori ol li{
    clear: both;
    list-style: none;
    display: inline-block;
    margin: 20px auto;
    margin-left: 20px;
}
#samue ol li p,#haori ol li p{
    font-weight: bold;
    color:#000055;
}

#haori{
  width: 980px;
    height: auto;
    margin: 20px auto;  
}
#haori h1{
    font-size:4.5rem;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
  background: -webkit-repeating-linear-gradient(-45deg, #ebf6f7, #ebf6f7 4px,#ffffff 3px, #ffffff 8px);
  background: repeating-linear-gradient(-45deg, #ffffff, #ffffff 4px,#ebf6f7 3px, #ebf6f7 8px);
  border-radius: 7px;
    padding:20px;
    box-shadow: 0px 0px 0px 10px #ebf6f7;
    border: dashed 7px #c1e4e9;
}
#haori h2{
    font-size:3rem;
    text-align: center;
    position: relative;
  padding: 0.25em 1em;
  border-top: solid 2px #555;
  border-bottom: solid 2px #555;
    margin-top: 50px;
}
#haori h2:before,#haori h2:after{
    content: '';
  position: absolute;
  top: -7px;
  width: 2px;
  height: -webkit-calc(100% + 14px);
  height: calc(100% + 14px);
  background-color: #555;
}
#haori h2:before{
    left: 7px;
}
#haori h2:after{
    right: 7px;
}

.rollover{
    position: relative;
    width: 400px;
    height: 660px;
    cursor: pointer;  
}

footer{
    margin-top:30px;
    text-align: center;
    font-weight: 300;
    background-color: #19448e;
    color: #fff;
}
footer ul{
     margin:10px 0;
	list-style:none;
    display: flex;
    justify-content: center;
}
footer ul li{
    border-left: 1px solid #fff;
    padding: 5px 30px;
    margin-top: 10px;
}
footer ul li a{
    color:#fff;
}
footer ul li a:hover{
    color:#333;
}
footer ul li:last-child{
    border-right: 1px solid #fff;
}
.page-top{
	margin:0px;
	padding:0px;}
.page-top p{
	margin:0px;
	padding:0px;
	position:fixed;
	z-index:15;
	right:20px;
	bottom:20px;}
.move-page-top{
	display:block;
	width:85px ;
	height:85px ;
	
	-webkit-transition:all 0.3s ;
	-moz-transition:all 0.3s ;
	transition:all 0.3s ;
	}
.move-page-top:hover{
	opacity:0.85;
	}
