@charset "utf-8";

/*
-----------------------------------------------
chrome画像ボケ対応
----------------------------------------------- */
/* @media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
img {
    image-rendering: -webkit-optimize-contrast;
}
} */

html {font-size: 62.5%; /* ベースを10pxに指定 */}
body {
  font-size: 1.0em;
}

header,
footer{
overflow:hidden;
}

.shingo{font-family: "新ゴ M", Shin Go Medium, sans-serif;}

.yugo {
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

#flags{
display:none !important;
}

rt {
margin-bottom: .3em;
transform: translateY(-.3em);
}

a img {
transition:opacity 0.4s ease-in-out;
}
a:hover img {
opacity:0.5;
}

/*
-----------------------------------------------
PC用ナビゲーション
----------------------------------------------- */
.main-navi{
width:750px;
z-index:100;
position:absolute;
bottom:0px;
right:0px;
}


.navi > li{
font-size:1.6em;
padding:0;
margin:0;
text-align:center;
display:inline-block;
position:relative;
width:13%;
line-height:1.0;
}

.navi > .navi07{
width:20%;
}

.navi > .navi03{
width:15%;
}

.navi > li a{
display:block;
padding:5px 0px;
color:#444;
text-decoration:none !important;
}

.navi > li > a:hover{
color:#999;
opacity:0.7;
text-decoration:none !important;
}

.navi01 > a:before{
content:url(../img/navi01.png);
display:block;
padding-bottom:2px;
}

.navi02 > a:before{
content:url(../img/navi02.png);
display:block;
padding-bottom:2px;
}
.navi03 > a:before{
content:url(../img/navi03.png);
padding-bottom:2px;
display:block;
}
.navi04 > a:before{
content:url(../img/navi04.png);
padding-bottom:2px;
display:block;
}

.navi05 > a:before{
content:url(../img/navi05.png);
padding-bottom:2px;
display:block;
}

.navi06 > a:before{
content:url(../img/navi06.png);
display:block;
padding-bottom:2px;
vertical-align:bottom;
}

.navi07 > a:before{
content:url(../img/navi07.png);
display:block;
padding-bottom:2px;
vertical-align:bottom;
}


/* ドロップダウンメニュー */
/* .navi li ul{
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0px;
  margin: 0;
  padding: 0;
  width:142px;
}
.navi li ul li{
  width: 100%;
}
.navi li ul li a{
  padding: 10px;
  border-bottom: 1px solid #ccc;
  background-color: rgba(216,214,213,0.9);
  text-align: left;
  color:#333;
  font-size:1.5em;
}

.navi ul li a:hover{
  background-color: rgba(0,160,233,0.8);
  color:#fff;
}

.navi li ul li{
  overflow: hidden;
  height: 0;
  transition: .2s;
}
.navi li:hover ul li{
  overflow: visible;
  height: 43px;
}

.navi-span{
font-size:1.2em;
margin-right:6px;
vertical-align:middle;
}
 */

.navi-span{
margin-right:8px;
}


/*
-----------------------------------------------
TAB 横 ナビゲーション
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.navi{
width:100%;
}
}



/*
-----------------------------------------------
TAB用ナビゲーション 大
----------------------------------------------- */
@media screen and (max-width: 896px) {
.navi{
width:100%;
margin-left:auto;
margin-right:auto;
z-index:100;
text-align:center;
position:relative;
}

.main-navi{
width:570px;
z-index:100;
position:absolute;
bottom:0px;
right:0px;
}

}



/*
-----------------------------------------------
TAB用ナビゲーション
----------------------------------------------- */
@media screen and (max-width: 768px) {
.navi{
width:100%;
margin-left:auto;
margin-right:auto;
z-index:100;
text-align:center;
position:relative;
}
}

/*
-----------------------------------------------
TAB SP用ナビゲーション
----------------------------------------------- */
@media screen and (max-width: 768px) {
.fixed {
    overflow: auto;
    height: 100%;
}

.drawer-menu{
margin-top:48px;
padding-bottom:80px;
}

.drawer-open #contents{
}

.drawer-dropdown-menu-item{
font-size:1.4rem !important;
padding:0.8em 0 0.8em 2em !important;
line-height:1.0 !important;
}

/* ハンバーガーメニューのMENUの文字 */
.nav-menu{
position:absolute;
top:68%;
left:6px;
font-size:1rem;
color:#fff;
}
}

/*
-----------------------------------------------
SP用ナビゲーション
----------------------------------------------- */
@media screen and (max-width: 768px) {
.main-navi{
display:none;
}
}

/*
-----------------------------------------------
ヘッダ
----------------------------------------------- */
#head-in{
width:100%;
padding:10px 0px 0px 0px;
position:fixed;
background:rgba(255,255,255,1.0);
z-index:1000;
border-bottom:solid 1px #ccc;
}

.head-kakudai{
position:absolute;
top:10px;
right:20px;
z-index:100;
font-size:1.0em;
}

.head-kakudai p{
display:inline-block;
font-size:1.4em;
width:100px;
text-align:right;
}


.btn-layout{
margin-left:4px;
cursor: pointer;
display:inline-block;
/* background:rgba(255,255,255,0.3); */
width:3.5em;
line-height:1.1 !important;
text-align:center;
padding:5px 0 5px 0;
color:#333;
border:solid 1px #808080;
font-size:1.4em;
background: linear-gradient(#ffffff,#dcd8d8);
}

.btn-layout:hover{
text-decoration:none;
background:rgba(232,228,228,0.5);
}

header{
width:100%;
position:static;
z-index:100;
top: 0; 
left: 0;
right: 0;
}

header h1{
position:relative;
width:300px;
z-index:1000;
margin-top:22px;
margin-bottom:23px;
margin-left:10px;
}

header h1 img{
z-index:1000;
width:100%;
height:auto;
}

header .search-box{
position:absolute;
top:8px;
/* right:380px; */
right:200px;
z-index:100;
}

header .searchfield {
font-size:1.3em;
  /* width: 200px; */
  width: 280px;
  margin: 3px;
  padding: 3px 10px;
  border: solid 1px #ccc !important;
  border-radius: 20px;
  background-color: #fff !important;
  height:32px !important;
}

header .searchsubmit {
  font-family:'Font Awesome 5 Free';
  font-size:1.8em;
  position: absolute;
  top: 0px;
  right: 20px;
  margin-top: 10px;
  padding: 0;
  cursor: pointer;
  color: #444;
  border: none;
  background: transparent;
  font-weight: 600;
}
 
header .searchsubmit:hover {
  opacity: .6;
}

.head-en{
color:#99cc33;
padding-left:20px;
}

.head-sitemap{
position:absolute;
right:20px;
top:48px;
font-size:1.5em;
}


.head-sitemap a,
.head-sns a{
color:#444;
}

.head-sns a:hover{
color:#ccc;
}

.head-sns{
font-size:2.8em;
position:absolute;
/* right:600px; */
right:17px;
top:5px;
}

.head-sns i{
margin-left:10px;
}

.sp-sub{
display:none !important;
}

/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
#head-box{
width:100%;
padding-left:15px;
padding-right:15px;
}

.head-contact{
right:15px;
}

.head-kakudai{
display:none;
}
.head-sitemap{
position:absolute;
right:15px;
top:15px;
font-size:1.6em;
}

}


@media screen and (max-width: 1001px)  {
header h1{
width:200px;
padding-left:10px;
margin-top:32px;
margin-bottom:32px;
}
}

/*
-----------------------------------------------
ヘッダ　TAB 大
----------------------------------------------- */
@media screen and (max-width: 896px) { 

header h1{
position:relative;
width:230px;
z-index:1000;
padding-top:10px;
padding-bottom:5px;
padding-left:10px;
}

header h1 img{
z-index:1000;
width:100%;
height:auto;
}

.sp-sub{
display:none !important;
}

}




/*
-----------------------------------------------
ヘッダ　TAB SP
----------------------------------------------- */
@media screen and (max-width: 768px) {

#head-box{
width:100%;
}

#head-in{
width:100%;
}

.head-kakudai{
display:none;
}

.head-en{
font-size:1.4em;
}

header{
padding-bottom:40px;
}

header h1{
position:relative;
width:300px;
padding-top:0px;
margin-top:-5px;
padding-bottom:3px;
padding-left:10px
}

header h1 img{
width:100%;
height:auto;
}

.head-sitemap{
position:absolute;
right:20px;
top:65px;
}

#head-in .search-box{
display:none;
}

.head-sns{
font-size:2.8em;
position:absolute;
/* right:240px; */
right:70px;
top:10px;
}


header .search-box{
position:absolute;
top:60px;
right:160px;
z-index:100;
}

}

/*
-----------------------------------------------
ヘッダ　SP
----------------------------------------------- */
@media screen and (max-width: 767px) {

#head-in .search-box{
display:none;
}

header h1{
width:140px;
padding:0 !important;
margin:0 !important;
padding-bottom:11px !important;
}



.head-sitemap{
display:none;
}

.head-en{
font-size:1.0em;
padding-left:5px;
}

#head-in{
padding-top:3px;
border-bottom:solid 1px #ccc;
}

.head-sns{
display:none;
}

header{
/* padding-bottom:58px; */
padding-bottom:90px;
}

}


/*
-----------------------------------------------
コンテンツ幅
----------------------------------------------- */
#wrap{
padding-top:160px;
}

#wrap-top{
padding-top:148px;
overflow:hidden;
}

#contents{
line-height:1.7;
color:#333;
background:#fff;
width:1080px;
margin-left:auto;
margin-right:auto;
margin-top:0px;
}

.in-box01{
position:relative;
width:1120px;
margin-left:auto;
margin-right:auto;
}

.in-box02{
position:relative;
width:800px;
margin-left:auto;
margin-right:auto;
}

.in-box03{
position:relative;
width:980px;
margin-left:auto;
margin-right:auto;
}

.in-box04{
position:relative;
width:700px;
margin-left:auto;
margin-right:auto;
}
.in-box05{
position:relative;
width:730px;
margin-left:auto;
margin-right:auto;
}
/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
#contents,
.in-box00,
.in-box01,
.in-box02,
.in-box04,
.in-box05,
.in-box03{
width:100%;
padding-left:30px;
padding-right:30px;
}
}


/*
-----------------------------------------------
コンテンツ幅 TAB 大
----------------------------------------------- */
@media screen and (max-width: 896px) {
#contents,
.in-box00,
.in-box01,
.in-box02,
.in-box04,
.in-box05,
.in-box03{
width:100%;
padding-left:24px;
padding-right:24px;
}

#wrap{
padding-top:140px;
}

#wrap-top{
padding-top:135px;
}
}

/*
-----------------------------------------------
コンテンツ幅 TAB
----------------------------------------------- */
@media screen and (max-width: 768px) {
#wrap{
padding-top:130px;
}

#wrap-top{
padding-top:120px;
}
}

/*
-----------------------------------------------
コンテンツ幅 SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
#contents,
.in-box00,
.in-box01,
.in-box02,
.in-box04,
.in-box05,
.in-box03{
width:100%;
padding-left:15px;
padding-right:15px;
}

#wrap{
padding-top:0px;
}
#wrap-top{
padding-top:0px;
}

}

/*
-----------------------------------------------
パンクズ
----------------------------------------------- */
.pk{
font-size:1.4em;
padding-bottom:40px;
}

.pk span{
margin-left:10px;
margin-right:10px;
}

.pk-ul{
line-height:1.3 !important;
display:inline;
}


.pk a{
color:#666 !important;
}

.pk-ul a:hover{
text-decoration:underline !important;
}

/*
-----------------------------------------------
パンクズ TAB SP
----------------------------------------------- */
@media screen and (max-width: 768px) {
.pk{
padding-top:10px;
padding-bottom:10px;
font-size:1.2rem !important;
}
}

/*
-----------------------------------------------
フッター
----------------------------------------------- */
.foot-ban{
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
column-gap:3.5%;
row-gap:15px;
padding:20px 0;
}


.foot-ban li{
width:31%;
}

.foot-wrap{
background:#cee1f4;
padding:20px 10px;
}

.foot-navi{
margin-left:auto;
margin-right:auto;
text-align:center;

}


.foot-navi li{
display:inline-block;
font-size:1.4em;
border-right:solid 1px #999;
padding:0 15px;
}

.foot-navi li:first-child{
border-left:solid 1px #999;
}

.foot-navi li a{
color:#3c3d3c;
}

.foot-logo{
position:absolute;
top:5px;
width:290px;
}

.foot-address{
margin-left:320px;
}

.foot-address p{
font-size:1.4em;
}
.foot-bdr{
border-top:solid 1px #fff;
}

.foot-cr{
text-align:center;
font-size:1.3em;
padding:10px 0;
}

.foot-div .search-box{
display:none;
}

.contact-btn01{
display:inline-block;
padding:0.4em 1.5em 0.6em 1.5em;
border:solid 1px #666;
color:#333;
text-decoration:none;
}
.contact-btn01 i{
color:#999;
font-size:1.8em;
margin-right:5px;
position:relative;
top:3px;
}

.contact-btn01:hover{
text-decoration:none !important;
background:#fbfbfb;
color:#144480 !important;
}

.foot-navi2nd-wrap{
display:flex;
justify-content:space-around;
}

.foot-navi2nd{
/* vertical-align:top;
display:inline-block; */
}

.foot-navi2nd li{
font-size:1.4em;
margin-left:1.5em !important;
margin-bottom:5px;
}

.foot-navi2nd li a{
color:#333;
}

.foot-li01{
}

.foot-li01:before{
content:'▶︎';
margin-left:-1.5em !important;
margin-right:0.5em;
}

.foot-li01b:before{
content:'■';
margin-left:-1.5em !important;
margin-right:0.5em;
}

.foot-li02:before,
.foot-li03:before{
content:'';
margin-left:-1.5em !important;
}

.foot-li02 i{
color:#999;
font-size:1.6em;
margin-right:8px;
position:relative;
top:2px;
}

.foot-li03 i{
color:#999;
font-size:1.6em;
position:relative;
top:4px;
margin-right:4px;
}

.foot-li04:before{
content:'▷';
margin-left:-1.5em !important;
margin-right:0.5em;
padding-left:1.5em;
}

.foot-li04 span{
display:block;
margin-left:1.5em;
}


.address01{
display:inline-block;
vertical-align:top;
margin-right:80px;
}

.address02{
display:inline-block;
vertical-align:top;
}

/*
-----------------------------------------------
フッター　TAB SP
----------------------------------------------- */
@media screen and (max-width: 896px) {
.foot-navi2nd {
margin-right:10px;
}
.foot-navi li{
margin-bottom:5px;
}

.foot-navi2nd li{
font-size:1.2em;
margin-left:1.3em !important;
margin-bottom:5px;
}

.head-div{
margin:10px 0;
}

.heqd-div .search-box{
display:block;
position:relative;
margin-left:auto;
margin-right:auto;
text-align:center;
padding-bottom:20px;
}

.head-div .searchfield {
  position:relative;
font-size:1.3em;
  width: 100%;
  margin: 3px;
  padding: 3px 10px;
  border: solid 1px #ccc !important;
  border-radius: 20px;
  background-color: #fff !important;
  height:32px !important;
}

.head-div .searchsubmit {
  font-family:'Font Awesome 5 Free';
  font-size:1.8em;
  position: absolute;
  top: 0px;
  right: 5%;
  margin-top: 10px;
  padding: 0;
  cursor: pointer;
  color: #999;
  border: none;
  background: transparent;
  font-weight: 600;
}
 
.head-div .searchsubmit:hover {
  opacity: .6;
}


}

/*
-----------------------------------------------
フッター　SP
----------------------------------------------- */
@media screen and (max-width: 767px) {

.foot-div .searchfield {
  width: 80%;
}

.foot-div .searchsubmit {
  right: 14%;
}

.foot-ban{
column-gap:4%;
row-gap:15px;
padding:20px 0;
}

.foot-ban li{
width:48%;
}


.foot-logo{
position:relative;
top:auto;
text-align:center;
margin-bottom:15px;
padding-top:5px;
}

.foot-logo img{
width:90%;
height:auto;
}

.foot-address{
margin-left:0px;
margin-left:auto;
margin-right:auto;
text-align:center;
}

.foot-wrap{
padding:10px 0;
}


.foot-navi2nd-wrap{
display:block;
}

.foot-navi2nd{
display:block;
}

.bdr-type02{
border-bottom:dotted 2px #fff;
margin-bottom:14px;
padding-bottom:10px;
}

.foot-navi2nd li{
margin-left:1.5em !important;
margin-bottom:5px;
}

.address01{
display:block;
margin-right:0;
width:100%;
padding-bottom:10px;
}

.foot-logo02{
padding-left:20px;
padding-right:20px;
}

.address02{
display:block;
margin-right:0;
width:100%;
padding-bottom:10px;
}

}


/*
-----------------------------------------------
見出し
----------------------------------------------- */

.h-type01 {
    margin:  0;                 /* デフォルトCSS打ち消し */
    font-size:  2.4em;           /* 文字サイズ指定 */
    border-bottom: solid 3px #333;   /* 線指定 */
    padding-bottom:  5px;       /* 余白指定 */
    margin-bottom: 15px;        /* 周りの余白指定 */
    position:  relative;        /* 位置調整 */
    font-weight:  normal;       /* 文字の太さ調整 */
}

.h-type01:before {
    content:  '';               /* 空白の要素を作る */
    width: 100%;                /* 幅指定 */
    height: 1px;                /* 高さ指定 */
    background-color: #333;     /* 背景色指定 */
    display:  block;            /* ブロック要素にする */
    position:  absolute;        /* 位置調整 */
    left:  0;                   /* 位置調整 */
    bottom: -6px;               /* 位置調整 */
}


.h-type02{
font-size:2.0em;
margin-bottom:20px;
border-left:solid 10px #cee1f4;
padding-left:12px;
}

.h-type03{
position:relative;
border-bottom:solid 1px #ccc;
padding-bottom:6px;
margin-bottom:12px;
font-size:2.0em;
}

.h-type03 span{
font-size:1.6em;
display:inline-block;
float:right;
padding-right:24px;
}


/*
-----------------------------------------------
見出し SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.h-type01{
font-size:1.8em;
padding-bottom:4px;
margin-bottom:20px;
}

.h-type02{
font-size:1.6em;
margin-bottom:16px;
border-left:solid 10px #cee1f4;
padding-left:10px;
}

.h-type03{
margin-bottom:0px;
}

}


/*
-----------------------------------------------
TOP
----------------------------------------------- */
.top-container{
display:flex;
justify-content:space-between;
}

.top-subnavi{
margin-left:20px;
margin-right:20px;
}

.top-subnavi li{
margin-top:4px;
}

.top-subnavi li a{
font-size:1.6em;
color:#666;
display:block;
text-align:center;
line-height:1.0;
padding:20px 0 10px 0;
background:#f0f3ef;
}

.top-subnavi li a:hover{
text-decoration:none;
background:#8cc63f;
color:#fff;
}

.top-news-box{
margin:30px 0 40px 0;
padding:34px 0;
background:#cee1f4;
}

.top-news{
/* font-size:1.6em; */
font-size:1.5em;
/* margin-top:20px; */
margin-top:15px;
}

.top-news dt{
width:170px;
float:left;
display:block;
}

.top-news dd{
width:630px;
float:right;
display:block;
}

.top-news dd a,
.h-type03 span a{
color:#333;
}

.top-news dd a:hover,
.h-type03 span a:hover{
color:#0078d7;
}

.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.lh2{
line-height:2.0 !important;
}

/*
-----------------------------------------------
TOP TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.top-container .item img{
width:98%;
height:auto;
}


.top-news{
margin-top:20px;
padding-left:20px;
padding-right:20px;
}

.top-news dt{
width:15%;
float:left;
display:block;
}

.top-news dd{
width:80%;
float:right;
display:block;
}


}



/*
-----------------------------------------------
TOP TAB
----------------------------------------------- */
@media screen and (max-width: 896px) {
.top-container .item img{
width:98%;
height:auto;
}

.top-subnavi{
margin-left:10px;
margin-right:10px;
}

.top-subnavi li a{
padding:10px 0 5px 0;
font-size:1.4em;
line-height:2.0 !important;
padding-left:5px;
padding-right:5px;
}

.top-news dt{
width:20%;
float:left;
display:block;
}

.top-news dd{
width:77%;
float:right;
display:block;
}

.top-news{
padding-bottom:10px;
}

}

/*
-----------------------------------------------
TOP SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.top-container{
display:block;
}

.top-container .item{
width:100%;
padding-left:15px;
padding-right:15px;
margin-bottom:20px;
}


.top-subnavi{
display:none;
}

.top-news-box{
margin:10px 0 20px 0;
padding:20px 0;
}

.top-news{
padding-bottom:10px;
margin-top:10px;
border-bottom:dotted 1px #ccc;
}

.top-news dt{
width:100%;
float:none;
}

.top-news dd{
width:100%;
float:none;
}

.sp-lh{
line-height:2.2 !important;
}

.lh2{
line-height:1.7 !important;
}
}

/*
-----------------------------------------------
下層　基本
----------------------------------------------- */
.article a{
text-decoration:underline !important;
}

.article a:hover{
text-decoration:none !important;
}

.news-date{
font-size:1.6em;
}

.article{
padding-left:40px;
padding-right:40px;
}

.article table,
.article td,
.article th{
border:solid 1px #999 !important;
padding:5px;
}

.type-kiji p{
margin-bottom:1em;
}

.bdr01{
border:solid 1px #ccc;
}

.news-date{
font-size:1.6em;
}

.article p,
.article table,
.article li{
font-size:1.6em;
}

.type-kiji p{
margin-bottom:1em;
}

/*
-----------------------------------------------
下層基本 TAB SP
----------------------------------------------- */
@media screen and (max-width: 896px) {
.article{
padding-left:10px;
padding-right:10px;
}

}

/*
-----------------------------------------------
お知らせ一覧
----------------------------------------------- */
.news-list{
font-size:1.6em;
padding-bottom:15px;
margin-bottom:15px;
border-bottom:dotted 1px #ccc;
}

.news-list dt{
width:180px;
float:left;
display:block;
}

.news-list dd{
width:790px;
float:right;
display:block;
}

.news-list dd a{
color:#333;
}

.news-list dd a:hover{
color:#144480 !important;
}

/*
-----------------------------------------------
お知らせ一覧 TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.news-list dd{
width:740px;
}

}

/*
-----------------------------------------------
お知らせ一覧 TAB SP
----------------------------------------------- */
@media screen and (max-width: 768px) {
.news-list{
padding-bottom:10px;
margin-bottom:10px;
border-bottom:dotted 1px #ccc;
}

.news-list dt{
width:100%;
float:none;
}

.news-list dd{
width:100%;
float:none;
}

}


/*
-----------------------------------------------
投稿レイアウト
----------------------------------------------- */
.btn-type01{
background:#3871a0;
color:#fff;
display:inline-block;
padding:0.7em 3em;
border-radius:6px;
font-size:1.6em;
text-decoration:none;
}
.btn-type01:hover{
background:#638aab;
text-decoration:none;
color:#fff !important;
}


/*
-----------------------------------------------
投稿レイアウト SP
----------------------------------------------- */
@media screen and (max-width: 768px) {
.btn-type01{
display:block;
padding:0.7em 0;
border-radius:6px;
font-size:1.4em;
width:80%;
text-align:center;
margin-bottom:10px;
margin-left:auto;
margin-right:auto;
}



}


/*
-----------------------------------------------
お問い合わせ
----------------------------------------------- */
.shikaku:before{
content:"■";
margin-right:4px;
}

.color03{
color:red;
}

#contact-top,
#confirm-top,
#error-top,
#thanks-top{
background-image:url(/img/contact_top.jpg);
background-position:top center;
}

.contact-box01{
border:solid 1px #279e5b;
padding:40px 10px;
margin:30px 0;
}



.contact-box{
font-weight:bold;
border:solid 1px #777;
width:640px;
margin-left:auto;
margin-right:auto;
padding:30px 0;
margin-bottom:30px;
}

.f-d:before{
content: url(/img/fd.png);
position:relative;
margin-left:12px;
margin-right:3px;
display:inline-block;
margin-top:0px;
}


.contact-dl{
font-size:1.6em;
border-bottom:solid 1px #ccc;
padding-top:20px;
padding-bottom:20px;
}

.contact-dl dt{
vertical-align:top;
width:255px;
display:inline-block;
margin-right:15px;
}
.contact-dl dd{
width:700px;
display:inline-block;
}

.radio-span{
display:block;
margin-bottom:10px;
}

.radio-span input{
vertical-align:middle;
margin-right:6px;
}

.komoku{
float:left;
width:180px;
display:inline-block;
margin-top:0.4em;
}

.must{
float:right;
display:inline-block;
color:#fff;
background:#be3832;
width:74px;
line-height:1.0;
text-align:center;
padding:0.5em 0;
}

input[type="text"],
input[type="email"],
textarea {
padding: 0.6em;
outline: none;
border: 1px solid #DDD;
font-size:1.5em;
background:#eeeeee;
}

.type-page input[type="text"],
.type-page input[type="email"],
.type-page textarea {
font-size:1.0em !important;
}

.input-box01{
width:660px;
}

.input-box01c{
width:500px !important;
margin-bottom:8px !important;
}

.zip{
width:150px;
border:solid 1px #ccc !important;
padding:7px 6px;
background:#eeeeee;
}

.add-txt{
display:inline-block;
width:9.4em;
}

.ml5{
margin-left:5px;
}

.input-box02{
width:660px;
height:200px;
}

.input-box03{
margin-top:-25px;
}

.input-btn01{
font-size:1.8em;
display:inline-block;
padding:0.8em 2.4em;
color:#fff;
background:#3871a0;
border-radius:6px !important;
}

.input-btn01:hover{
background:#4995d4;
border-radius:6px !important;
}

.input-btn02{
font-size:1.8em;
display:inline-block;
padding:0.8em 2.4em;
color:#fff;
background:#888;
margin-right:10px;
border-radius:6px !important;
}

.input-btn02:hover{
border-radius:6px !important;
background:#b7b6b6;
}

.confirm-p{
font-size:1.8em;
font-weight:bold;
text-align:center;
padding:20px;
}

/* .cr02{color:#ff0000;} */
.cr02{color:#cc0000;} 


/* エラー吹き出し */
.error{
  font-weight:bold;
  display:inline-block;
  position: relative;
  padding: 0.5em 1.5em;
  color:#fff !important;
  border-radius:6px;
  /* background:#ff0000; */
  background:#cc0000;
  font-size:1.4em;
  margin-top:12px;
  width:200px;
  text-align:center;
}

.error::before{
  content: '';
  position: absolute;
  left: 64px;
  top: -15px;
  display: block;
  width: 0;
  height: 0;
  border-right: 15px solid transparent;
  border-bottom: 25px solid #cc0000;
  border-left: 15px solid transparent;
}

.input-box01b{
width:5em;
}

.pv-komoku{
width:470px;
}

.pv-box{
border:solid 2px #279e5b;
padding:45px;
}

.pv-box ul{
list-style-type:disc;
margin-left:30px;
padding-top:20px;
}

.pv-ol li{
margin-top:20px;
}

.pv-box h4{
border-bottom:solid 1px #999;
padding-bottom:10px;
font-weight:bold;
margin-bottom:10px;
font-size:1.8em;
padding-top:10px;
}

.cp_ipselect {
	overflow: hidden;
        width: 400px !important;
	text-align: center;
}
.cp_ipselect select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.cp_ipselect select::-ms-expand {
    display: none;
}
.cp_ipselect.cp_sl01 {
	position: relative;
	border: 1px solid #bbbbbb;
	border-radius: 2px;
	background: #ffffff;
}
.cp_ipselect.cp_sl01::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.cp_ipselect.cp_sl01 select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}

.pv-ol{
list-style-type:decimal;
margin-left:20px;
}

.tel-box{
padding:15px 35px 15px 35px;
display:inline-block;
border:solid 1px #208ab6;
margin-bottom:20px !important;
background:#ebf3fa;
}

.ul-type03 li{
list-style-type:disc !important;
margin-left:20px;
}

/*
-----------------------------------------------
お問い合わせ TAB
----------------------------------------------- */
@media screen and (max-width: 768px) {


.contact-dl{
width:100%;
padding-top:30px;
padding-bottom:30px;
padding-left:20px;
padding-right:20px;
}

.contact-dl dt{
vertical-align:top;
width:100%;
display:inline-block;
margin-right:0px;
margin-bottom:10px;
}
.contact-dl dd{
width:100%;
display:inline-block;
}

.komoku{
float:none;
width:auto;
display:inline-block;
margin-top:0;
margin-right:10px;
}

.must{
float:none;
}

.yoken{
border:solid 1px #ccc;
}

.input-box01{
width:100%;
}

.input-box01c{
width:90% !important;
}

.input-box02{
width:100%;
height:200px;
}

.cp_ipselect {
width:100% !important;
}

}

/*
-----------------------------------------------
お問い合わせ SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.spmg001{
margin-top:-20px;
}


.contact-box01{
padding:10px 10px;
margin:30px 0;
}


.contact-box{
font-weight:bold;
border:solid 1px #777;
width:100%;
margin-left:auto;
margin-right:auto;
padding:15px;
margin-bottom:30px;
}


.f-d:before{
margin-left:0px;
}
.f-d{
display:block;
}


.contact-dl{
width:100%;
padding-top:20px;
padding-bottom:20px;
padding-left:0px;
padding-right:0px;
}

.input-btn01{
font-size:1.8em;
padding:0.4em 1.5em;
}

.input-btn02{
font-size:1.8em;
padding:0.4em 1.5em;
margin-right:3px;
}

input[type="radio"],
input[type="checkbox"]{
border:solid 1px #888;
}

}


/*
-----------------------------------------------
検索
----------------------------------------------- */
.kensaku-ul li a{
font-weight:bold;
display:block;
}

.kensaku-ul li{
margin-bottom:20px;
font-size:1.6em;
}

/* --------------------------
        ページャー
---------------------------*/

.pager{
	text-align:center;
}
a.page-numbers,
.pager .current{
	background:rgba(0,0,0,0.02);
	border:solid 1px rgba(0,0,0,0.1);
	border-radius:5px;
	padding:5px 8px;
	margin:0 2px;
}
.pager .current{
	background:rgba(0,0,0,1);
	border:solid 1px rgba(0,0,0,1);
	color:rgba(255,255,255,1);
}


/* --------------------------
催物
---------------------------*/
.nichiji{
display:inline-block;
font-weight:bold;
background:#dfdfdf;
padding:0.7em 1em;
line-height:1.0;
margin-bottom:14px;
font-size:1.5em;
}


.wrap-hall-event .hall-event-info{
float:left;
width:60%;
}

.wrap-hall-event .hall-event-img{
float:right;
width:35%;
}

.hall-event-ttl{
display:inline-block;
/* background:#cdfafd; */
background:#dfdfdf;
line-height:1.0;
width:9em;
text-align:center;
padding:0.7em 0em;
margin-bottom:10px;
font-size:1.6em;
}

.kinkyu{
font-weight:bold;
color:#cc0000;
font-size:1.8em;
}

.event-list .kinkyu,
.pickup-list .kinkyu{
font-size:1.0em !important;
}

.event-list{
padding-bottom:10px;
margin-bottom:10px;
border-bottom:dotted 1px #ccc;
font-size:1.6em;
}

.event-list dt{
width:220px;
float:left;
display:block;
}

.event-list dd{
width:770px;
float:right;
display:block;
}

.event-list dd a{
/* color:#333; */
}

.news-list dd a:hover{
color:#0078d7;
}

.box01{
padding-bottom:20px;
margin-bottom:20px;
}

.bdr-type01{
border-bottom:dotted 1px #ccc;
}

.sc-box{
border-radius:10px;
border:solid 1px #ccc;
padding:15px 45px;
margin-left:0px;
margin-right:0px;
margin-bottom:30px;
}

.sc-box li{
font-size:1em;
}

.ul-type01{
margin-bottom:20px;
margin-top:10px;
padding:15px;
background:#eff2f2;
}
.ul-type01 li{
font-size:1.4em;
margin-left:20px;
padding-left:0px;
list-style-type:disc !important;
}

.detail-info{
font-size:1.5em;
}

.add-img-box{
width:23%;
margin-right:2.6%;
display:inline-block;
vertical-align:top;
margin-bottom:15px;
}

.add-img-box img{
width:100%;
height:auto;
}

.add-img-box:last-child{
margin-right:0%;
}

/*
-----------------------------------------------
催物 TAB
----------------------------------------------- */
@media screen and (max-width: 896px) {
.sc-box{
border-radius:0px;
border:solid 0px #fff;
padding:0;
margin-left:0px;
margin-right:0px;
margin-bottom:30px;
}

.ul-type01 li{
font-size:1.4em;
}
.ul-type01{
padding:8px;
}


.event-list dt{
width:100%;
float:none;
}

.event-list dd{
width:100%;
float:none;
/*追加*/
padding-left:1em;
padding-right:1em
}

}


/*
-----------------------------------------------
催物 SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.sc-box{
border-radius:0px;
border:solid 0px #fff;
padding:0;
margin-left:0px;
margin-right:0px;
margin-bottom:30px;
}

.ul-type01 li{
font-size:1.4em;
}
.ul-type01{
padding:8px;
}


.event-list dt{
width:100%;
float:none;
}

.event-list dd{
width:100%;
float:none;
/*追加*/
padding-left:1em;
padding-right:1em
}

.wrap-hall-event .hall-event-info{
float:none;
width:100%;
}

.wrap-hall-event .hall-event-img{
float:none;
width:100%;
margin-bottom:20px;
}

.add-img-box{
width:48%;
margin-right:4%;
}

.add-img-box:nth-child(2n){
margin-right:0%;
}

}


/* --------------------------
ピックアップ
---------------------------*/
.pickup-list{
margin-top:40px;
padding-bottom:60px;
}

.pickup-list li{
display:inline-block;
vertical-align:top;
width:30%;
margin-right:5%;
margin-bottom:40px;
font-size:1.6em;
}

.pickup-list li:nth-of-type(3n){
margin-right:0%;
}

.pickup-date{
margin-top:8px;
}

.pickup-ttl{
font-weight:bold;
}


/*
-----------------------------------------------
ピックアップ SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.pickup-list{
margin-top:15px;
padding-bottom:30px;
}

.pickup-list li{
display:inline-block;
vertical-align:top;
width:47%;
margin-right:6%;
margin-bottom:30px;
}

.pickup-list li:nth-of-type(3n){
margin-right:6%;
}

.pickup-list li:nth-of-type(2n){
margin-right:0% !important;
}


}


/* --------------------------
ご利用案内
---------------------------*/
.top-riyo{
padding-top:20px;
padding-bottom:40px;
display:flex;
justify-content:space-between;
}

.top-riyo li{
width:30%;
}

/* --------------------------
催物検索
---------------------------*/
.sf-field-submit input,
.sf-kensaku{
padding:0.8em 1em;
line-height:1.0;
/* background:#46cdd6; */
background:#3871a0;
color:#fff;
font-size:1.6em;
border-radius:4px !important;
vertical-align:top:
}

.sf_date_field li{
display:inline !important;
}

.sf-field-submit input{
position:relative;
margin-top:-20px;
}

.sf-field-submit{
float:left;
margin-left:10px;
}

.sf_date_field{
margin-right:5px;
float:left;
vertical-align:top:
}

.sf_date_field li input{
width:140px !important;
}


.sf01{
vertical-align:top;
display:inline-block;
width:56%;
}

.sf02{
vertical-align:top;
display:inline-block;
width:43%;
}

#testSearchInput{
width:250px;
}

.sf01 h4,
.sf02 h4{
font-size:1.6em;
margin:0;
padding:0;
}

.sf02 h4{
margin-bottom:10px;
}



/* --------------------------
催物検索　TAB
---------------------------*/
@media screen and (max-width: 768px) {
.sf01{
width:55%;
}

.sf02{
width:44%;
}

#testSearchInput{
width:220px;
margin-right:3px;
}

}


/* --------------------------
催物検索　SP
---------------------------*/
@media screen and (max-width: 767px) {
.sf01{
display:block;
width:100%;
font-size:1.3em;
}

.sf-field-submit input,
.sf-kensaku{
font-size:1.2em;
}


.sf_date_field li input{
width:120px !important;
font-size:1.1em;
}

.sf01 h4,
.sf02 h4{
font-size:1.3em;
margin:0;
padding:0;
}


.sf02{
font-size:1.3em;
border-top:dotted 1px #ccc;
display:block;
width:100%;
padding-top:10px;
margin-top:10px;
}

.sf-field-submit input{
margin-top:-20px;
}

.sf-field-submit{
float:none;
margin-left:0px;
}

.sf_date_field{
margin-right:0px;
float:none;
}

.sf_date_field li input{
margin-bottom:8px;
}

#testSearchInput{
width:100%;
margin-bottom:8px;
font-size:1.1em;
}

}




/* morelinkボタンのスタイル */
.morelink{
    font-size:1.6em;
    display:block;
    max-width:240px;
    margin:20px auto;
    padding:10px 20px;
    background:#3871a0;
    border:2px solid #fff;
    color:#fff;
    text-align:center;
    border-radius:5px;
}
.morelink:hover{
    cursor:pointer;
    border:2px solid #3871a0;
    background:#fff;
    color:#3871a0;
}

/* BX SLIDER PAGER */
@media screen and (max-width: 767px) {
.bx-wrapper .bx-pager {
  padding-top: 0px;
}
}

#ui-datepicker-div{
z-index:1000000 !important;
}



/* --------------------------
ドロップダウン　TABコントロール
---------------------------*/

nav .sub-menu {
  font-size:0.9em;
  position: absolute;
  width: 120%;
  top: 62px;
  display: none;
  border-left:solid 1px #ccc;
  border-right:solid 1px #ccc;
}
nav .sub-menu a {
/* border-top:solid 1px #fff; */
color:#333;
line-height:1.0;
padding:14px 0;
background:#e2edf2;
display: block;
  border-bottom:solid 1px #ccc;
}
nav .sub-menu a:hover {
background:#3871a0;
color: #fff;
}

.menu-item-has-children:hover ul,
.menu-item-has-children ul.focused {
  display: block;
}
.menu-item-has-children li a:hover,
.menu-item-has-children li a:focus {
  background: #8cc63f;
}


/* --------------------------
フォント対応
---------------------------*/
.f-type01{font-size:1.4em;}
.f-type02{font-size:1.6em;}
.f-type03{font-size:1.8em;}
.f-type04{font-size:2.0em;}
.f-type05{font-size:2.2em;}
.f-type06{font-size:2.4em;}

#nav-skiplink {
	position: absolute;
	top: -10000px;
	left: -10000px;
}


.ichiran-pc{
position:absolute;
right:-20px;
top:5px;
font-size:0.75em !important;
}

.tel-inq{
font-size:2.0em !important;
font-weight:bold;
margin-bottom:16px;
}


.ichiran001{
position:absolute;
right:-20px;
top:5px;
font-size:0.75em !important;
}

/* --------------------------
ブログ
---------------------------*/
.in-blog01{
width:800px;
float:left;
}

.in-blog02{
width:280px;
float:right;
font-size:1.5em;
}

.blog-li{
display:inline-block;
vertical-align:top;
width:30%;
margin-right:3%;
font-size:1.5em;
margin-bottom:40px;
}


.blog-li:nth-child(3n){
margin-right:0;
}

.head-blog-ttl{
height:300px;
width:100%;
background-image:url(../img/blog_back.png);
background-repeat:no-repeat;
background-size:cover;
background-position:bottom center;
margin-top:-20px;
margin-bottom:20px;
}

.head-blog-ttl h2{
padding-top:130px;
text-align:center;
}

.blog-side01{
background:#3a719e;
color:#fff;
font-weight:bold;
padding:0.5em 2em;
}

.blog-ul01 li{
margin-bottom:14px;
}

.date{
font-size:1.5em;
}

.caption{
font-size:1.4em;
padding:5px 10px;
background:#eee;
margin-bottom:20px;
}

/* --------------------------
ブログ SP
---------------------------*/
@media screen and (max-width: 767px) {

.in-blog01{
width:100%;
float:none;
}

.in-blog02{
width:100%;
float:none;
}

.head-blog-ttl{
height:150px;
width:100%;
background-image:url(../img/blog_img02.png);
background-repeat:no-repeat;
background-size:cover;
background-position:bottom right;
margin-top:-20px;
margin-bottom:20px;
}


.head-blog-ttl h2{
padding-top:65px;
text-align:center;
}


.head-blog-ttl img{
width:240px !important;
height:auto;
}

.blog-li{
width:48%;
margin-right:3%;
font-size:1.5em;
margin-bottom:20px;
}


.blog-li:nth-child(3n){
margin-right:2.2%;
}

.blog-li:nth-child(2n){
margin-right:0%;
}

}

.ichiran-pc{
position:absolute;
right:-20px;
top:5px;
font-size:0.75em !important;
}


/* --------------------------
プレイガイド
---------------------------*/

.playguide-box{
line-height:1.7;
color:#333;
background:#fff;
width:1080px;
margin-left:auto;
margin-right:auto;
}

.playguide-dl{
font-size:1.4rem;
border-bottom:solid 1px #ccc;
}

.playguide-dl a{
color:#333;
}

.playguide-dl dt{
vertical-align:top;
padding:15px 6px 15px 15px;
display:inline-block;
width:15%;
background:#f5f5f5;
}

.playguide-dl dd{
vertical-align:top;
display:inline-block;
width:85%;
padding-top:10px;
padding-bottom:15px;
}

.playguide-dl .pg01{
vertical-align:top;
padding:5px 10px 5px 15px;
display:inline-block;
width:55%;
}

.playguide-dl .pg02{
vertical-align:top;
padding:5px 10px;
display:inline-block;
width:10%;
}

.playguide-dl .pg03{
vertical-align:top;
padding:5px 10px;
display:inline-block;
width:18%;
}

.playguide-dl .pg04{
padding:5px 10px;
display:inline-block;
width:19%;
}

.playguide-dl .pg05{
vertical-align:top;
padding:5px 10px;
display:inline-block;
width:23%;
}

.koen-ttl{
font-size:1.6rem;
font-weight:bold;
margin-bottom:8px;
}

.kaien{
display:inline-block;
background:#ecedec;
width:4.8em;
padding:0.3em 0;
text-align:center;
}

.henko{
color:red;
}

.event-cate-list{
border-bottom:solid 1px #ccc;
font-weight:bold;
font-size:1.6rem;
padding-bottom:5px;
}

.event-cate-list li{
display:inline-block;
padding-left:15px;
}

.event-date{width:15%;}
.event-name{width:46%;}
.event-price{width:16%;}
.event-contact{width:21.5%;}

.playguide-ul{
background:#f5f5f5;
padding:20px;
}

.playguide-ul li{
list-style-type:disc;
margin-left:20px;
line-height:1.5;
margin-bottom:8px;
}

.kaien-ttl02{
width:5.5em;
display:inline-block;
vertical-align:top;
}

.kaien-info02{
vertical-align:top;
display:inline-block;
width:180px;
}

.kaien-bottom{
margin-bottom:5px;
}

/*
-----------------------------------------------
プレイガイド TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.playguide-box{
width:100%;
padding-left:4%;
padding-right:4%;
}

.event-date{width:15%;}
.event-name{width:40.5%;}
.event-price{width:21%;}
.event-contact{width:21.5%;}


.playguide-dl .pg01{
width:48.5%;
}

.playguide-dl .pg04{
width:25%;
}

.playguide-dl .pg05{
width:21.5%;
}

}

/* --------------------------
プレイガイド　TAB
---------------------------*/
@media screen and (max-width: 768px) {
.playguide-box{
width:100%;
padding-left:10px;
padding-right:10px;
}

.playguide-dl dt{
width:11%;
padding-top:10px;
padding-left:5px;
padding-right:5px;

}

.playguide-dl dd{
width:89%;
padding-top:10px;
padding-bottom:15px;
}

.event-date{width:10%;}
.event-name{width:40.5%;}
.event-price{width:23%;}
.event-contact{width:19.5%;}

.playguide-dl .pg01{
width:46%;
}

.playguide-dl .pg04{
width:26.5%;
}

.playguide-dl .pg05{
width:25.5%;
}

}

/* --------------------------
プレイガイド　SP
---------------------------*/
@media screen and (max-width: 767px) {

.playguide-box{
width:100%;
}


.playguide-dl dt{
padding:15px 6px 15px 15px;
display:block;
width:100%;
background:#f5f5f5;
}

.playguide-dl dd{
display:block;
width:100%;
padding-top:10px;
padding-bottom:15px;
}

.event-cate-list{
display:none;
}

.no-sp{
display:none;
}



.playguide-dl .pg01{
padding:5px 15px;
display:block;
width:100%;
}

.playguide-dl .pg04{
padding:5px 15px;
display:block;
width:100%;
}

.playguide-dl .pg05{
padding:5px 15px;
display:block;
width:100%;
}

.kaien-ttl,
.kaien-ttl02{
width:26%;
display:inline-block;
vertical-align:top;
}

.kaien-info,
.kaien-info02{
vertical-align:top;
display:inline-block;
width:72%;
}

.kaien-bottom{
margin-bottom:15px;
}

.playguide-ul{
padding:15px;
font-size:0.9em;
}

}

/*
-----------------------------------------------
スマホサブメニュー TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.sp-sub{
display:none;
}

}

/* --------------------------
スマホサブメニュー　TAB SP
---------------------------*/
@media screen and (max-width: 768px) {
.sp-sub{
display:block !important;
background:#efefef;
}
.sp-sub li{
display:inline-block;
width:33%;
text-align:center;
font-size:1.5em;
padding:10px 0;
}

.sp-sub li a{
text-decoration:none;
color:#666;
display:block;
}

.d-b{
border-left:solid 1px #fff;
border-right:solid 1px #fff;
}

}

/* --------------------------
スマホサブメニュー　SP
---------------------------*/
@media screen and (max-width: 767px) {
.sp-sub li{
display:inline-block;
width:33%;
text-align:center;
font-size:1.3em;
padding:5px 0;
}
}


/* --------------------------
DLタグ
---------------------------*/
.dl01{
margin-bottom:16px;
}

.dl01 dt{
font-size:1.8em;
font-weight:bold;
}

.dl01 dd{
font-size:1.6em;
margin-left:1em;
}

.a-type01{
color:#333 !important;
}

.a-type01:hover{
color:#144480 !important;
}


/* --------------------------
見出しなどサンプル
---------------------------*/
pre{
font-size:2.0rem;
}

code{
background:#f3f0f0;
}

.type-h2{
background:#3871a0;
color:#fff;
font-size:2.4rem;
font-weight:bold;
padding:0.2em 0.5em;
margin-bottom:14px;/* 追加 */
}

.type-h3{
background:#f6f6f6;;
/* color:#3871a0; */
 border-left: 7px solid #3871a0;
font-size:2.2rem;
font-weight:bold;
padding:0.2em 0.5em;
margin-bottom:12px;/* 追加 */
}

.type-h4{
border-bottom:solid 2px #3871a0;
/* color:#3871a0; */
font-size:2.0rem;
font-weight:bold;
padding:0.2em 0.3em;
margin-bottom:12px;/* 追加 */
}


.type-h5{
 border-left: 10px solid #3871a0;
 /* color:#3871a0; */
font-size:1.7rem;
font-weight:bold;
padding:0em 0.5em;
margin-bottom:12px;/* 追加 */
}

.type-h6{
 border-bottom: dotted 1px #3871a0;
 /* color:#3871a0; */
font-size:1.6rem;
font-weight:bold;
padding:0.2em 0.2em;
margin-bottom:12px;/* 追加 */
}

.type-ol{
list-style-type:decimal;
font-size:1.0rem;
margin-left:24px;
}

.type-ul01{
list-style-type:disc;
font-size:1.0rem;
margin-left:24px;
}

.type-ul02 li:before{
content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url(../img/c-mk.png);
  background-repeat:no-repeat;
  background-size: contain;
  vertical-align: middle;
  line-height:1.5;
  padding-right:4px;
  margin-bottom:4px;
}

.type-dl01{
font-size:1.6rem;
}
.type-dl01 dt{
font-weight:bold;
}

.type-dl01 dt:before{
content:"■";
margin-right:2px;
}

.type-dl01 dd{
margin-bottom:15px;
margin-left:1.15em;/* 変更 */
}

@media screen and (max-width: 767px) {
.type-h2{
font-size:2.1rem;
}

.type-h3{
font-size:1.9rem;
}

.type-h4{
font-size:1.8rem;
}
}


/* --------------------------
youtube
---------------------------*/

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-top:10px;
  margin-bottom:20px;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}



/*
-----------------------------------------------
flex
----------------------------------------------- */
.container01{
display:flex;
flex-wrap:wrap;
}

.container02{
display:flex;
flex-wrap:nowrap;
}

.container03{
display:flex;
flex-wrap:wrap-reverse;
}

.al-item01{
align-items:flex-end
}

.c-type01{
justify-content:space-between;
}

.c-type02{
justify-content:space-around;
}

.c-type03{
justify-content:flex-start;
}

.c-type04{
justify-content:center;
}



/* --------------------------
イベント一覧
---------------------------*/
.ev-ttl-in{
width:63%;
}

.ev-shusai-in{
width:34%;
}

.ev-shusai-in p,
.ev-shusai-in span,
.ev-shusai-in div{
font-size:0.9em;
}

#event-list-ttl{
background:#cfe1f3;
text-align:center !important;
padding-top:10px !important;
margin-top:30px;
margin-bottom:20px !important; 
}

.kako_event {
display:inline-block;
line-height:36px;
height:36px;
margin-top:30px;
}

.kako_event a{
font-size:1.4em;
display:block;
text-decoration:none !important;
background:#3e719e;
padding:0.2em 1.5em;
border-radius:8px;
color:#fff;
}

.kako_event a:hover{
opacity:0.5;
}

.check-confirm .no-confirm{
display:none;
}

/* --------------------------
イベント一覧 TAB SP
---------------------------*/
@media screen and (max-width: 896px) {
/*追加*/
#event-list-ttl{
display:none;
}


.ev-ttl-in{
width:100%;
}

.ev-shusai-in{
width:100%;
margin-top:8px;
}


.ev-day{
background:#edeae9;
padding:0.2em 1em;
}

/*追加*/
.time-p{
padding-left:1em;
padding-right:1em;
}



#ichiran-h3{
margin-bottom:15px !important;
}


}


/*
-----------------------------------------------
ボタン
----------------------------------------------- */
.btn-box{
margin-top:-35px !important;
display:block;
text-align:right !important;
}

.btn-box i{
font-size:3.0rem;
text-decoration:none !important;
}

.btn-box a{
text-decoration:none !important;
margin-left:10px;
}

.btn-box a:hover{
opacity:0.5;
}

.btn-box a:hover{
color:#c1292f;
}

.sns_twitter{color:#000 !important;}
.sns_facebook{color:#314a8a !important;}
.page_print{color:#333 !important;}

@media screen and (max-width: 767px) {
.btn-box{
margin-top:0px !important;
text-align:right;
}

.btn-box i{
font-size:2.4rem;
text-decoration:none !important;
margin-right:5px;
}
}

/*NEWマーク*/
.newMark {
    color: #ffffff;
    font-size: 1.2rem;
    background: red;
    position: relative;
    padding-left:5px;
    padding-right:5px;
    height:20px;
    line-height:20px;
    margin-left:5px;
    vertical-align: top;
    display:inline-block;
}

/*終了*/
.finished-ic {
    color: #ffffff;
    font-size: 1.6rem;
    background: red;
    position: relative;
    padding-left:1em;
    padding-right:1em;
    height:2.3em;
    line-height:2.3em;
    vertical-align: top;
    display:inline-block;
    margin-right:5px;
}


@media screen and (max-width: 767px) {
.finished-ic {
    font-size: 1.3rem;
    padding-left:1em;
    padding-right:1em;
    height:1.8em;
    line-height:1.8em;
    vertical-align: top;
    display:inline-block;
    margin-right:5px;
}
}


/*
-----------------------------------------------
スライダー
----------------------------------------------- */

 .slider {
  margin: 0 auto;
  max-width: 1800px;
  width: 100%;
}

.slick-slide img {
    width: 100%;
    height: auto;
}

.slider{
    width: 100%;
}

.slider .slick-slide {
    margin:0 10px 0 10px;
}

.slider .slick-slide:not(.slick-center) {
    -webkit-filter: opacity(50%);
    -moz-filter: opacity(50%);
    -o-filter: opacity(50%);
    -ms-filter: opacity(50%);
    filter: opacity(50%);
    transition: 0.2s linear;
}

.slick-prev:before,
.slick-next:before {
  color: #000 !important;
}

.buttons {
  display: flex;
  justify-content: center;
}

.buttons .button {
  margin: 5px;
  border: 1px solid #444;
  color: #000;
  padding: 5px;
  text-align: center;
  width: 4em;
  transition: all 300ms ease;
}

.buttons .button .fa{
font-size:0.6em;
}

.buttons .button:hover {
  cursor: pointer;
  background-color: #888;
  color: #fff;
  transition: all 300ms ease;
}


@media screen and (max-width: 768px) {
.slider .slick-slide {
    margin:0;
}

.buttons .button {
  margin: 2px 5px;
  padding: 4px;
}

.buttons .button .fa{
font-size:0.8em;
}

}


/*
-----------------------------------------------
ツールチップ
----------------------------------------------- */

.tooltip { /* 補足説明するテキストのスタイル */
  position: relative;
}

.description_top { /* ツールチップのスタイル */
  width: 118px; /* 横幅 */
  position: absolute;
  left: 50%;
  bottom: 80%; /* Y軸の位置 */
  transform: translateX(-50%);
  margin-bottom: 4px; /* テキストとの距離 */
  padding: 5px;
  border-radius: 8px; /* 角の丸み */
  background-color: #333;
  font-size: 1.1rem;
  color: #fff;
  text-align: center;
  visibility: hidden; /* ツールチップを非表示に */
  opacity: 0; /* 不透明度を0％に */
  z-index: 1;
  transition: 0.5s all; /* マウスオーバー時のアニメーション速度 */
}

.tooltip:hover .description_top { /* マウスオーバー時のスタイル */
  bottom: 100%; /* Y軸の位置 */
  visibility: visible; /* ツールチップを表示 */
  opacity: 1; /* 不透明度を100％に */
}


/*
-----------------------------------------------
財団バナー追加2025.03
----------------------------------------------- */
.foot_ban_wrap{
background:#fff;
}

.zaidan-ban{
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
column-gap:3.5%;
row-gap:15px;
padding:20px 0;
}

.zaidan-ban li{
width:31%;
}

.zaidan-ban li img{
max-width:100%;
height:auto;
}

@media screen and (max-width: 767px) {
.zaidan-ban{
column-gap:4%;
row-gap:15px;
padding:20px 0;
}

.zaidan-ban li{
width:48%;
}
}