@font-face {
  font-family: 'HiraKakuPro';
  src: url('../fonts/HiraKakuPro-W3.otf'); /* IE9 Compat Modes */
}

@font-face {
font-family: 'MyriadPro';
src: local('Myriad Pro'), url('../fonts/MyradPro.woff') format('woff');
}

body {
    margin: 0px; 
    padding: 0px;
    font-size: 12.5px; 
    font-family: HiraKakuPro, sans-serif;
    width: 100%; 
    height: 100%; 
    vertical-align: baseline;
}

html {
    width: 100%;
    height: 100%;
}

/*
 * General Effects for Links and Images
 */

a           { color:#000; text-decoration: none; }
a:hover     { color:#000; text-decoration: none; }
a img:hover { opacity: 0.7; filter: alpha(opacity=70); }
img         { border: none; max-width:100%; 
            user-drag: none; 
            user-select: none;
            -moz-user-select: none;
            -webkit-user-drag: none;
            -webkit-user-select: none;
            -ms-user-select: none; }
/*
 * General containers
 */

.container  { width: 1050px; margin: 0px auto; }
.header     { width: 1050px; margin: 0px auto; }
.box        { width: 100%; }
.box_border { width: 100%; padding: 2%;}
.footer     { width: 100%; bottom: 0px; }
.maincolumn { width: 77%; float: left; }
.sidecolumn { width: 23%; float: left; padding-left: 2%; }
.news_banner{ width: 100%; padding: 1%; }
.ptn_banner { width: 100%; padding: 2%; }
.middle     { width: 85%; float: left; padding: 2%; }
.middle_nav { width: 15%; float: left; }
.social     { width: 100%; }

.margin { margin-bottom: 20px; }
div { box-sizing: border-box; }

/* Gray border elements */
.pr_box,
.sp_box, 
.news_banner,
.middle,
.box_border,
.partners ul li .img
{ border: 1px solid #bfbfbf; }

.cf:after   { content: ""; display: table; clear: both; }

.blue       { color: #2F9FD7; }
.link       { color: #2F9FD7; text-decoration: underline; }
.link:hover { color: #2F9FD7; text-decoration: none; }

/*
 * Navigation bar
 */

.logo   { 
    float: left; 
    padding: 5px 0px; 
}

.navbar { 
    float: right;
    margin-top: 10px;
}

.navbar ul { 
    margin: 0px; 
    padding: 13px 0px; 
    overflow: hidden;
    list-style-type: none; 
    background: #303030; 
    border-bottom: 5px solid #5CCBF2;
}

.navbar ul li { 
    float: left;
}

.navbar ul li a { 
    color: #fff; 
    text-decoration: none;
    padding: 16px 40px;
    background: url(../img/divider.gif) no-repeat right;
}

.navbar ul li:last-child a { background: none;}

.navbar ul li a:hover { 
    background: #5CCBF2; 
}

.tag {
    width: 148px;
    height: 32px;
    line-height: 32px;
    border-radius: 5px;
    background: red;
    margin-left: -130px;
    margin-top: -7px;
    position: absolute;
    color: #fff600;
    text-align: center;
    font-size: 1.2em;;
}

.tag:after {
    content: "";
    position: absolute;
    margin-top: 9px;
    border-bottom: 7px solid transparent;
    border-left: 20px solid red;
    border-top: 7px solid transparent;
    height: 0px;
    width: 0px;
    margin-left: 30px;
}

/*
 * Breadcrum
 */

.breadcrum, .breadcrum a {
    color: #2F9FD7;
    padding: 9px 0px;
}

/*
 * Partners header
 */

.ptn_banner {
    background-color: #f1f1f1;
}

.ptn_banner span {
    color: #676767;
    padding-bottom: 10px;
    display: block;
}

.ptn_banner ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ptn_banner ul li {
    float: left;
    box-sizing: border-box; 
    width: 50%;
    padding: 0 1%;
}

.ptn_banner ul li:first-child {
    padding-left: 0;
}

.ptn_banner ul li:last-child {
    padding-right: 0;
}

.ptn_banner ul li a {
    width: 100%;
    height: 100%;
    padding: 5px 0;
    background: #fff;
    display: block;
    text-align: center;
}

/*
 * Banner
 */

.banner img { 
    width: 100%;
    margin-bottom: 15px;
}

/*
 * News Banner
 */

.news_banner img {
    float: left;
    margin-right: 10px;
}

.news_banner ul {
    list-style: none;
    padding: 0;
    float: left;
    width: auto;
}

.news_banner ul li {
    font-size: 1.2em;
}

.news_banner ul li span {
    display: inline-block;
    width: 100px;
    color: #00ABDF;
}

/*
 * Middle navbar
 */

.middle_nav ul {
    list-style: none;
    padding: 0;
    margin-top: 20px;
}

.middle_nav ul li a {
    text-align: center;
    color: #fff;
    background-color: #303030;
    display: block;
    padding: 5px;
    margin-bottom: 8px;
}

.middle_nav ul li a:hover, .middle_nav ul li.current a {
    background-color: #00b7ee;
    text-decoration: none;
} 

.front_article ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.front_article ul li {
    float: left;
    width: 50%;
		height:300px;
    box-sizing: border-box;
    padding: 20px;
}

.front_article ul li h2 {
    font-size: 1.32em;
    margin-bottom: 0px;
}

.front_article ul li span {
    font-size: 1em;
    color: #9E9E9E;
}

.front_article ul.small li {
    width: 25%;
}

/*
 * Side Column
 */

.pr_header {
    font-size: 0.88em;
    width: 100%;
    color: #fff;
    box-sizing: border-box; 
    padding: 5px;
    background-color: #D2D2D2;
    margin-bottom: 10px;
}

.ptn_header_gold {
    font-size: 0.88em;
    width: 100%;
    color: #fff;
    box-sizing: border-box; 
    padding: 5px;
    background-color: #daa520;
    margin-bottom: 3px;
}

.ptn_header_silver {
    font-size: 0.88em;
    width: 100%;
    color: #fff;
    box-sizing: border-box; 
    padding: 5px;
    background-color: #c0c0c0;
    margin-bottom: 3px;
}

.ptn_header_bronze {
    font-size: 0.88em;
    width: 100%;
    color: #fff;
    box-sizing: border-box; 
    padding: 5px;
    background-color: #ac6b25;
    margin-bottom: 3px;
}




.sp_box {
    text-align: center;
    width: 100%;
    box-sizing: border-box; 
    padding: 10px;
    margin-bottom: 5px;
}

.sp_box_gold {
    text-align: left;
    width: 100%;
    box-sizing: border-box; 
    /*padding: 0px;*/
    margin-bottom: 5px;
}

.sp_box_gold img {
    width: 100%;
}

.sp_box_silver {
    text-align: left;
    width: 100%;
    box-sizing: border-box; 
    /*padding: 0px;*/
    margin-bottom: 5px;
}

.sp_box_silver img {
    width: 50%;
}

.sp_box_bronze {
    text-align: left;
    width: 100%;
    box-sizing: border-box; 
    /*padding: 0px;*/
    margin-bottom: 5px;
}

.sp_box_bronze img {
    width: 33%;
}





.pr_box {
    text-align: center;
    width: 100%;
    margin-bottom: 5px;
}

.pr_box img { 
    width: 100%;
}

/*
 * Article
 */

p.par {
    font-size: 1.4em;
    margin-top: 0;
    margin-bottom: 1.4em;
}

p.indent {
    text-indent: 1.4em;
}

.article ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.article ul li {
    margin-bottom: 35px;
		height:120px;
}

.article ul li:last-child {
    margin-bottom: 0;
}

.article img {
    max-width: 90px;
    height: 90px;
}

.article .desc {
    width: 84%;
    float: right;
}

.article .desc h2, .article .desc p {
    margin: 0;
}

.article .desc p {
    color: #8f8f8f;
}

/*
 * Pages
 */

.pages ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
    font-weight: bold;
    font-size: 1.1em;
    margin-left: auto;
    margin-right: auto;
    display: table;
}

.pages ul li {
    float: left;
}

.pages ul li a {
    width: 30px;
    height: 30px;
    line-height: 30px;
    border: 1px solid #bfbfbf;
    display: block;
    margin: 4px;
}

.pages ul li a:hover, .pages ul li a.current {
    color: #fff;
    background-color: #00b7ee;
}

.pages ul li:first-child a, .pages ul li:last-child a {
    width: 70px;
    border: none;
}

.pages ul li:first-child a:hover, .pages ul li:last-child a:hover {
    color: #000;
    background: none;
    text-decoration: underline;
}

/*
 * Pagenation
 */
div#pagenation {
   position: relative;
   overflow: hidden;
}
div#pagenation ul {
    position:relative;
    left:50%;
    float:left;
    list-style: none;
}
div#pagenation li {
    position:relative;
    left:-50%;
    float:left;
}
div#pagenation li a {
    border:1px solid #CECECE;
    margin: 0 3px;
    padding:3px 7px;
    display: block;
    text-decoration:none;
    color: #666666;
    background: #fff;
}
div#pagenation li.active a,
div#pagenation li a:hover{
    border:solid 1px #666666;
    color: #FFFFFF;
    background: #3399FF;
}

/*
 * Calendar
 */

.calendar table {
    width: 100%;
    table-layout: fixed;
    font-size: 1em;
    text-align: center;
    border-collapse: collapse;
    color: #fff;
    border: 1px solid #00b7ee; height: 90px;
}

.calendar tr td, .calendar tr th { padding: 5px 0px; }
.calendar tr th { font-size: 1.3em; }
.calendar tr:nth-child(n+3) td { border: 1px solid #00b7ee; height: 100px; padding: 3px; 
    vertical-align: top; }
.calendar tr:nth-child(n+3) td:first-child { background-color: #ffeced; }
.calendar tr:nth-child(n+3) td:last-child { background-color: #ecefff; }
.calendar tr:nth-child(1), .calendar tr:nth-child(2) { background-color: #00b7ee; }

.calendar .event { 
    font-size: 0.8em; 
    color: #fff; 
    margin: 2px 0px; 
    padding: 5px; 
    border-radius: 3px;
    height : 35px;/*2行に制限し*/
    overflow : hidden;/*あふれを隠す*/
}

.calendar tr td div > span.day_num {
    color: #000;
    text-align: left;
    display: block;
    float: left;
}

.calendar tr td div > span.other_links {
    color: #000;
    text-align: right;
    display: block;
    float: right;
}

.clearfix:after {
    /*float解除*/
    display: block;
    clear: both;
    content: "";
}

/* Event and List colors */
.violet     { background-color: #8f82bc; }
.orange     { background-color: #ffc184; }
.red        { background-color: #ff8488; }
.green      { background-color: #64de92; }
.pink       { background-color: #f884ff; }
.murasaki   { background-color: #8f82bc; }
.gray       { background-color: #bcbcbc; }
.light_blue { background-color: #40e0e0; }
.yellow     { background-color: #e0ea3a; }/* canaria*/


/*
 * Events List :events.phpで使っていたが、2016/10の改修で使わなくなったハズ
 */

.event_list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.event_list > ul > li {
    width: 50%;
    float: left;
    box-sizing: border-box;
    margin-bottom: 10px;
}

.event_list > ul > li:nth-child(2n+1) {
    padding-right: 5px;
}

.event_list > ul > li:nth-child(2n) {
    padding-left: 5px;
}

.event_list > ul > li > ul {
    height: 170px;
    overflow: hidden;
}

.event_list > ul > li > ul > li:first-child {
    background-color: #434343;
    padding: 10px 20px;
    color: #fff;
    font-size: 1.3em;
}

.event_list > ul > li > ul > li:nth-child(n+2) {
    padding: 2px;
}

.event_list > ul > li > ul > li:nth-child(n+2) a {
    color: #00a3d4;
    text-decoration: underline;
}

.event_list ul li ul li.violet     { border-bottom: 10px solid #8f82bc; }
.event_list ul li ul li.orange     { border-bottom: 10px solid #ffc184; }
.event_list ul li ul li.red        { border-bottom: 10px solid #ff8488; }
.event_list ul li ul li.green      { border-bottom: 10px solid #64de92; }
.event_list ul li ul li.pink       { border-bottom: 10px solid #f884ff; }
.event_list ul li ul li.murasaki   { border-bottom: 10px solid #8f82bc; }
.event_list ul li ul li.gray       { border-bottom: 10px solid #bcbcbc; }
.event_list ul li ul li.light_blue { border-bottom: 10px solid #40e0e0; }
.event_list ul li ul li.yellow     { border-bottom: 10px solid #e0ea3a; }

/*
 * Event Category List
 */

.event_category_list {
    margin-top: 10px;
    background-color: #cccccc;
    padding: 10px;
}

.event_category_list span {
    font-size: 1.3em;
}

.event_category_list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.event_category_list > ul > li {
    width: 50%;
    float: left;
    box-sizing: border-box;
    margin-bottom: 10px;
}

.event_category_list > ul > li:nth-child(2n+1) {
    padding-right: 5px;
}

.event_category_list > ul > li:nth-child(2n) {
    padding-left: 5px;
}

.event_category_list > ul > li > ul {
    overflow: hidden;
}

.event_category_list > ul > li > ul > li {
    background-color: #434343;
    padding: 10px 20px;
    /*color: #fff;*/
    font-size: 1.3em;
}

.event_category_list > ul > li > ul > li > a{
    color: #fff;
}

/* event_list において機能していないと思われたので削除
.event_category_list > ul > li > ul > li:nth-child(n+2) {
    padding: 2px;
}

.event_category_list > ul > li > ul > li:nth-child(n+2) a {
    color: #00a3d4;
    text-decoration: underline;
}
*/

.event_category_list ul li.violet     { border-left: 30px solid #8f82bc; }
.event_category_list ul li.orange     { border-left: 30px solid #ffc184; }
.event_category_list ul li.red        { border-left: 30px solid #ff8488; }
.event_category_list ul li.green      { border-left: 30px solid #64de92; }
.event_category_list ul li.pink       { border-left: 30px solid #f884ff; }
.event_category_list ul li.murasaki   { border-left: 30px solid #8f82bc; }
.event_category_list ul li.gray       { border-left: 30px solid #bcbcbc; }
.event_category_list ul li.light_blue { border-left: 30px solid #40e0e0; }
.event_category_list ul li.yellow     { border-left: 30px solid #e0ea3a; }

/*
 * Narrow by Event date
 */
.narrow_by_event_date {
    margin-top: 10px;
    background-color: #cccccc;
    padding: 10px;
}

.narrow_by_event_date span {
    float: left;
    font-size: 1.3em;
}

.narrow_by_event_date div {
    float: left;
    margin-bottom: 10px;
    font-size: 1.3em;
}

/*
 * Events List new :events.phpで使う。使うときはnewを外す。2016/10の改修
 */

.event_list_new ul {
    padding-left: 0;
}

.event_list_new img {
    max-width: 220px;
    float: left;
}



/*
 * Event detail
 */
ol, ul {
    list-style: none;
}
.detail .detailTabs {
    display: block;
    -border-bottom: 2px solid #ff6600;
    margin-bottom: 16px;
    padding-left: 10px;
}
.detail .detailTabs li a {
    display: block;
    font-size: 12px;
    -width: 82px;
    -padding: 12px 0 0 0;
    padding: 12px 12px 0 12px;
    line-height: 15px;
    margin: 0 5px;
    height: 27px;
    background-color: #fff;
    border-top: 1px solid #bfbfbf;
    border-left: 1px solid #bfbfbf;
    border-right: 1px solid #bfbfbf;
    -moz-border-radius: 4px 4px 0 0;
    -ms-border-radius: 4px 4px 0 0;
    -o-border-radius: 4px 4px 0 0;
    -border-radius: 4px 4px 0 0;
    color: #333333;
    text-decoration: none;
}
.detail .detailTabs .active {
    color: #FFFFFF;
    border-top: 1px solid #bfbfbf;
    border-left: 1px solid #bfbfbf;
    border-right: 1px solid #bfbfbf;
    -border-bottom: 1px solid #bfbfbf;
    -moz-border-radius: 4px 4px 0 0;
    -ms-border-radius: 4px 4px 0 0;
    -o-border-radius: 4px 4px 0 0;
    -border-radius: 4px 4px 0 0;
    font-weight: bold;
    line-height: 15px;
    -width: 82px;
    height: 40px;
    padding: 0 12px 0 12px ;
    /* margin: 0 2px -2px; */
    background-color: #2F9FD7;
}
.detail .detailTabs li {
    float: left;
    -margin: 0 2px -2px;
    margin: 0 10px -17px;
    text-align: center;
}
.detail .detailTabs .active > span {
    display: block;
    padding: 12px 0 0 0;
}
.detail .detailTabs:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

/*
 * Category
 */

.share {
    background-color: #f5f5f5;
    padding: 2%;
    border-right: 1px solid #bfbfbf;
    border-left:  1px solid #bfbfbf;
}

.share span {
    margin-right: 2%;
}

span.date {
    color: #9e9e9e;
}

p.with_image {
    width: 60%;
    float: left;
}

img.with_image {
    max-width: 40%;
    float: right;
    margin-bottom: 2%;
}

/*
 * Site policy
 */

.sitepolicy p {
    font-size: 1.15em;
    margin-bottom: 2em;
}

.sitepolicy h1 {
    margin-top: 0;
    margin-left: -2.2%;
    margin-right: -2.2%;
    padding: 0 2% 1.5%;
}

.sitepolicy h1, .sitepolicy h2 {
    border-bottom:  1px solid #bfbfbf;
}

.sitepolicy h2 {
    font-weight: normal;
    color: #2F9FD7;
}

/*
 * Sitemap
 */

.sitemap h1 {
    margin-top: 0;
    border-bottom:  1px solid #bfbfbf;
    margin-left: -2.2%;
    margin-right: -2.2%;
    padding: 0 2% 1.5%;
}

.sitemap ul {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 1em;
}

.sitemap li {
    margin: 0;
}

.sitemap .right {
    float: right;
    width: 50%;
    box-sizing: border-box;
    padding-left: 1%;
}

.sitemap .left {
    float: left;
    width: 50%;
    box-sizing: border-box;
    padding-right: 1%
}

.sitemap .detailed ul li:first-child a , .sitemap .simple li a {
    background-color: #313131;
    width: 100%;
    display: block;
    color: #fff;
    box-sizing: border-box;
    padding: 3px 10px;
    margin-bottom: 8px;
}

.sitemap ul li ul li:nth-child(n+2) a {
    margin: 8px 0px;
    display: block;
    color: #2F9FD7;
    margin-left: 8px;
}

.sitemap a:hover {
    text-decoration: underline;
}

/*
 * Partners
 */

.partners h1 {
    color: #505050;
}

.partners h2 {
    font-weight: normal;
    color: #787878;
    padding: 22px 0px 0px 40px;
    margin-left: 1%;
    margin-bottom: 5px;
}

.partners .gold_ptn h2 {
    background: url(../img/gold_ptn.png) no-repeat;
}

.partners .silver_ptn h2 {
    background: url(../img/silver_ptn.png) no-repeat;
}

.partners .bronze_ptn h2 {
    background: url(../img/bronze_ptn.png) no-repeat;
}

.partners ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.partners ul li {
    float: left;
    width: 33.333%;
    padding: 1%;
    box-sizing: border-box; 
}

.partner_gold_li {
    float: left;
    width: 50%;
    padding: 1%;
    box-sizing: border-box; 
}

.partner_silver_li {
    float: left;
    width: 33.333%;
    padding: 1%;
    box-sizing: border-box; 
}

.partner_bronze_li {
    float: left;
    width: 25%;
    padding: 1%;
    box-sizing: border-box; 
}




.partners ul li .img {
    display: table;
    width: 100%;
}

.partners ul li .img .img_in {
    width: 100%;
    height: 100px;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.partners h3 {
    font-weight: normal;
    font-size: 1.4em;
    margin-bottom: 5px;
}

.partners p {
    margin: 0;
    font-size: 1.1em;
}

.partners .bronze_ptn ul li {
    width: 20%;
}

.partners .bronze_ptn  ul li .img {
    height: 75px;
}

/*
 * Footer
 */

.social {
    background-color: #303030;
}

.social_feed {
    list-style: none;
    padding: 0;
    margin: 0;
    color: #858585;
}

.social_feed li {
    float: left;
    width: 50%;
    box-sizing: border-box; 
    padding: 10px;
    text-align: center;
}

.social_feed li h4 {
    font-family: MyriadPro;
    font-size: 2em;
    display: inline-block;
    padding: 0;
    margin: 0;
}

.social_feed li h4 img {
    height: 20px;
}

.social_feed li .box img {
    width: 100%;
}

.social .company_info {
    font-size: 1em;
    height: 197px;
}

.social .company_info img {
    float: left;
    margin-top: 45px;
}

.social .company_info a:link,
.social .company_info a:visited {
    color: #858585;
}

.social .company_info p {
    float: right;
    margin-right: 50px;
}

.footer { 
    background: #000; 
    text-align: center; 
    color: #fff; 
    font-size: 0.92em; 
    padding: 12px 0px;
}