@charset "UTF-8";
/* CSS Document */

@import "reset.css";
@import "hack.css";
/*@import "noto.css";*/
@import "basiclayout.css";
/*テーマカラー#0077fd*/
html {
/*    font-size: 16px;*/
    /* 12px -> 0.75em */
    /* 14px -> 0.875em*/
    /* 15px -> 0.9375em */
    /* 16px -> 1em */
    /* 18px -> 1.125em */
    /* 19ppx -> 1.1875em */
    /* 20px -> 1.25em */
    /* 24px -> 1.5em */
    /* 36px -> 2.25em */
    height:100%;
}

body {
    text-align: left;
    color: #343434;
    font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1.6;
    margin:0;
    padding:0;
    background-color: #fff;
    -webkit-font-smoothing:antialiased;
    -webkit-text-size-adjust:100%;
}

/*h*/

h1 {
    /*header記述部分でで指定*/

}
h2{
    font-size: 24px;
    font-weight: bold;
}

h3 {
/*サブページ小見出し*/
}
h3.midashi_blue {
    position: relative;
    font-size: 1.5rem;
    font-weight: bold;
    color: #0077fd;
    margin: 0 auto 25px;
}
h3.midashi_black {
    position: relative;
    font-size: 1.5rem;
    font-weight: bold;
    color: #343434;
    margin: 0 auto 25px;
}
h3 span.sub_midashi {
    position: absolute;
    font-size: 0.875rem;
    font-weight: normal;
    right: 0px;
    bottom: 0px;
    color: #c5cae9;
}
h4.gray_border {
    /*小見出し　写真送り先　ウィジェットタイトル*/
    font-size: 1.125em;
    font-weight: bold;
    color: #333;
    border-left: solid 7px #bfbfbf;
    padding: 0 0 0 10px;
    margin: 0 0 15px 0;
}
h4.blue_border {
    /*小見出し　写真送り先　ウィジェットタイトル*/
    font-size: 1.125em;
    font-weight: bold;
    color: #333;
    border-left: solid 7px #0077fd;
    padding: 0 0 0 10px;
    margin: 0 0 15px 0;
}

h5 {
	font-size: 1em;
    font-weight: bold;
	color: #0077fd;
	border-bottom: #0077fd dotted 1px;
	margin: 0 0 10px 0;
}
/*##############################################*/
/*汎用クラス*/
/*##############################################*/
/*右下のページトップに戻るボタン*/
a#scroller {
    display: block;
    position: fixed;
    width: 59px;
    height: 43px;
    left: 50%;
    bottom: 10px;
    margin-left: -30px;
    z-index: 9500;
    background: url(../../images/btn_scrollup.png) 0px 0px no-repeat;
    background-size: contain;
}
/*コンテンツ中のページトップに戻るテキストリンク*/
a.go_pagetop_textlink{
    float:right;
    margin:20px 0;
}
a.link_arrow{
    display: block;
    color: #333;
    margin: 0.5em 0;
    padding: 0 0 0 15px;
    background: url(../../images/arrow_blue.png) left 50% no-repeat;
}
a.link_arrow_nodeco{
    display: block;
    color: #0077fd;
    margin: 0.5em 0;
    text-decoration: none;
    padding: 0 0 0 15px;
    background: url(../../images/arrow_blue.png) left 50% no-repeat;
}
a.link_blue{
    display: block;
    background-color: #0077fd;
    margin: 40px auto 0;
    padding: 20px 0;
    text-align: center;
    text-decoration: none;
    color: #fff;
}
a.link_blue span.arrow_cir{
    background: url(../../images/arrow_cir_white_tranceparence.png) left 50% no-repeat;
    padding: 0 0 0 25px;
    font-size: 1rem;
    line-height: 1rem;
    background-size: contain;
}

/*####################*/
/*基本構造、よく使うパーツ*/
/*####################*/



#page_cont{
    width: 1000px;
    margin: 0 auto;
    padding: 0 0 40px 0;
}
#page_cont #left_cont{
    float: left;
    width: 730px;
    box-sizing: border-box;
    margin: 0 20px 0 0;
    
}
#page_cont #right_cont{
    float: left;
    width: 250px;
    margin: 0 0 0 0;
    box-sizing: border-box;
}
.cont_box{
    width: 730px;
    margin: 0 auto;
    padding: 30px 40px 80px;
    box-sizing: border-box;
    border: solid 1px #f0f0f0;
    border-top:solid 6px #0077fd;
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#e6ffffff,endColorstr=#e6ffffff);
    background-color: rgba(255,255,255,0.9);
    
}
/*日付リスト（トップページ、新着一覧ページ）*/
dl.list_whatsnew{
    
}
dl.list_whatsnew dt{
    clear: left;
    float: left;
    margin: 0 0 0.5em 0;
    padding: 0.5em 0;
    border-bottom: dotted 1px #d6d6d6;
}
dl.list_whatsnew dd{
    margin: 0 0 0.5em 5em;
    padding: 0.5em 0 0.5em 1em;
    border-bottom: dotted 1px #d6d6d6;
}
dl.list_whatsnew dd a{
    color: #343434; 
}

/*####################*/
/*ヘッダ　hedaer*/
/*####################*/
header{
    height: 124px;
    width: 100%;
    background: url(../../images/bg_header.png) repeat-x;
}
header #header_inner{
    position: relative;
    width: 1000px;
    height: 124px;
    margin: 0 auto;
}
header h1{
    position: absolute;
    width: 335px;
    height: 25px;
    left: 0px;
    top: 70px;
    background: url(../../images/logo_h1_color.png) no-repeat;
}
header h1 a{
    display: block;
    width: 248px;
    height: 25px;
}
header h1 span{
    display: none;
}
/*nav_sub ナビサブ*/
nav#header_nav_sub{
    position: absolute;
    right: 154px;
    top: 7px;
}
nav#header_nav_sub ul{
}
nav#header_nav_sub ul li{
    float: left;
}
nav#header_nav_sub ul li a{
    text-decoration: none;
    color: #0077fd;
    font-size:0.75em;
    margin: 0 0 0 12px;
}
#fontsize_changer{
    position: absolute;
    right: 0px;
    top: -37px;
}
#fontsize_changer dl{
    
    font-size:0.75em;
}
#fontsize_changer dl dt{
    float: left;
    line-height: 28px;
}
#fontsize_changer dl dd{
    float: left;
    width: 28px;
    height: 28px;
    background-color: #e8eaf6;
    line-height: 28px;
    text-align: center;
    vertical-align: middle;
    font-weight: bold;
    color: #7f8087;
    margin: 0 0 0 3px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    zoom: 1;
    position: relative;
    cursor: pointer;
}
#fontsize_changer dl dd.s{
    font-size: 12px;
}
#fontsize_changer dl dd.l{
    font-size: 16px;
    
}
#fontsize_changer dl dd.selected{
    background-color: #0077fd;
    color: #fff;
}
/*nav_main ナビメイン*/
nav#header_nav_main{
    position: absolute;
    right: 0px;
    top:44px;
}
nav#header_nav_main ul{
    display: table;
    height: 80px;
    background: url(../../images/bg_slit_nav_main.png) left 50% no-repeat;
}
nav#header_nav_main ul li{
    display: table-cell;
    vertical-align: middle;
    background: url(../../images/bg_slit_nav_main.png) right 50% no-repeat;
}
nav#header_nav_main ul li a{
    display: table-cell;
    vertical-align: middle;
    height: 80px;
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-weight: bold;
    padding: 0 26px;
}
body#page_shisetsu nav#header_nav_main ul li a.shisetsu,
body#page_uketsuke nav#header_nav_main ul li a.uketsuke,
body#page_event nav#header_nav_main ul li a.event,
body#page_kyoshitsu nav#header_nav_main ul li a.kyoshitsu,
body#page_contact nav#header_nav_main ul li a.contact{
    background-color: #006be6;
}

nav#header_nav_main ul li a span{
    margin: 0 0 0 -8px;
}
#menu_opener{
    display: none;
}
/*####################*/
/*パンくずリスト　breadcrumb*/
/*####################*/
.breadcrumb{
    width: 1000px;
    margin: 15px auto;
}
.breadcrumb a{
/*    color: #333;*/
}

/*####################*/
/*右カラム、ウィジェット*/
/*####################*/
.wiget_box{
    margin: 0 0 20px 0;
    clear:both;
}
.wiget_box h3{
    font-size: 1.1875rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 0;
    padding: 20px 0;
    border-radius: 6px 6px 0 0;
    -webkit-border-radius: 6px 6px 0 0;
    -moz-border-radius: 6px 6px 0 0;
    zoom: 1;
    position: relative;
}
/*受付状況カレンダー*/
h3.uketsuke_cal{
    background-color: #ff9800;
}
ul.uketsuke_cal{
    padding: 30px 30px 10px;
    background-color: #fff9ef;
    border: solid 1px #fff1dd;
    
}
ul.uketsuke_cal li{
    margin: 0 0 10px 0;
}

ul.uketsuke_cal li a{
    color: #343434;
    background: url(../../images/arrow_orange.png) left 50% no-repeat;
    padding: 0 0 0 15px;
}
/*ブルーナビ（施設紹介）*/
h3.side_nav_blue{
    background-color: #0077fd;
}
ul.side_nav_blue{
    border: solid 1px #e8eaf6;
    
}
ul.side_nav_blue > li{
    background-color: #fbfbfd;
    cursor: pointer;
}

ul.side_nav_blue > li > a{
    display: block;
    color: #343434;
    font-weight: bold;
    background: url(../../images/arrow_blue.png) 30px 50% no-repeat;
    padding: 16px 0 16px 45px;
    border-bottom: solid 1px #e8eaf6;
}
ul.side_nav_blue > li.have_child > span{
    display: block;
    color: #343434;
    font-weight: bold;
    background: url(../../images/arrow_blue_down.png) 30px 50% no-repeat;
    padding: 16px 0 16px 45px;
    border-bottom: solid 1px #e8eaf6;
}
ul.side_nav_blue > li.opened{
    background-color: #eff1f9;
}
ul.side_nav_blue > li.opened > span{
    color: #0077fd;
    background: url(../../images/arrow_blue_up.png) 30px 50% no-repeat;
    border-bottom: none;
}
ul.side_nav_blue > li >　ul > li{
    margin: 0 0 0 0;
    background-color: #fbfbfd;
}
ul.side_nav_blue > li > ul{
    padding: 5px 0 10px;
    border-bottom: solid 1px #e8eaf6;
}
ul.side_nav_blue > li > ul > li > a{
    display: block;
    color: #0077fd;
    font-size: 0.875rem;
    margin: 0 0 0 0;
    padding: 0px 0 15px 60px;
    background: url(../../images/arrow_thin_blue.png) 45px 35% no-repeat;
}
a.wiget_banner{
    display: block;
    margin: 0 0 20px 0;
    text-decoration: none;
}
a.wiget_banner h3{
    font-size: 1.1875rem;
    font-weight: bold;
    color: #fff;
    background: url(../../images/arrow_cir_white_tranceparence.png) 20px 50% no-repeat;
    margin: 0;
    padding: 20px 0 20px 45px;
    background-color: #0077fd;
    border-radius: 6px 6px 0 0;
    -webkit-border-radius: 6px 6px 0 0;
    -moz-border-radius: 6px 6px 0 0;
    zoom: 1;
    position: relative;
}
a.wiget_banner img{
    width: 250px;
    height: auto;
    border-radius: 0 0 6px 6px;
    -webkit-border-radius: 0 0 6px 6px;
    -moz-border-radius: 0 0 6px 6px;
    zoom: 1;
    position: relative;
}
a.wiget_banner img.blog_banner_img{
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}
/*####################*/
/*フッタ　footer*/
/*####################*/
footer{
    width: 100%;
    height: 480px;
    background: url(../../images/bg_footer.png) repeat-x;
}
#footer_inner{
    position: relative;
    width: 1000px;
    height: 480px;
    margin: 0 auto;
}
nav#footer_nav_main{
    position: absolute;
    width: 1000px;
    top: 50px;
    left: 0px;
    
}
nav#footer_nav_sub{
    position: absolute;
    width: 1000px;
    top: 110px;
    left: 0px;
    
}
nav#footer_nav_main ul,
nav#footer_nav_sub ul{
    display: table;
    width: 100%;
    background: url(../../images/bg_slit_nav_footer.png) left 50% no-repeat;
}
nav#footer_nav_main ul li{
    display: table-cell;
    width: 25%;
    vertical-align: middle;
    background: url(../../images/bg_slit_nav_footer.png) right 50% no-repeat;
}
nav#footer_nav_sub ul li{
    display: table-cell;
    width: 25%;
    vertical-align: middle;
    background: url(../../images/bg_slit_nav_footer.png) right 50% no-repeat;
}
nav#footer_nav_main ul li a,
nav#footer_nav_sub ul li a{
    display: block;
    
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-weight: bold;
    padding: 0;
}
#footer_address{
    position: absolute;
    top: 215px;
    left: 0px;
    color: #0077fd;
}
#footer_address .owner_name{
    color: #0077fd;
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0 0 10px 0;
}
#footer_copyright{
    position: absolute;
    top: 380px;
    left: 0px;
    width: 100%;
    text-align: center;
    color: #0077fd;
}
#footer_inner #asics{
    position: absolute;
    top: 220px;
    right: 0;
    width: 417px;
    height: 60px;
    background: url(../../images/logo_all.png) no-repeat;
	background-size: contain;
	/*
	cursor: pointer;
	*/
}


/*##############################################*/
/*##############################################*/
/*##############################################*/
/*スマートフォン想定*/
/*##############################################*/
/*##############################################*/
/*##############################################*/
@media screen and (max-width: 768px) {
/*####################*/
/*基本構造、よく使うパーツ*/
/*####################*/
/*サブページ小見出し*/

h3.midashi_blue {
    position: relative;
    font-size: 1rem;
    font-weight: bold;
    color: #0077fd;
    margin: 0 auto 20px;
    width: 100%;
}
h3.midashi_black {
    position: relative;
    font-size: 1rem;
    font-weight: bold;
    color: #343434;
    margin: 0 auto 20px;
    width: 100%;
}
h3 span.sub_midashi {
    display: none;
}


#page_cont{
    width: calc(100% - 40px);
    margin: 0 auto;
}
#page_cont #left_cont{
    float: none;
    width: 100%;
    box-sizing: border-box;
    margin: 0 20px 0 0;
    
}
#page_cont #right_cont{
    float: none;
    width: 100%;
    margin: 0 0 0 0;
    box-sizing: border-box;
}
.cont_box{
    width: 100%;
    margin: 0 auto 20px;
    padding: 20px 20px 20px;
    box-sizing: border-box;
    border: solid 1px #f0f0f0;
    border-top:solid 6px #0077fd;
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#e6ffffff,endColorstr=#e6ffffff);
    background-color: rgba(255,255,255,0.9);    
}

/*日付リスト（トップページ、新着一覧ページ）*/
dl.list_whatsnew{
    width: calc(100% - 40px);
}
dl.list_whatsnew dt{
    clear: none;
    float: none;
    margin: 0 0 0 0;
    padding: 0 0;
    border-bottom: none;
}
dl.list_whatsnew dd{
    margin: 0 0 0.5em 0;
    padding: 0 0 0.5em 0;
    border-bottom: dotted 1px #d6d6d6;
}
dl.list_whatsnew dd a{
    color: #343434; 
}
/*####################*/
/*ヘッダ　hedaer*/
/*####################*/
header{
    height: 50px;
    width: 100%;
    background: #0077fd;
}
header #header_inner{
    position: relative;
    width: 100%;
    height: 50px;
    margin: 0 auto;
}
header h1{
    position: absolute;
    width: auto;
    height: auto;
    left: 20px;
    top: 12px;
    background: none;
}
header h1 a{
    display: block;
    width: auto;
    height: auto;
    text-decoration: none;
    color: #fff;
}
header h1 span{
    display: inline;
    font-size:1.2rem;
    font-weight: bold;
}
/*nav_sub ナビサブ*/
nav#header_nav_sub{
    display: none;
}
#fontsize_changer{
    position: relative;
    right: 0px;
    left: 0px;
    top: 0px;
    border-top: solid 1px #e2e5f4;
    padding: 30px 0;
    text-align: center;
    background-color: #fff;
}
#fontsize_changer dl{
    display: inline-block;
    text-align: center;
    font-size:0.75em;
}
#fontsize_changer dl dt{
    float: left;
    line-height: 50px;
     margin: 0 10px 0 0;
}
#fontsize_changer dl dd{
    float: left;
    width: 50px;
    height: 50px;
    background-color: #e8eaf6;
    line-height: 50px;
    text-align: center;
    vertical-align: middle;
    font-weight: bold;
    color: #7f8087;
    margin: 0 0 0 10px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    zoom: 1;
    position: relative;
    cursor: pointer;
}
#fontsize_changer dl dd.s{
    font-size: 12px;
}
#fontsize_changer dl dd.l{
    font-size: 16px;
    
}
#fontsize_changer dl dd.selected{
    background-color: #0077fd;
    color: #fff;
}
/*nav_main ナビメイン*/
nav#header_nav_main{
    position: absolute;
    right: auto;
    left: 0;
    top:50px;
    z-index: 100;
    width: 100%;
}
nav#header_nav_main ul{
    display: block;
    background: #fff;
    height: auto;
}
nav#header_nav_main ul li{
    display: block;
    vertical-align: middle;
    background: #fff;
    border-top: solid 1px #e2e5f4;
}
nav#header_nav_main ul li a{
    display: block;
    vertical-align: middle;
    text-decoration: none;
    text-align: center;
    color: #0077fd;
    font-weight: normal;
    padding: 30px 0;
    height: auto;
    
}
body#page_shisetsu nav#header_nav_main ul li a.shisetsu,
body#page_uketsuke nav#header_nav_main ul li a.uketsuke,
body#page_event nav#header_nav_main ul li a.event,
body#page_kyoshitsu nav#header_nav_main ul li a.kyoshitsu,
body#page_contact nav#header_nav_main ul li a.contact{
    background-color: #f6f6f6;
}
nav#header_nav_main ul li br{
    display: none;
}
nav#header_nav_main ul li a span{
    margin: 0 0 0 0;
}
#menu_opener{
    display: block;
    position: absolute;
    width: 20px;
    height: 18px;
    top: 18px;
    right: 20px;
    background: url(../../images/humberger_menu_open.png) no-repeat;
    background-size: contain;
    cursor: pointer;
}
#menu_opener.opened{
    background: url(../../images/humberger_menu_close.png) no-repeat;
    background-size: contain;
}
/*####################*/
/*パンくずリスト　breadcrumb*/
/*####################*/
.breadcrumb{
    width: calc(100% - 40px);
    margin: 15px auto;
}
.breadcrumb a{
/*    color: #333;*/
}
/*####################*/
/*右カラム、ウィジェット*/
/*####################*/
.wiget_box{
    margin: 0 0 20px 0;
}
.wiget_box h3{
    font-size: 1.1875rem;
    font-weight: bold;
    color: #fff;
    text-align: left;
    margin: 0;
    padding: 14px 10px;
    border-radius: 6px 6px 0 0;
    -webkit-border-radius: 6px 6px 0 0;
    -moz-border-radius: 6px 6px 0 0;
    zoom: 1;
    position: relative;
}
h3.uketsuke_cal{
    background-color: #ff9800;
}
ul.uketsuke_cal{
    padding: 30px 30px 10px;
    background-color: #fff9ef;
    border: solid 1px #fff1dd;
    
}
ul.uketsuke_cal li{
    float: left;
    width: 50%;
    margin: 0 0 10px 0;
}

ul.uketsuke_cal li a{
    color: #343434;
    background: url(../../images/arrow_orange.png) left 50% no-repeat;
    padding: 0 0 0 15px;
}
a.wiget_banner{
    display: block;
    float: left;
    width: calc(50% - 10px);
    margin: 0 5px 20px;
    text-decoration: none;
}
a.wiget_banner_full{
    width: calc(50% - 10px);
}
a.wiget_banner h3{
    font-size: 0.9375rem;
    font-weight: bold;
    color: #fff;
    background: url(../../images/arrow_cir_white_tranceparence.png) 10px 50% no-repeat;
    margin: 0;
    padding: 14px 0 14px 35px;
    background-color: #0077fd;
    border-radius: 6px 6px 0 0;
    -webkit-border-radius: 6px 6px 0 0;
    -moz-border-radius: 6px 6px 0 0;
    zoom: 1;
    position: relative;
}
a.wiget_banner img{
    width: 100%;
    height: auto;
}
/*####################*/
/*フッタ　footer*/
/*####################*/
footer{
    width: 100%;
    height: 400px;
    background: none;
    margin: 40px 0 0;
}
#footer_inner{
    position: relative;
    width: 100%;
    height: 400px;
    margin: 0 auto;
}
nav#footer_nav_main{
    display: none;
}
nav#footer_nav_sub{
    position: absolute;
    width: 100%;
    top: 0px;
    left: 0px;
    
}
nav#footer_nav_sub ul{
    display: block;
    width: 100%;
    background: url(../../images/bg_slit_nav_footer.png) left 50% no-repeat;
    box-sizing: border-box;
    border-left: solid 1px #fff;
    border-top: solid 1px #fff;
}
nav#footer_nav_sub ul li{
    display: block;
    float:left;
    width: 50%;
    vertical-align: auto;
    background: none;
    box-sizing: border-box;
    border-right: solid 1px #fff;
    border-bottom: solid 1px #fff;
}
nav#footer_nav_sub ul li a{
    display: block;
    width: 100%;
    background-color: #0077fd;
    font-size: 0.875rem;
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-weight: bold;
    line-height: 3em;
    padding: 0;
}
#footer_address{
    position: absolute;
    width:100%;
    text-align: center;
    top: 120px;
    left: 0px;
    color: #0077fd;
}
#footer_address .owner_name{
    color: #0a2165;
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0 0 10px 0;
}
#footer_address .fax{
    float: left;
    width: calc( 50% - 20px);
    margin: 0 10px;
    text-align: left;
}
#footer_address .tel{
    float: left;
    width: calc( 50% - 20px);
    margin: 0 10px;
    text-align: right;
}  
#footer_copyright{
    position: absolute;
    top: 320px;
    left: 0px;
    width: 100%;
    text-align: center;
    color: #0077fd;
}
#footer_inner #asics{
    position: absolute;
    top: 230px;
    left: 5%;
    width: 90%;
    height: 100px;
    background: url(../../images/logo_all.png) no-repeat;
	background-size: contain;
}
}
/*スマホ想定ここまで*/





/* yana 2017.4.18 */
	body.page_subpage #main_cont{
		background-position: center top,center top;
		background-repeat: no-repeat,no-repeat;
	}
@media screen and (max-width: 768px) {
	body.page_subpage #main_cont{
		background-position: 9999px 9999px,75% top;
		background-repeat: no-repeat,no-repeat;
	}
}

