html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display:block;
}
audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

html {
  display: flex;
  flex-direction: column;
  height: 100%;
  -ms-text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}
body {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  color:#444;
  font-family: sans-serif;
  line-height:1.0;
}

br {letter-spacing:0;}
ul, li {list-style:none;}
img, a img {border:0; text-decoration:none; vertical-align:top;}
mark {background:#ff0; color:#000;}
b, strong {font-weight:bold;}
table {border-collapse:collapse; border-spacing:0;}
td, th {padding:0;}
hr {box-sizing:content-box; height:0;}
button, input, optgroup, select, textarea {color:inherit; font:sans-serif; margin:0;}
button {overflow: visible;}
button, select {text-transform:none;}
button, html input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance:button; cursor:pointer;}
input[type="checkbox"], input[type="radio"] {box-sizing:border-box; padding:0;}
textarea {overflow:auto;}

div:after, ul:after, dl:after {content:""; display:block; clear:both;}
.cf:before,
.cf:after {content:""; display:table;}
.cf:after {clear:both;}
.cf {zoom:1;}

a {
  background-color: transparent;
  outline: 0;
  transition: all 0.3s ease-out;
}
a:link    {color:#111; text-decoration:none;}
a:visited {color:#111; text-decoration:none;}
a:hover   {color:#cb0039; text-decoration:underline;}
a:active  {color:#111; text-decoration:none;}

/* -------------------------------------------------------
Layout
---------------------------------------------------------- */
.wrap {
  flex: 1 1 auto;
}

.header {
  background: #cb0039;
}

.footer {
  background: #cb0039;
  color: #fff;
  text-align: center;
}

/* -------------------------------------------------------
common
---------------------------------------------------------- */

/* pagenav */
.pagenav ul {
  letter-spacing: -0.4em;
  text-align: center;
}

/* 新着・更新の背景色 */
.new {
  background: #cb0039;
  color: #fff;
}
.update {
  background: #0071b3;
  color: #fff;
}


/* -------------------------------------------------------
for SmartPhone
---------------------------------------------------------- */
@media only screen and (max-width:1023px){
  body {
    font-family: sans-serif;
  }

  .pcv {
    display: none;
  }

  /* header */
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 64px;
    z-index: 99;
  }
  .header_inner {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
  }
  .header_inner .title {
    flex: 1;
    padding: 8px;
  }
  .header_inner .title img {
    width: 100%;
    max-width: 240px;
  }
  .header_inner .h_menu_btn {
    box-sizing: border-box;
    width: 64px;
    height: 64px;
    margin-left: auto;
    padding-top: 16px;
    text-align: center;
    vertical-align: middle;
  }
  .header_inner .h_menu_btn img {
    width: 32px;
  }

  /* top contents */
  .contents_wrap {
    padding-top: 64px;
  }
  .top_category + .top_category {
    margin-top: 64px;
  }
  .top_category_title {
    position: relative;
    width: 100%;
    height: 360px;
    /*background: url(../images/cate1.jpg) no-repeat center center;*/
    background-size: cover;
    text-align: center;
  }
  .top_category_title h1 {
    position: absolute;
    top: 116px;
    right: 0;
    left: 0;
    margin: auto;
    color: #fff;
    font-size: 180%;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }
  .t_c_btn {
    position: absolute;
    top: 196px;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }
  .t_c_btn a {
    display: inline-block;
    width: 160px;
    background: #fff;
    border-radius: 24px;
    color: #111;
    font-size: 16px;
    text-decoration: none;
    line-height: 48px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  }

  .top_category_link {
    margin: 40px auto 0;
  }
  .top_category_link ul {
    letter-spacing: -0.4em;
    padding-left: 2%;
  }
  .top_category_link ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 48%;
    max-width: 320px;
    margin-right: 2%;
    margin-bottom: 8%;
    vertical-align: top;
  }
  .top_category_link ul li a {
    color: #111;
    text-decoration: none;
  }
  .top_category_link ul li a:hover {
    color: #cb0039;
  }

  .top_category_link figure {
    position: relative;
    width: 100%;
    max-width: 320px;
    padding-top: 75%;
    overflow: hidden;
  }
  .top_category_link figure img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    margin-bottom: 8px;
    opacity: 1;
    transition: all 0.3s ease-out;
  }
  .top_category_link figure img:hover {
    opacity: .7;
  }
  .top_category_link figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 8px;
    background: rgba(255,255,255,0.7);
    color: #111;
    font-size: 90%;
    font-weight: bold;
    line-height: 1.2;
  }

  .top_category_link li p {
    margin-top: 8px;
    font-size: 80%;
    line-height: 1.6;
  }

  .t_c_all_link {
    margin: 16px 0 0;
    text-align: center;
  }
  .t_c_all_link a {
    display: inline-block;
    padding: 0 1em;
    background: #fff;
    border-radius: 24px;
    color: #111;
    font-size: 16px;
    text-decoration: none;
    line-height: 48px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  }
  .t_c_all_link a:hover {
    background: #cb0039;
    color: #fff;
  }

  /* top pr */
  .top_prblock {
    width: 100%;
    margin: 64px 0 0;
    background: url(../images/top_prblock_bg.jpg) no-repeat center center;
    background-size: cover;
  }
  .top_prblock_inner {
    padding: 40px 8px;
    color: #fff;
  }
  .t_pr_wrap {}
  .t_pr_cell + .t_pr_cell {
    margin-top: 40px;
  }
  .tp_cell_wrap {
    display: table;
    width: 100%;
  }
  .tp_cell_wrap .tp_cell_tc_img {
    display: table-cell;
    width: 30%;
    vertical-align: top;
  }
  .tp_cell_tc_img img {
    width: 100%;
  }
  .tp_cell_wrap .tp_cell_tc_txt {
    display: table-cell;
    box-sizing: border-box;
    width: 70%;
    padding-left: 16px;
    vertical-align: top;
  }
  .tp_cell_tc_title {
    margin-bottom: .8em;
    padding-bottom: .4em;
    border-bottom: 1px solid #eee;
    font-size: 120%;
    font-weight: bold;
  }
  .tp_cell_tc_txt p {
    font-size: 90%;
    line-height: 1.4;
  }
  .tp_cell_btn {
    margin-top: 8px;
  }
  .tp_cell_btn a {
    display: inline-block;
    padding: 0 1em;
    background: #fff;
    border-radius: 16px;
    color: #111;
    font-size: 90%;
    line-height: 32px;
    text-decoration: none;
    box-shadow: 0 2px 3px rgba(0,0,0,0.3);
  }

  /* top_event */
  .top_event_link {
    margin-top: 32px;
  }
  .top_event_link ul {
    padding: 0 8px;
  }
  .top_event_link li {
    padding: 16px 0;
    border-bottom: 1px solid #eee;
    line-height: 1.6;
  }
  .top_event_link li .event_date {
    margin-bottom: 8px;
    font-size: 90%;
    letter-spacing: 1px;
  }
  .top_event_link li .event_info {
    font-weight: bold;
  }
  .top_event_link li .event_info a {
    color: #111;
  }


  /* top_information */
  .top_information {
    margin: 56px 0 0;
    padding: 40px 0;
    background: url(../images/top_info_bg2.jpg) repeat center top;
  }

  .event_box h2,
  .local_company h2,
  .gyousei h2,
  .editor h2,
  .station h2 {
    margin-bottom: .5em;
    padding-bottom: .4em;
    border-bottom: 1px solid #333;
    color: #111;
    font-size: 120%;
    font-weight: normal;
    text-align: center;
  }
  .event_box h2 span,
  .local_company h2 span,
  .gyousei h2 span,
  .editor h2 span,
  .station h2 span {
    display: block;
    margin-bottom: 8px;
    text-align: center;
  }
  .event_box h2 span img,
  .local_company h2 span img,
  .gyousei h2 span img,
  .editor h2 span img,
  .station h2 span img {
    width: 32px;
    height: auto;
  }
  .event_box .all_pc,
  .local_company .all_pc,
  .gyousei .all_pc,
  .editor .all_pc,
  .station .all_pc {
    display: none;
  }
  .event_box .all_s,
  .local_company .all_s,
  .gyousei .all_s,
  .editor .all_s,
  .station .all_s {
    margin-top: 16px;
    text-align: center;
  }
  .event_box .all_s a,
  .local_company .all_s a,
  .gyousei .all_s a,
  .editor .all_s a,
  .station .all_s a {
    display: inline-block;
    padding: 1em 2em;
    background: #fff;
    border-radius: 1.5em;
    font-size: 100%;
    text-decoration: none;
    box-shadow: 0 2px 3px rgba(0,0,0,0.3);
  }

  .top_info_wrap .event_box,
  .top_info_wrap .local_company,
  .top_info_wrap .gyousei,
  .top_info_wrap .editor,
  .top_info_wrap .station {
    padding: 0 16px;
  }
  .top_info_wrap .local_company,
  .top_info_wrap .gyousei,
  .top_info_wrap .editor,
  .top_info_wrap .station {
    margin-top: 48px;
  }

  .event_box li {
    padding: 1em 0;
    border-bottom: 1px dotted #333;
    font-size: 100%;
    line-height: 1.6;
    align-items: center;
  }
  .event_box li .t_e_c {
    margin-bottom: 4px;
  }
  .event_box li .t_e_c .e_i,
  .event_box li .t_e_c .e_r {
    display: inline-block;
    font-size: 80%;
  }
  .event_box li .t_e_c .e_i {
    padding: 4px 8px;
    background: #e67636;
    color: #fff;
  }
  .event_box li .t_e_c .e_r {
    padding: 4px 8px;
    background: #199aad;
    color: #fff;
  }
  .event_box li .t_e_title {
    font-weight: bold;
    text-align: left;
  }
  .event_box li .t_e_title .t_e_d {
    display: block;
    color: #666;
    font-size: 90%;
  }

  .local_company li {
    padding: 16px 0;
    border-bottom: 1px dotted #333;
  }
  .local_company li a {
    text-decoration: none;
  }
  .l_c_wrap {
    display: flex;
    width: 100%;
  }
  .l_c_wrap .t_com_img {
    width: 80px;
    vertical-align: top;
  }
  .t_com_img img {
    width: 80px;
    height: auto;
  }
  .l_c_wrap .t_com_info {
    flex: 1;
    padding-left: 16px;
  }
  .t_com_info .c_name {
    margin-bottom: 4px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2;
  }
  .t_com_info .c_pr {
    font-size: 12px;
    line-height: 1.4;
  }
  .t_com_info .new {
    display: inline-block;
    margin-top: 8px;
    margin-right: 8px;
    padding: 4px 8px;
    font-size: 10px;
  }
  .t_com_info .update {
    display: inline-block;
    margin-top: 8px;
    padding: 4px 8px;
    font-size: 10px;
  }

  .gyousei li {
    padding: 1em 0;
    border-bottom: 1px dotted #333;
    font-size: 100%;
    line-height: 1.6;
    align-items: center;
  }
  .gyousei li .t_g_town {
    margin-bottom: 8px;
  }
  .gyousei li .t_g_title {
    font-weight: bold;
    text-align: left;
  }
  .gyousei li .t_g_town span {
    display: inline-block;
    padding: 4px 1em;
    background: #333;
    color: #fff;
    font-size: 90%;
  }
  .gyousei li .t_g_title .t_g_date {
    display: block;
    color: #666;
    font-size: 90%;
  }

  .editor li,
  .station li {
    padding: 1em 0;
    border-bottom: 1px dotted #333;
    line-height: 1.4;
    align-items: center;
  }
  .editor li .t_e_date,
  .station li .t_e_date {
    margin-bottom: 4px;
    font-size: 80%;
    letter-spacing: 1px;
  }
  .editor li .t_e_title,
  .station li .t_e_title {
    font-weight: bold;
    text-align: left;
  }


  /* category */
  .category_title {
    position: relative;
    width: 100%;
    height: 240px;
    /*background: url(../images/cate1.jpg) no-repeat center center;*/
    background-size: cover;
    text-align: center;
  }
  .category_title h1 {
    position: absolute;
    top: 96px;
    right: 0;
    left: 0;
    margin: auto;
    color: #fff;
    font-size: 180%;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }

  .category_tab {
    margin-top: 40px;
  }
  .category_tab .category_tab_title {
    padding: 0 8px 16px;
  }
  .category_tab .category_tab_area {

  }
  .category_tab_area ul {
    letter-spacing: -0.4em;
  }
  .category_tab_area li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 8px 8px;
  }
  .category_tab_area li a {
    display: block;
    padding: .6em 1em;
    background: #fff;
    border: 1px solid #ccc;
    text-decoration: none;
  }
  .category_tab_area li a:hover {
    background: #cb0039;
    border-color: #cb0039;
    color: #fff;
  }

  .category_sub_title {
    margin-top: 40px;
    text-align: center;
  }
  .category_sub_title h2 {
    color: #111;
    font-size: 130%;
    font-weight: bold;
  }
  .category_sub_title_txt {
    margin-top: 1em;
    padding: 0 1em;
    line-height: 1.6;
    text-align: left;
  }


  .category_link {
    margin: 40px auto 0;
  }
  .category_link ul {
    letter-spacing: -0.4em;
    text-align: center;
  }
  .category_link ul li {
    letter-spacing: normal;
    display: inline-block;
    max-width: 320px;
    margin-right: 2%;
    margin-bottom: 8%;
    text-align: left;
    vertical-align: top;
  }
  .category_link ul li a {
    color: #111;
    text-decoration: none;
  }
  .category_link ul li a:hover {
    color: #cb0039;
  }

  .category_link figure {
    position: relative;
    width: 100%;
    max-width: 320px;
    padding-top: 75%;
    overflow: hidden;
  }
  .category_link figure img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    margin-bottom: 8px;
    opacity: 1;
    transition: all 0.3s ease-out;
  }
  .category_link figure img:hover {
    opacity: .7;
  }
  .category_link figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 8px;
    background: rgba(255,255,255,0.8);
    color: #111;
    font-size: 90%;
    font-weight: bold;
    line-height: 1.2;
  }
  .category_link li p {
    margin-top: 8px;
    font-size: 80%;
    line-height: 1.6;
  }


  /* tag */
  .tagpage_title {
    width: 100%;
    background: url(../images/bg1.png) repeat center center;
    text-align: center;
  }
  .tagpage_title h1 {
    padding: 32px 0;
    color: #111;
    font-size: 120%;
    font-weight: bold;
  }

  .tag_link {
    margin: 40px auto 0;
  }
  .tag_link ul {
    letter-spacing: -0.4em;
    text-align: center;
  }
  .tag_link ul li {
    letter-spacing: normal;
    display: inline-block;
    max-width: 320px;
    margin-right: 2%;
    margin-bottom: 8%;
    vertical-align: top;
  }
  .tag_link ul li a {
    color: #111;
    text-decoration: none;
  }
  .category_link ul li a:hover {
    color: #cb0039;
  }

  .tag_link figure {
    position: relative;
    width: 100%;
    max-width: 320px;
    padding-top: 75%;
    overflow: hidden;
  }
  .tag_link figure img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    margin-bottom: 8px;
    opacity: 1;
    transition: all 0.3s ease-out;
  }
  .tag_link figure img:hover {
    opacity: .7;
  }
  .tag_link figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 8px;
    background: rgba(255,255,255,0.8);
    color: #111;
    font-size: 90%;
    font-weight: bold;
    line-height: 1.2;
  }
  .tag_link li p {
    margin-top: 8px;
    font-size: 80%;
    line-height: 1.6;
  }

  /* pagepath */
  .pagepath {
    margin-top: 8px;
    padding: 0 8px;
    letter-spacing: -0.4em;
  }
  .pagepath li {
    letter-spacing: normal;
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 8px;
    font-size: 12px;
  }
  .pagepath li:after {
    content: "\f105";
    font-family: "FontAwesome";
    margin-left: 8px;
  }
  .pagepath li:last-child {
    margin: 0;
  }
  .pagepath li:last-child:after {
    content: "";
  }
  .pagepath li a {
    color: #666;
  }
  .pagepath li a:hover {
    text-decoration: underline;
  }


  /* container */
  .container {
    margin: 32px 0 0;
  }

  .main {
  }

  .side {
    margin-top: 40px;
  }

  /* blog */
  .blog header {
    padding: 0 8px;
  }
  .page_title h1 {
    font-size: 150%;
    font-weight: bold;
    line-height: 1.2;
  }
  .page_info {
    margin-top: 8px;
  }
  .e_d {
    display: inline-block;
    margin-left: 16px;
    font-size: 14px;
    line-height: 24px;
    float: right;
  }
  .c_n {
    display: inline-block;
    padding: 0 1em;
    background: #fff8d7;
    font-size: 90%;
    line-height: 24px;
  }
  .c_n a {
    color: #333;
    text-decoration: none;
  }
  .ev_i {
    display: inline-block;
    padding: 0 1em;
    background: #e67636;
    color: #fff;
    font-size: 90%;
    line-height: 24px;
  }
  .ev_r {
    display: inline-block;
    padding: 0 1em;
    background: #199aad;
    color: #fff;
    font-size: 90%;
    line-height: 24px;
  }
  .e_d_date {
    font-size: 80%;
  }

  /* blog > article */
  .blog article {
    margin-top: 24px;
    padding: 0 8px;
    line-height: 1.7;
  }
  .blog article .eyecatch {
    margin-bottom: 40px;
  }
  .blog article .eyecatch img {
    width: 100%;
  }
  .blog article p {
    /*margin-bottom: 1.5em;
    line-height: 1.8;*/
  }
  .blog article a {
    text-decoration: underline;
  }
/*
  article .entry_body img {
    display: inline-block;
    width: 100% !important;
    height: auto;
  }
*/
  article .entry_body img {
    display: inline-block;
    width: auto;
    max-width: 100% !important;
    height: auto;
  }


  /* event */
  .event_title {
    width: 100%;
    background: url(../images/bg_ami.png), url(../images/event_bg.jpg);
    background-repeat: repeat, no-repeat;
    background-position: left top, center top;
    background-size: auto, cover;
    text-align: center;
  }
  .event_title h1 {
    padding: 56px 0;
    color: #fff;
    font-size: 150%;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }
  .event_title h1 span {
  	display: block;
  	margin-top: 8px;
  	font-size: 16px;
  	font-weight: normal;
  }


  .event .monthly_link {
    margin-top: 32px;
    padding: 8px 8px 0;
    background: #f7f7f7;
  }
  .event .monthly_link .year {
    margin-top: 8px;
    margin-bottom: 16px;
    text-align: center;
  }
  .event .monthly_link .year_wrap {
    display: table;
    width: 100%;
  }
  .event .monthly_link .year_wrap .year_prev,
  .event .monthly_link .year_wrap .year_next {
    display: table-cell;
    vertical-align: top;
  }
  .event .monthly_link .year_wrap .year_prev {
    width: 35%;
    text-align: right;
  }
  .event .monthly_link .year_wrap .year_current {
    display: table-cell;
    width: 30%;
    text-align: center;
    vertical-align: bottom;
  }
  .event .monthly_link .year_wrap .year_next {
    width: 35%;
    text-align: left;
  }
  .event .monthly_link .year_wrap .year_prev a,
  .event .monthly_link .year_wrap .year_next a {
    display: inline-block;
    /*width: 32px;*/
    padding: .2em .5em;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 150%;
    /*line-height: 32px;*/
    text-align: center;
  }

  .event .monthly_link .year_current span {
    display: inline-block;
    padding-bottom: 8px;
    /*border-bottom: 1px solid #666;*/
    font-weight: bold;
    font-size: 120%;
  }
  .event .monthly_link ul {
    letter-spacing: -0.4em;
    text-align: center;
  }
  .event .monthly_link ul li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 4px 8px;
  }
  .event .monthly_link ul li a {
    display: block;
    width: 3em;
    padding: .6em 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    text-decoration: none;
    text-align: center;
  }
  .event .monthly_link ul li a:hover {
    border: 1px solid #cb0039;
    color: #cb0039;
  }
  .event .monthly_link ul li a.nm {
    background: #cb0039;
    border: 1px solid #cb0039;
    color: #fff;
  }

  .event_link {
    margin-top: 48px;
  }
  .event_link ul.e_l_list {
    letter-spacing: -0.4em;
    box-sizing: border-box;
    text-align: center;
  }
  .event_link ul.e_l_list li {
    letter-spacing: normal;
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    width: 320px;
    margin: 0 8px 32px;
    padding: 8px;
    border: 1px solid #ddd;
    text-align: left;
    vertical-align: top;
  }
  .event_link ul.e_l_list li a .b_fil {
    display: none;
  }
  .event_link ul.e_l_list li.e_close a .b_fil {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
    z-index: 2;
  }
  .event_link ul.e_l_list li a {
    color: #111;
    text-decoration: none;
  }
  .event_link ul.e_l_list li a:hover {
    color: #cb0039;
  }
  .event_link .e_c_i,
  .event_link .e_c_r {
    position: absolute;
    top: 24px;
    left: 0;
    z-index: 10;
  }
  .event_link .e_c_i span,
  .event_link .e_c_r span {
    display: inline-block;
    padding: 8px 8px;
    font-size: 12px;
  }
  .event_link .e_c_i span {
    background: #e67636;
    color: #fff;
  }
  .event_link .e_c_r span {
    background: #199aad;
    color: #fff;
  }

  .event_link figure {
    width: 304px;
    height: 196px;
    overflow: hidden;
    margin-bottom: 16px;
  }
  .event_link figure img {
    width: 100%;
  }

  .event_link .e_t {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin: 0 auto;
    font-size: 100%;
    font-weight: bold;
    text-align: center;
  }
  .event_link .e_date {
    margin: 16px 0;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
  }
  .event_link li p {
    height: 5em;
    overflow-y: hidden;
    font-size: 14px;
    line-height: 1.6;
  }

  .past_events {
    margin: 64px 0 0;
    padding: 32px;
    background: url(../images/bg1.png) repeat left top;
  }
  .past_events_title {
    margin-bottom: 16px;
    text-align: center;
  }
  .past_events_title span {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 1px solid #666;
    font-weight: bold;
  }
  .past_events ul {
    letter-spacing: -0.4em;
    text-align: left;
  }
  .past_events ul li {
    letter-spacing: normal;
    display: inline-block;
    margin-right: 16px;
  }
  .past_events ul li a {
    display: block;
    padding: .6em 1.2em;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    text-decoration: none;
  }
  .past_events ul li a:hover {
    border: 1px solid #cb0039;
    color: #cb0039;
  }


  /* diary */
  .diary_title {
    width: 100%;
    background: url(../images/bg_ami.png), url(../images/diary_bg.jpg);
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto, cover;
    text-align: center;
  }
  .diary_title h1 {
    padding: 56px 0;
    color: #fff;
    font-size: 150%;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }

  .diary_link {
    margin-top: 48px;
  }
  .diary_link ul.d_l_list {
    letter-spacing: -0.4em;
    box-sizing: border-box;
    text-align: center;
  }
  .diary_link ul.d_l_list li {
    letter-spacing: normal;
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    width: 320px;
    margin: 0 8px 32px;
    padding: 8px;
    border: 1px solid #ddd;
    text-align: left;
    vertical-align: top;
  }
  .diary_link ul.d_l_list li a {
    color: #111;
    text-decoration: none;
  }
  .diary_link ul.d_l_list li a:hover {
    color: #cb0039;
  }
  .diary_link figure {
    width: 304px;
    height: 196px;
    overflow: hidden;
    margin-bottom: 16px;
  }
  .diary_link figure img {
    width: 100%;
  }

  .diary_link .d_t {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin: 0 auto;
    font-size: 100%;
    font-weight: bold;
    text-align: left;
  }
  .diary_link.novel .d_t {
    margin: 8px 0 16px;
  }

  .diary_link .d_date {
    margin-top: 8px;
    margin-right: 8px;
    font-size: 80%;
    text-align: right;
  }
  .diary_link li p {
    height: 5em;
    margin-top: 1em;
    overflow-y: hidden;
    font-size: 90%;
    line-height: 1.6;
  }

  /* station */
  .station_title {
    width: 100%;
    background: url(../images/bg_ami.png), url(../images/station_bg.jpg);
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto, cover;
    text-align: center;
  }
  .station_title h1 {
    padding: 56px 0;
    color: #fff;
    font-size: 150%;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }


  /* notice */
  .notice_title {
    width: 100%;
    background: url(../images/bg_ami.png), url(../images/gyousei_bg.jpg);
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto, cover;
    text-align: center;
  }
  .notice_title h1 {
    padding: 56px 0;
    color: #fff;
    font-size: 150%;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }

  .notice_link {
    margin-top: 48px;
  }
  .notice_link ul.n_l_list {
    padding: 0 8px;
  }
  .notice_link ul.n_l_list li {
    padding: 1em 0;
    border-bottom: 1px solid #eee;
    line-height: 1.6;
  }
  .n_l_list .n_town {
    margin-bottom: 8px;
  }
  .n_l_list .n_town span {
    display: inline-block;
    padding: .5em 1em;
    background: #333;
    color: #fff;
    font-size: 80%;
  }
  .n_l_list .n_text {}
  .n_l_list .n_t {
    margin-bottom: 8px;
    font-size: 100%;
    font-weight: bold;
  }
  .n_l_list li p {
    margin-top: 1em;
    font-size: 90%;
  }
  .n_l_list .n_date {
    margin-top: 8px;
    font-size: 90%;
  }

  /* n_detail */
  .n_d_date {
    margin-top: 1em;
    font-size: 90%;
  }


  /* company_list */
  .i_type {
    padding: 16px 0;
    background: url(../images/bg1.png) repeat left top;
  }
  .i_type .i_type_info {
    margin-bottom: 8px;
  }
  .i_type .i_type_select {
    text-align: center;
  }
  .i_type_info p {
    font-weight: bold;
    text-align: center;
  }
  .i_type_select select {
    padding: .2em .5em;
    border: 1px solid #ccc;
  }
  .i_type_select select option {
    font-size: 100%;
  }

  .company_list_title {
    width: 100%;
    background: url(../images/bg_ami.png), url(../images/company_bg.jpg);
    background-repeat: repeat, no-repeat;
    background-position: left top, center bottom;
    background-size: auto, cover;
    text-align: center;
  }
  .company_list_title h1 {
    padding: 56px 0;
    color: #fff;
    font-size: 150%;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }


  /* company_top_news */
  .company_top_news {
    margin: 32px 0;
  }
  .company_top_news h2 {
    margin-bottom: .8em;
    color: #111;
    font-size: 120%;
    font-weight: bold;
    text-align: center;
  }
  .company_top_news ul {
    border-top: 2px solid #ddd;
    border-bottom: 2px solid #ddd;
  }
  .company_top_news li {
    padding: 1em;
    border-bottom: 1px dotted #ccc;
    line-height: 1.6;
  }
  .company_top_news li:last-child {
    border: 0;
  }
  .company_top_news li span {
    display: block;
    font-size: 14px;
  }
  .company_top_news li .date {
  }
  .company_top_news li .name {
  }
  .company_top_news li .name:before {
    content: "（";
  }
  .company_top_news li .name:after {
    content: "）";
  }
  .company_top_news li .type {
    margin-bottom: 8px;
  }
  .company_top_news li .new {
    display: inline-block;
    padding: 2px 8px;
    font-size: 10px;
  }
  .company_top_news li .update {
    display: inline-block;
    padding: 2px 8px;
    font-size: 10px;
  }

  .company_link {
    margin-top: 48px;
  }
  ul.c_l_list {
    letter-spacing: -0.4em;
    box-sizing: border-box;
    text-align: center;
  }
  ul.c_l_list li {
    letter-spacing: normal;
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    width: 320px;
    margin: 0 8px 32px;
    padding: 8px;
    border: 1px solid #ddd;
    text-align: left;
    vertical-align: top;
  }
  ul.c_l_list li a {
    color: #111;
    text-decoration: none;
  }
  ul.c_l_list li a:hover {
    color: #cb0039;
  }

  .company_link .c_l_type {
    position: absolute;
    top: 24px;
    left: 0;
    z-index: 10;
  }
  .company_link .c_l_type span {
    display: inline-block;
    padding: 8px 8px;
    font-size: 12px;
  }
  .company_link .c_l_type span {
    background: #333;
    color: #fff;
  }

  .company_link figure {
    width: 304px;
    height: 196px;
    overflow: hidden;
    margin-bottom: 16px;
  }
  .company_link figure img {
    width: 100%;
  }

  .company_link .c_t {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin: 0 auto;
    font-size: 100%;
    font-weight: bold;
    text-align: center;
  }
  .company_link li p {
    height: 5em;
    overflow-y: hidden;
    font-size: 14px;
    line-height: 1.6;
  }
  .c_l_list li .new {
    display: inline-block;
    margin-top: 4px;
    margin-right: 8px;
    padding: 4px 8px;
    font-size: 10px;
  }
  .c_l_list li .update {
    display: inline-block;
    margin-top: 4px;
    padding: 4px 8px;
    font-size: 10px;
  }

  .no_rs {
    text-align: center;
  }

  /* tag */
  .tag {
    margin-top: 40px;
    padding: 16px;
    background: url(../images/bg1.png) repeat left center;
  }
  .tag dl {
    width: 100%;
    display: flex;
    font-size: 14px;
  }
  .tag dt {
    width: 3em;
    margin-right: 1em;
    line-height: 28px;
  }
  .tag dd {
    flex: 1;
  }
  .tag dd span {
    display: inline-block;
    margin-right: 8px;
  }
  .tag dd span a {
    display: inline-block;
    padding: 0 1em;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    color: #111;
    text-decoration: none;
    line-height: 28px;
  }

  /* sns_share */
  .sns_share {
    margin-top: 16px;
    padding: 0 8px;
  }
  .sns_share ul {
    letter-spacing: -0.4em;
  }
  .sns_share ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 42px;
    height: 42px;
    margin-right: 8px;
  }
  .sns_share ul li a {
    display: block;
    color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 42px;
  }
  .sns_share ul li.tw a {
    background: #55acee;
    font-size: 24px;
  }
  .sns_share ul li.fb a {
    background: #3B5998;
    font-size: 24px;
  }
  .sns_share ul li.rss a {
    background: #ff9900;
  }
  .sns_share ul li.hatena {
    background: #00a4de;
  }

  /* related_post */
  .related_post {
    margin-top: 32px;
  }
  .related_post h2{
    margin-bottom: 1em;
    padding: 0 8px 8px;
    border-bottom: 1px solid #ccc;
    font-size: 120%;
  }
  .related_post ul {
    letter-spacing: -0.4em;
    box-sizing: border-box;
    width: 100%;
    padding: 0 8px;
  }
  .related_post ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 48%;
    margin: 0 2% 8% 0;
    vertical-align: top;
  }
  .related_post ul li p {
    font-size: 80%;
    line-height: 1.4;
  }
  .related_post ul li a {
    color: #111;
  }
  .related_post .rp_img {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 4px;
  }
  .related_post .rp_img:before {
    content:"";
    display: block;
    padding-top: 75%;
  }
  .related_post .rp_img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
  }


  /* company */
  .company header {
    padding: 0 8px;
  }
  .company .pr {
    margin-top: 8px;
    padding: 0 8px;
    font-size: 90%;
    line-height: 1.4;
  }
  .company article {
    margin-top: 24px;
    padding: 0 8px;
    line-height: 1.7;
  }
  .company article .eyecatch {
    margin-bottom: 40px;
  }
  .company article .eyecatch img {
    width: 100%;
  }
  .company article p {}

  .company_menu {
    margin: 16px 0 32px;
    background: url(../images/bg1.png) repeat left center;
  }
  .company_menu ul {
    letter-spacing: -0.4em;
    padding: 16px 16px 8px;
  }
  .company_menu li {
    display: inline-block;
    letter-spacing: normal;
    margin-right: 8px;
    margin-bottom: 8px;
  }
  .company_menu li a {
    display: inline-block;
    padding: .6em 1em;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-decoration: none;
  }


  .company_newslist {
    margin-top: 56px;
  }
  .company_newslist h2 {
    margin: 0 8px;
    padding: 16px;
    border-bottom: 1px solid #444;
    color: #111;
    font-size: 120%;
    font-weight: normal;
    text-align: center;
  }
  .company_newslist h2 span {
    display: block;
    margin-bottom: 8px;
  }
  .company_newslist h2 span img {
    width: 32px;
    height: auto;
  }
  .company_newslist ul {
    padding: 0 8px;
  }
  .company_newslist li {
    box-sizing: border-box;
    padding: 16px 8px;
    border-bottom: 1px solid #eee;
    line-height: 1.6;
    align-items: center;
  }
  .company_newslist li .c_news_date {
    font-size: 80%;
    letter-spacing: 1px;
  }
  .company_newslist li .c_news_title {
    font-weight: bold;
    text-align: left;
  }
  .company_newslist li .c_news_type {
  }
  .company_newslist li .c_news_type .new {
    display: inline-block;
    padding: 2px 8px;
    font-size: 10px;
  }
  .company_newslist li .c_news_type .update {
    display: inline-block;
    padding: 2px 8px;
    font-size: 10px;
  }


  /* access */
  .access h2 {
    margin: 0 8px 16px;
    padding: 16px;
    border-bottom: 1px solid #444;
    color: #111;
    font-size: 120%;
    font-weight: normal;
    text-align: center;
  }
  .access h2 span {
    display: block;
    margin-bottom: 8px;
  }
  .access h2 span img {
    width: 32px;
    height: auto;
  }
  .access #map {
    width: 100%;
    height: 240px;
    margin-top: 16px;
  }

  /* free */
  .company_free h2 {
    margin: 0 8px;
    padding: 16px;
    border-bottom: 1px solid #444;
    color: #111;
    font-size: 120%;
    font-weight: normal;
    text-align: left;
  }


  /* 基本情報 */
  .company_info {
    margin-top: 48px;
  }
  .company_info h2 {
    margin: 0 8px;
    padding: 16px;
    border-bottom: 1px solid #444;
    color: #111;
    font-size: 120%;
    font-weight: normal;
    text-align: center;
  }
  .company_info h2 span {
    display: block;
    margin-bottom: 8px;
  }
  .company_info h2 span img {
    width: 32px;
    height: auto;
  }
  table.company_spec {
    width: 100%;
  }
  table.company_spec th,
  table.company_spec td {
    padding: 1em;
    border-bottom: 1px solid #eee;
    line-height: 1.6;
    text-align: left;
    vertical-align: middle;
  }
  table.company_spec th {
    width: 5em;
  }
  table.company_spec td .ac_btn {
    display: block;
  }
  table.company_spec td .ac_btn a {
    display: inline-block;
    padding: 4px 8px;
    background: #333;
    color: #fff;
    font-size: 12px;
  }
  table.company_spec td .ac_btn a:hover {
    background: #cb0039;
    text-decoration: none;
  }


  /* news_list */
  .news_title_list h2 {
    margin-bottom: 1em;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
  }
  .news_title_list ul {
    border-top: 1px solid #ccc;
  }
  .news_title_list li {
    padding: 16px 0;
    border-bottom: 1px dotted #ccc;
  }
  .news_title_list li .date {
    display: block;
    margin-bottom: 8px;
    padding: 0 8px;
    font-size: 12px;
  }
  .news_title_list li .news_title {
    display: block;
    padding: 0 8px;
    line-height: 1.4;
  }

  /* pagenav */
  .pagenav {
    margin-top: 40px;
  }
  .pagenav ul {
    padding: 0 16px;
  }
  .pagenav ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 32px;
    margin: 8px 4px 0;
  }
  .pagenav ul li a {
    display: block;
    background: #cb0039;
    border-radius: 16px;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    line-height: 32px;
    text-align: center;
  }
  .pagenav ul li a:hover {
    background: #eee;
    color: #cb0039;
  }
  .pagenav ul li a.nv {
    background: #eee;
    color: #cb0039;
  }



  /* side */
  .side_bn {
    margin-bottom: 24px;
    text-align: center;
  }

  /* side */

  /* 人気記事 */
  .popular_article {
    margin-top: 32px;
  }
  .p_a_s_title {
    margin: 0 8px;
    padding: 16px;
    border-bottom: 1px solid #e5e5e5;
    text-align: center;
  }
  .p_a_s_title h2 {
    color: #111;
    font-size: 120%;
    font-weight: normal;
  }
  .p_a_s_title span {
    display: block;
    margin-bottom: 8px;
  }
  .p_a_s_title span img {
    width: 32px;
    height: auto;
  }

  .popular_article ul {
    padding: 0 8px;
  }
  .popular_article li {
    border-bottom: 1px solid #e5e5e5;
  }
  .popular_article li a {
    color: #333;
    text-decoration: none;
  }

  .p_a_s_wrap {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
  }
  .p_a_s_wrap .t_img {
    width: 80px;
    padding: 16px 0;
  }
  .p_a_s_wrap .a_s_title {
    box-sizing: border-box;
    flex: 1;
    padding: 16px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
  }
  .p_a_s_wrap .t_img img {
    width: 100%;
    height: auto;
    max-height: 80px;
  }

  /* 新着 */
  .new_article {
    margin-top: 32px;
  }
  .n_a_s_title {
    margin: 0 8px;
    padding: 16px;
    border-bottom: 1px solid #e5e5e5;
    text-align: center;
  }
  .n_a_s_title h2 {
    color: #111;
    font-size: 120%;
    font-weight: normal;
  }
  .n_a_s_title span {
    display: block;
    margin-bottom: 8px;
  }
  .n_a_s_title span img {
    width: 32px;
    height: auto;
  }

  .new_article ul {
    margin-top: 8px;
    padding: 0 8px;
    height: 240px;
    overflow-y: scroll;
  }
  .new_article li {
    position: relative;
    padding: .6em 1em .6em 1.5em;
    border-bottom: 1px dotted #ddd;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
  }
  .new_article li:before {
    content: "\f105";
    font-family: "FontAwesome";
    position: absolute;
    top: 50%;
    left: 8px;
    margin-top: -10px;
    color: #111;
  }
  .new_article li a {
    color: #333;
    text-decoration: none;
  }
  .new_article li a:hover {
    color: #cb0039;
  }
  .new_article li .cg {
    font-size: 12px;
    font-weight: normal;
  }




  /* contact */
  body.contact {
    background: url(../images/contact_bg.jpg) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .contact_body {
    margin: 24px 8px;
    background: rgba(255,255,255,0.9);
  }
  .contact_body_inner {
    padding: 24px 8px;
  }
  .contact_body_inner header {
    margin-bottom: 24px;
    text-align: center;
  }
  .contact_body_inner header h1 {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 1px solid #333;
    font-size: 120%;
    font-weight: normal;
  }
  .contact_body_inner h2 {
    margin: 1.5em 0 1em;
    padding: .2em 0 .2em .5em;
    border-left: 4px solid #cb0039;
    font-size: 120%;
  }
  .contact_body_inner p + p {
    margin-top: 1em;
  }
  .contact_body_inner p {
    font-size: 90%;
    line-height: 1.7;
  }
  .contact_box + .contact_box {
    margin-top: 40px;
  }
  .contact_box p {
    padding-left: 1em;
  }

  .contact_btn {
    margin-top: 8px;
    text-align: center;
  }
  .contact_btn a {
    display: inline-block;
    padding: 0 1em;
    background: #fff;
    border-radius: 20px;
    color: #111;
    font-size: 16px;
    text-decoration: none;
    line-height: 40px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  }
  .contact_btn a:hover {
    background: #cb0039;
    color: #fff;
  }


  /* privacy */
  body.privacy {
    background: url(../images/privacy_bg.jpg) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .privacy_body {
    margin: 24px 8px;
    background: rgba(255,255,255,0.9);
  }
  .privacy_body_inner {
    padding: 24px 8px;
  }
  .privacy_body_inner header {
    margin-bottom: 24px;
    text-align: center;
  }
  .privacy_body_inner header h1 {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 1px solid #333;
    font-size: 120%;
    font-weight: normal;
  }
  .p_info {
    margin-bottom: 1.5em;
    font-size: 90%;
    line-height: 1.6;
  }
  .privacy_body_inner dl {
    font-size: 90%;
  }
  .privacy_body_inner dt {
    margin-bottom: .4em;
    font-weight: bold;
    line-height: 1.2;
  }
  .privacy_body_inner dd {
    margin-bottom: 1.5em;
    padding-left: 1em;
    line-height: 1.6;
  }


  /* footer */
  .footer_info {
    margin-top: 40px;
    /*background: url(../images/f_i_bg.jpg) repeat left top;*/
    background: #cb0039;
  }
  /*
  body.index .footer_info,
  body.eventpage .footer_info {
    margin: 0;
  }*/
  body.index .footer_info {
    margin: 0;
  }
  .footer_info .inner {
    padding: 32px 0;
  }
  .f_logo_box {
    margin-bottom: 8px;
  }
  .f_logo_box .f_logo {
    margin-bottom: 16px;
    padding: 0 16px;
    text-align: center;
  }
  .f_logo_box .f_logo img {
    width: 100%;
    max-width: 320px;
  }
  .f_logo_box .f_sns {
    margin-bottom: 16px;
    font-size: 24px;
    text-align: center;
  }
  .f_logo_box .f_sns span {
    display: inline-block;
    margin: 0 8px;
  }
  .f_logo_box .f_sns a {
    color: #fff;
    text-decoration: none;
  }
  .f_logo_box .f_sns a:hover {
    opacity: .5;
  }

  .f_link_list {
    text-align: center;
  }
  .f_link_list li {
    margin-bottom: 1em;
  }
  .f_link_list li a {
    color: #fff;
    text-decoration: none;
  }
  .f_link_bn {
    text-align: center;
  }


  .footer {
    padding: 1em 0;
    font-size: 80%;
  }

  .scroll_prevent {
    position: fixed;
    z-index: -1;
    visibility: hidden;
    width: 100%;
    height: 100%;
  }


  /* overlay_menu */
  .overlay_menu {
    position: fixed;
    visibility: visible !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: rgba(255,255,255,0.9);*/
    background: url(../images/menu_bg-s.png) no-repeat center bottom;
    background-size: cover;
    color: #111;
    z-index: 999;
    overflow:scroll;
  }
  .o_m_wrap {
    position: relative;
    padding: 8%;
  }
  .o_m_close {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 4px;
    border: 1px solid #666;
    z-index: 100;
  }
  .o_m_close img {
    width: 32px;
    height: auto;
  }

  .menu_box {
    font-size: 120%;
    font-weight: bold;
  }
  .menu_box a {
    color: #111;
    text-decoration: none;
  }
  .menu_box a:hover {
    color: #ccc;
  }
  .menu_box .gm {
    margin-bottom: 8px;
    padding-bottom: 8px;
    padding-left: 16px;
    border-bottom: 1px solid #eee;
  }
  .menu_box ul {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-left: 16px;
    border-bottom: 1px solid #eee;
  }
  .menu_box li {
    margin-bottom: 1em;
    line-height: 1.4;
  }
  .o_m_contact {
    margin-bottom: 16px;
    padding-bottom: 16px;
    padding-left: 16px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    font-weight: 500;
    line-height: 2.0;
  }
  .o_m_sns {
    padding-left: 16px;
  }
  .o_m_sns span {
    display: inline-block;
    margin-right: .5em;
    font-size: 24px;
  }
  .o_m_sns span.fs_s {
    font-size: 14px;
  }

  /* nra追加 */
  .nra_sopnsor {
    margin-top: 64px;
  }
  .nra_sopnsor h3 {
    margin-bottom: 1em;
    font-size: 120%;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }
  .nra_sopnsor ul {
    letter-spacing: -0.4em;
    text-align: center;
  }
  .nra_sopnsor li {
    letter-spacing: normal;
    display: inline-block;
    width: 44%;
    margin: 0 8px 8px;
    overflow: hidden;
  }
  .nra_sopnsor li img {
    width: 100%;
  }
  .nra_d_sponsor {
    margin: 32px 8px;
    padding: 24px;
    background: #d0e7ef;
    border-radius: 8px;
  }
  .nra_d_sponsor h3 {
    color: #0e3a85;
    font-size: 120%;
    font-weight: bold;
    line-height: 1.4;
  }
  .nra_d_sponsor p {
    margin-top: .6em;
    line-height: 1.6;
  }

  /* novel */
  .novel_author {
    margin-top: 64px;
  }
  .novel_author h3 {
    margin-bottom: 1.5em;
    font-size: 120%;
    font-weight: bold;
    text-align: center;
  }
  .novel_author_wrap {
    padding: 0 8px 32px;
    border-bottom: 1px solid #ddd;
  }
  .novel_author_wrap .author_img {
    text-align: center;
  }
  .novel_author_wrap .author_img img {
    width: 100%;
    max-width: 200px;
  }
  .novel_author_wrap .author_profile,
  .novel_author_wrap .author_history {
    margin-top: 24px;
    font-size: 80%;
    line-height: 1.6;
  }
  .novel_author_wrap .author_history dt {
    font-weight: bold;
  }
  .novel_author_wrap .author_history dd {
    margin-bottom: 1em;
  }
  .novel_author_wrap .author_history span {
    padding-left: 1em;
  }
  .novel_pagenav {
    width: 100%;
    display: flex;
    margin: 40px 0;
  }
  .novel_pagenav .novel_prev,
  .novel_pagenav .novel_next {
    width: 25%;
    box-sizing: border-box;
  }
  .novel_pagenav .novel_top {
    width: 50%;
    text-align: center;
  }
  .novel_pagenav .novel_prev {
    text-align: right;
  }
  .novel_pagenav .novel_next {
    text-align: left;
  }
}/* end SP */

/* -------------------------------------------------------
for TAB
---------------------------------------------------------- */
@media screen and (min-width:640px) and (max-width:1023px) {
  .spv {
    display: none;
  }
  .top_category_link ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 32%;
    max-width: 320px;
    margin-right: 1%;
    margin-bottom: 16px;
    vertical-align: top;
  }
  .category_link ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 32%;
    max-width: 320px;
    margin-right: 1%;
    margin-bottom: 16px;
    vertical-align: top;
  }
  .related_post ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 31%;
    margin: 0 2% 6% 0;
    font-size: 90%;
    vertical-align: top;
  }
}/* end TAB */



/* -------------------------------------------------------
for PC
---------------------------------------------------------- */
@media only screen and (min-width:1024px){
  body {
    font-family: "游ゴシック体", "Yu Gothic", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    zoom:1;
  }
  .spv {
    display: none;
  }

  /* header */
  .header .header_inner {
    display: flex;
    width: 1024px;
    height: 64px;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
  }
  .title {

  }
  .h_sns {
    margin-left: auto;
    padding-right: 24px;
    font-size: 24px;
  }
  .h_sns span {
    display: inline-block;
    margin-left: 16px;
  }
  .h_sns a {
    color: #fff;
    text-decoration: none;
  }
  .h_sns a:hover {
    opacity: .5;
  }
  .h_menu_btn {
    width: 64px;
    height: 64px;
    text-align: center;
  }
  .h_menu_btn img {
    width: 32px;
    height: auto;
    vertical-align: middle;
  }
  .h_menu_btn a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 32px;
    text-decoration: none;
    line-height: 64px;
    text-align: center;
  }
  .h_menu_btn a:hover {
    background: rgba(255,255,255,0.2);
  }



  /* top contents */
  .top_category + .top_category {
    margin-top: 96px;
  }
  .top_category_title {
    position: relative;
    width: 100%;
    min-width: 1024px;
    height: 520px;
    background: #f7f7f7;
    text-align: center;
  }
  .top_category_title h1 {
    position: absolute;
    top: 196px;
    right: 0;
    left: 0;
    margin: auto;
    color: #fff;
    font-size: 60px;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }
  .top_category_title .sub_t {
    position: absolute;
    top: 272px;
    right: 0;
    left: 0;
    margin: auto;
    color: #fff;
    font-size: 16px;
  }
  .t_c_btn {
    position: absolute;
    top: 320px;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }
  .t_c_btn a {
    display: inline-block;
    width: 160px;
    background: #fff;
    border-radius: 24px;
    color: #111;
    font-size: 16px;
    text-decoration: none;
    line-height: 48px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  }
  .t_c_btn a:hover {
    background: #cb0039;
    color: #fff;
  }

  .top_category_link {
    width: 1024px;
    margin: 64px auto 0;
  }
  .top_category_link ul {
    letter-spacing: -0.4em;
    box-sizing: border-box;
    padding-left: 8px;
  }
  .top_category_link ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 320px;
    margin: 0 8px;
    vertical-align: top;
  }
  .top_category_link ul li a {
    color: #111;
    text-decoration: none;
  }
  .top_category_link ul li a:hover {
    color: #cb0039;
  }

  .top_category_link figure {
    position: relative;
    width: 320px;
    height: 240px;
    overflow: hidden;
  }
  .top_category_link figure img {
    width: 320px;
    margin-bottom: 8px;
    opacity: 1;
    transition: all 0.3s ease-out;
  }
  .top_category_link figure img:hover {
    opacity: .7;
  }
  .top_category_link figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 8px 20px 8px 14px;
    background: rgba(255,255,255,0.7);
    color: #111;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.2;
  }
  .top_category_link figcaption:after {
    content: "\f054";
    font-family: "FontAwesome";
    position: absolute;
    top: 10px;
    right: 8px;
    color: #0e327d;
    font-size: 16px;
    font-weight: normal;
  }
  .top_category_link li p {
    height: 68px;
    overflow: hidden;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.6;
  }
  .t_c_all_link {
    margin: 32px 0 0;
    text-align: center;
  }
  .t_c_all_link a {
    display: inline-block;
    padding: 0 3em;
    background: #fff;
    border-radius: 24px;
    color: #111;
    font-size: 16px;
    text-decoration: none;
    line-height: 48px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  }
  .t_c_all_link a:hover {
    background: #cb0039;
    color: #fff;
  }


  .top_prblock {
    width: 100%;
    min-width: 1024px;
    margin: 96px 0;
    background: url(../images/top_prblock_bg.jpg) no-repeat center center;
  }
  .top_prblock_inner {
    width: 1024px;
    margin: 0 auto;
    padding: 64px 0;
    color: #fff;
  }
  .t_pr_wrap {
    display: flex;
  }
  .t_pr_wrap .t_pr_cell {
    box-sizing: border-box;
    padding: 0 16px;
    width: 50%;
  }
  .tp_cell_wrap {
    display: table;
    width: 100%;
  }
  .tp_cell_wrap .tp_cell_tc_img {
    display: table-cell;
    width: 200px;
    vertical-align: top;
  }
  .tp_cell_tc_img img {
    width: 100%;
  }
  .tp_cell_wrap .tp_cell_tc_txt {
    display: table-cell;
    padding: 0 32px 0 16px;
    vertical-align: top;
  }
  .tp_cell_tc_title {
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
    font-size: 18px;
    font-weight: bold;
  }
  .tp_cell_tc_txt p {
    font-size: 14px;
    line-height: 1.6;
  }
  .tp_cell_btn {
    margin-top: 8px;
  }
  .tp_cell_btn a {
    display: inline-block;
    padding: 0 1.5em;
    background: #fff;
    border-radius: 16px;
    color: #111;
    font-size: 14px;
    text-decoration: none;
    line-height: 32px;
    box-shadow: 0 2px 3px rgba(0,0,0,0.3);
  }
  .tp_cell_btn a:hover {
    background: #cb0039;
    color: #fff;
  }


  /* top_information */
  .top_information {
    margin: 64px 0 0;
    padding: 64px 0;
    background: url(../images/top_info_bg2.jpg) repeat center top;
  }
  .top_info_wrap {
    display: flex;
    width: 1024px;
    margin: 0 auto;
  }
  .top_info_wrap + .top_info_wrap {
    margin-top: 80px;
  }

  .event_box header,
  .local_company header,
  .gyousei header,
  .editor header,
  .station header {
    position: relative;
    width: 100%;
    height: 36px;
    margin-bottom: .5em;
    border-bottom: 1px solid #333;
    font-size: 24px;
  }
  .event_box h2,
  .local_company h2,
  .gyousei h2,
  .editor h2,
  .station h2 {
    position: absolute;
    top: 0;
    left: 0;
    color: #111;
    font-weight: bold;
  }
  .event_box h2 span,
  .local_company h2 span,
  .gyousei h2 span,
  .editor h2 span,
  .station h2 span {
    display: inline-block;
    margin-right: 4px;
  }
  .event_box h2 span img,
  .local_company h2 span img,
  .gyousei h2 span img,
  .editor h2 span img,
  .station h2 span img {
    width: 24px;
    height: auto;
  }
  .event_box .all_pc,
  .local_company .all_pc,
  .gyousei .all_pc,
  .editor .all_pc,
  .station .all_pc {
    position: absolute;
    top: -4px;
    right: 0;
  }
  .event_box .all_pc a,
  .local_company .all_pc a,
  .gyousei .all_pc a,
  .editor .all_pc a,
  .station .all_pc a {
    display: inline-block;
    padding: .5em 1em;
    background: #fff;
    border-radius: 12px;
    font-size: 12px;
    text-decoration: none;
    box-shadow: 0 2px 3px rgba(0,0,0,0.3);
  }
  .event_box .all_pc a:hover,
  .local_company .all_pc a:hover,
  .gyousei .all_pc a:hover,
  .editor .all_pc a:hover,
  .station .all_pc a:hover {
    background: #cb0039;
    color: #fff;
  }
  .event_box .all_s,
  .local_company .all_s,
  .gyousei .all_s,
  .editor .all_s,
  .station .all_s {
    display: none;
  }

  .top_info_wrap .event_box {
    box-sizing: border-box;
    width: 50%;
    padding: 0 32px;
  }
  .top_info_wrap .local_company {
    box-sizing: border-box;
    width: 50%;
    padding: 0 32px;
  }
  .top_info_wrap .gyousei {
    box-sizing: border-box;
    width: 50%;
    padding: 0 32px;
  }
  .top_info_wrap .editor {
    box-sizing: border-box;
    width: 50%;
    padding: 0 32px;
  }
  .top_info_wrap .station {
    box-sizing: border-box;
    width: 50%;
    padding: 0 32px;
  }

  .event_box li {
    display: flex;
    width: 100%;
    padding: 8px 0;
    border-bottom: 1px dotted #333;
    font-size: 16px;
    line-height: 1.6;
    align-items: center;
  }
  .event_box li .t_e_c {
    width: 100px;
  }
  .event_box li .t_e_c .e_i,
  .event_box li .t_e_c .e_r {
    display: inline-block;
    font-size: 12px;
  }
  .event_box li .t_e_c .e_i {
    padding: 4px 8px;
    background: #e67636;
    color: #fff;
  }
  .event_box li .t_e_c .e_r {
    padding: 4px 8px;
    background: #199aad;
    color: #fff;
  }
  .event_box li .t_e_title {
    flex: 1;
    font-weight: bold;
    text-align: left;
  }
  .event_box li .t_e_title .t_e_d {
    display: block;
    font-size: 12px;
    font-weight: 500;
  }
  .event_box .toform {
    margin-top: 8px;
    font-size: 14px;
    text-align: right;
  }
  .event_box .toform a {
    text-decoration: underline;
  }
  .event_box .toform a:hover {
    text-decoration: none;
  }

  .local_company li {
    padding: 16px 0;
    border-bottom: 1px dotted #333;
  }
  .local_company li a {
    text-decoration: none;
  }
  .l_c_wrap {
    display: flex;
    width: 100%;
  }
  .l_c_wrap .t_com_img {
    width: 80px;
    vertical-align: top;
  }
  .t_com_img img {
    width: 80px;
    height: auto;
  }
  .l_c_wrap .t_com_info {
    flex: 1;
    padding-left: 16px;
  }
  .t_com_info .c_name {
    margin-bottom: 4px;
    font-size: 16px;
    font-weight: bold;
  }
  .t_com_info .c_pr {
    font-size: 12px;
    line-height: 1.4;
  }
  .t_com_info .new {
    display: inline-block;
    margin-top: 8px;
    margin-right: 8px;
    padding: 4px 8px;
    font-size: 12px;
  }
  .t_com_info .update {
    display: inline-block;
    margin-top: 8px;
    padding: 4px 8px;
    font-size: 12px;
  }

  .gyousei li {
    display: flex;
    width: 100%;
    padding: 8px 0;
    border-bottom: 1px dotted #333;
    font-size: 14px;
    line-height: 1.6;
    align-items: center;
  }
  .gyousei li .t_g_town {
    width: 80px;
  }
  .gyousei li .t_g_title {
    flex: 1;
    font-weight: bold;
    text-align: left;
  }
  .gyousei li .t_g_town span {
    display: inline-block;
    padding: 4px 8px;
    /*background: #199aad;*/
    background: #333;
    color: #fff;
    font-size: 12px;
  }
  .gyousei li .t_g_title .t_g_date {
    display: inline-block;
    margin-left: 4px;
    font-size: 12px;
    font-weight: 500;
  }


  .editor li,
  .station li {
    display: flex;
    width: 100%;
    padding: 8px 0;
    border-bottom: 1px dotted #333;
    font-size: 14px;
    line-height: 1.6;
    align-items: center;
  }
  .editor li .t_e_date,
  .station li .t_e_date {
    width: 8em;
    letter-spacing: 1px;
  }
  .editor li .t_e_title,
  .station li .t_e_title {
    flex: 1;
    font-weight: bold;
    text-align: left;
  }


  /* category */
  .category_title {
    position: relative;
    width: 100%;
    min-width: 1024px;
    height: 400px;
    /*background: url(../images/cate1.jpg) no-repeat center center;*/
    background-size: cover;
    text-align: center;
  }
  .category_title h1 {
    position: absolute;
    top: 144px;
    right: 0;
    left: 0;
    margin: auto;
    color: #fff;
    font-size: 60px;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }

  .category_tab {
    width: 1024px;
    margin: 64px auto 0;
    display: flex;
    vertical-align: top;
  }
  .category_tab .category_tab_title {
    width: 120px;
    padding-top: 8px;
  }
  .category_tab .category_tab_area {
    flex: 1;
  }
  .category_tab_area ul {
    letter-spacing: -0.4em;
  }
  .category_tab_area li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 8px 8px;
  }
  .category_tab_area li a {
    display: block;
    padding: .6em 1em;
    background: #fff;
    border: 1px solid #ccc;
    text-decoration: none;
  }
  .category_tab_area li a:hover {
    background: #cb0039;
    border-color: #cb0039;
    color: #fff;
  }

  .category_sub_title {
    margin-top: 64px;
    text-align: center;
  }
  .category_sub_title h2 {
    color: #111;
    font-size: 30px;
    font-weight: bold;
  }
  .category_sub_title_txt {
  	width: 520px;
    margin: 1em auto 0;
  }
  .category_sub_title_txt p {
  	line-height: 1.6;
  	text-align: left;
	}

  .category_link {
    width: 1024px;
    margin: 64px auto 0;
  }
  .category_link ul {
    letter-spacing: -0.4em;
    box-sizing: border-box;
    padding-left: 8px;
  }
  .category_link ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 320px;
    margin: 0 8px 32px;
    vertical-align: top;
  }
  .category_link ul li a {
    color: #111;
    text-decoration: none;
  }
  .category_link ul li a:hover {
    color: #cb0039;
  }

  .category_link figure {
    position: relative;
    width: 320px;
    height: 240px;
    overflow: hidden;
  }
  .category_link figure img {
    width: 320px;
    margin-bottom: 8px;
    opacity: 1;
    transition: all 0.3s ease-out;
  }
  .category_link figure img:hover {
    opacity: .7;
  }
  .category_link figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 8px 20px 8px 14px;
    background: rgba(255,255,255,0.7);
    color: #111;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.2;
  }
  .category_link figcaption:after {
    content: "\f054";
    font-family: "FontAwesome";
    position: absolute;
    top: 10px;
    right: 8px;
    color: #0e327d;
    font-size: 16px;
    font-weight: normal;
  }
  .category_link li p {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.6;
  }

  /* tag */
  .tagpage_title {
    width: 100%;
    min-width: 1024px;
    background: url(../images/bg1.png) repeat center center;
    text-align: center;
  }
  .tagpage_title h1 {
    padding: 40px 0;
    color: #111;
    font-size: 32px;
    font-weight: bold;
  }

  .tag_link {
    width: 1024px;
    margin: 64px auto 0;
  }
  .tag_link ul {
    letter-spacing: -0.4em;
    box-sizing: border-box;
    padding-left: 8px;
  }
  .tag_link ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 320px;
    margin: 0 8px 32px;
    vertical-align: top;
  }
  .tag_link ul li a {
    color: #111;
    text-decoration: none;
  }
  .tag_link ul li a:hover {
    color: #cb0039;
  }

  .tag_link figure {
    position: relative;
    width: 320px;
    height: 240px;
    overflow: hidden;
  }
  .tag_link figure img {
    width: 320px;
    margin-bottom: 8px;
    opacity: 1;
    transition: all 0.3s ease-out;
  }
  .tag_link figure img:hover {
    opacity: .7;
  }
  .tag_link figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 8px 16px;
    background: rgba(255,255,255,0.7);
    color: #111;
    font-size: 18px;
    font-weight: bold;
  }
  .tag_link figcaption:after {
    content: "\f054";
    font-family: "FontAwesome";
    position: absolute;
    top: 10px;
    right: 8px;
    color: #0e327d;
    font-size: 16px;
    font-weight: normal;
  }
  .tag_link li p {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.6;
  }


  /* pagepath */
  .pagepath {
    width: 1024px;
    margin: 8px auto 0;
    letter-spacing: -0.4em;
  }
  .pagepath li {
    letter-spacing: normal;
    display: inline-block;
    margin-right: 8px;
    font-size: 12px;
  }
  .pagepath li:after {
    content: "\f105";
    font-family: "FontAwesome";
    margin-left: 8px;
  }
  .pagepath li:last-child {
    margin: 0;
  }
  .pagepath li:last-child:after {
    content: "";
  }
  .pagepath li a {
    color: #666;
  }
  .pagepath li a:hover {
    text-decoration: underline;
  }


  /* container */
  .container {
    display: flex;
    width: 1024px;
    margin: 64px auto 0;
  }

  .main {
    flex: 1;
    padding-right: 32px;
  }

  .side {
    width: 300px;
  }



  /* blog */
  .page_title h1 {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.2;
  }
  .page_info {
    display: flex;
    width: 100%;
    margin-top: 16px;
  }
  .e_d {
    display: inline-block;
    margin-left: 16px;
    font-size: 14px;
    line-height: 24px;
    float: right;
  }
  .c_n {
    display: inline-block;
    padding: 0 1em;
    background: #fff8d7;
    font-size: 14px;
    line-height: 24px;
  }
  .c_n a {
    color: #333;
    text-decoration: none;
  }
  .ev_i {
    display: inline-block;
    padding: 0 1em;
    background: #e67636;
    color: #fff;
    font-size: 14px;
    line-height: 24px;
  }
  .ev_r {
    display: inline-block;
    padding: 0 1em;
    background: #199aad;
    color: #fff;
    font-size: 14px;
    line-height: 24px;
  }
  .e_d_date {
    font-size: 12px;
  }

  /* blog > article */
  .blog article {
    margin-top: 32px;
    font-family: "游ゴシック体", "Yu Gothic", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", sans-serif !important;
    line-height: 2.0;
  }
  .blog article .eyecatch {
    width: 692px;
    margin-bottom: 40px;
  }
  .blog article .eyecatch img {
    width: 100%;
  }
  .blog article p {
    /*margin-bottom: 1.5em;*/
    /*line-height: 1.8;*/
  }
  .blog article img {
    max-width: 692px;
  }
  .blog article a {
    text-decoration: underline;
  }


  /* event */
  .event {}
  .event_title {
    width: 100%;
    min-width: 1024px;
    height: 200px;
    background: url(../images/bg_ami.png), url(../images/event_bg.jpg);
    background-repeat: repeat, no-repeat;
    background-position: left top, center top;
    background-size: auto, cover;
    text-align: center;
  }
  .event_title h1 {
    margin: auto;
    padding-top: 80px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }
  .event_title h1 span {
  	display: inline-block;
  	margin-left: 16px;
  }

  .event .monthly_link {
    margin-top: 32px;
  }
  .event .monthly_link .year {
    margin-bottom: 16px;
  }
  .event .monthly_link .year_wrap {
    display: table;
    width: 300px;
    margin: 0 auto;
  }
  .event .monthly_link .year_wrap .year_prev,
  .event .monthly_link .year_wrap .year_next {
    display: table-cell;
    vertical-align: top;
  }
  .event .monthly_link .year_wrap .year_prev {
    width: 100px;
    text-align: right;
  }
  .event .monthly_link .year_wrap .year_current {
    display: table-cell;
    width: 100px;
    text-align: center;
    vertical-align: bottom;
  }
  .event .monthly_link .year_wrap .year_next {
    width: 100px;
    text-align: left;
  }
  .event .monthly_link .year_wrap .year_prev a,
  .event .monthly_link .year_wrap .year_next a {
    display: inline-block;
    width: 32px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 20px;
    line-height: 32px;
    text-align: center;
  }
  .event .monthly_link .year_wrap .year_prev a:hover,
  .event .monthly_link .year_wrap .year_next a:hover {
    border-color: #cb0039;
  }


  .event .monthly_link .year_current span {
    display: inline-block;
    padding-bottom: 8px;
    /*border-bottom: 1px solid #666;*/
    font-size: 18px;
    font-weight: bold;
  }
  .event .monthly_link ul {
    letter-spacing: -0.4em;
    text-align: center;
  }
  .event .monthly_link ul li {
    letter-spacing: normal;
    display: inline-block;
    margin-right: 16px;
  }
  .event .monthly_link ul li a {
    display: block;
    padding: .6em 1.2em;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    text-decoration: none;
  }
  .event .monthly_link ul li a:hover {
    border: 1px solid #cb0039;
    color: #cb0039;
  }
  .event .monthly_link ul li a.nm {
    background: #cb0039;
    border: 1px solid #cb0039;
    color: #fff;
  }

  .event_link {
    width: 1024px;
    margin: 64px auto 0;
  }
  .event_link ul.e_l_list {
    letter-spacing: -0.4em;
    box-sizing: border-box;
    padding-left: 8px;
  }
  .event_link ul.e_l_list li {
    letter-spacing: normal;
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    width: 320px;
    margin: 0 8px 32px;
    padding: 8px;
    border: 1px solid #ddd;
    vertical-align: top;
  }

  .event_link ul.e_l_list li a .b_fil {
    display: none;
  }
  .event_link ul.e_l_list li.e_close a .b_fil {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
    z-index: 2;
  }

  .event_link ul.e_l_list li a {
    color: #111;
    text-decoration: none;
  }
  .event_link ul.e_l_list li a:hover {
    color: #cb0039;
  }
  .event_link .e_c_i,
  .event_link .e_c_r {
    position: absolute;
    top: 24px;
    left: 0;
    z-index: 1;
  }
  .event_link .e_c_i span,
  .event_link .e_c_r span {
    display: inline-block;
    padding: 8px 8px;
    font-size: 12px;
  }
  .event_link .e_c_i span {
    background: #e67636;
    color: #fff;
  }
  .event_link .e_c_r span {
    background: #199aad;
    color: #fff;
  }


  .event_link figure {
    width: 304px;
    height: 196px;
    overflow: hidden;
    margin-bottom: 16px;
  }
  .event_link figure img {
    width: 100%;
  }

  .event_link .e_t {
    width: 300px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin: 0 auto;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
  }
  .event_link .e_date {
    margin: 16px 0;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
  }
  .event_link li p {
    height: 5em;
    overflow-y: hidden;
    font-size: 14px;
    line-height: 1.6;
  }

  .past_events {
    margin: 64px 0 0;
    padding: 32px;
    background: url(../images/bg1.png) repeat left top;
  }
  .past_events_title {
    margin-bottom: 16px;
    text-align: center;
  }
  .past_events_title span {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 1px solid #666;
    font-weight: bold;
  }
  .past_events ul {
    letter-spacing: -0.4em;
    text-align: left;
  }
  .past_events ul li {
    letter-spacing: normal;
    display: inline-block;
    margin-right: 16px;
  }
  .past_events ul li a {
    display: block;
    padding: .6em 1.2em;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    text-decoration: none;
  }
  .past_events ul li a:hover {
    border: 1px solid #cb0039;
    color: #cb0039;
  }


  /* diary */
  .diary_title {
    width: 100%;
    min-width: 1024px;
    height: 200px;
    background: url(../images/bg_ami.png), url(../images/diary_bg.jpg);
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    text-align: center;
  }
  .diary_title h1 {
    margin: auto;
    padding-top: 80px;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }

  .diary_link {
    width: 1024px;
    margin: 64px auto 0;
  }
  .diary_link ul.d_l_list {
    letter-spacing: -0.4em;
    box-sizing: border-box;
    padding-left: 8px;
  }
  .diary_link ul.d_l_list li {
    letter-spacing: normal;
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    width: 320px;
    margin: 0 8px 32px;
    padding: 8px;
    border: 1px solid #ddd;
    vertical-align: top;
  }
  .diary_link ul.d_l_list li a {
    color: #111;
    text-decoration: none;
  }
  .diary_link ul.d_l_list li a:hover {
    color: #cb0039;
  }

  .diary_link figure {
    width: 304px;
    height: 196px;
    overflow: hidden;
    margin-bottom: 16px;
  }
  .diary_link figure img {
    width: 100%;
  }

  .diary_link .d_t {
    width: 300px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin: 0 auto;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
  }
  .diary_link.novel .d_t {
    margin-top: 8px;
  }

  .diary_link .d_date {
    margin-top: 8px;
    font-size: 12px;
    text-align: right;
  }
  .diary_link li p {
    height: 5em;
    overflow-y: hidden;
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.6;
  }

  .diary_link figure.sasie {
    width: 304px;
    height: 196px;
    overflow: hidden;
    margin-top: 16px;
  }
  .diary_link figure img {
    width: 100%;
  }


  /* station */
  .station_title {
    width: 100%;
    min-width: 1024px;
    height: 200px;
    background: url(../images/bg_ami.png), url(../images/station_bg.jpg);
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    text-align: center;
  }
  .station_title h1 {
    margin: auto;
    padding-top: 80px;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }




   /* notice */
  .notice_title {
    width: 100%;
    min-width: 1024px;
    height: 200px;
    background: url(../images/bg_ami.png), url(../images/gyousei_bg.jpg);
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    text-align: center;
  }
  .notice_title h1 {
    margin: auto;
    padding-top: 80px;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }

  .notice_link {
    width: 1024px;
    margin: 64px auto 0;
  }
  .notice_link ul.n_l_list li {
    display: flex;
    padding: 1.2em 0;
    border-bottom: 1px solid #eee;
    align-items: center;
    justify-content: space-between;
  }
  .n_l_list .n_town {
    width: 7em;
  }
  .n_l_list .n_town span {
    display: inline-block;
    padding: .5em 1em;
    background: #333;
    color: #fff;
    font-size: 14px;
  }
  .n_l_list .n_text {
    flex: 1;
  }
  .n_l_list .n_t {
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: bold;
  }
  .n_l_list li p {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.6;
  }
  .n_l_list .n_date {
    margin-top: 8px;
    font-size: 14px;
  }

  /* n_detail */
  .n_d_date {
    margin-top: 1em;
    font-size: 14px;
  }


  /* company_list */
  .i_type {
    display: table;
    width: 1024px;
    margin: 32px auto 0;
    padding: 16px 0;
    background: url(../images/bg1.png) repeat left top;
  }
  .i_type .i_type_info {
    display: table-cell;
    width: 50%;
    vertical-align: middle;
  }
  .i_type .i_type_select {
    display: table-cell;
    width: 50%;
    vertical-align: middle;
  }
  .i_type_info p {
    padding-right: 1em;
    font-weight: bold;
    text-align: right;
  }
  .i_type_select select {
    padding: 4px;
    border: 1px solid #ccc;
  }
  .i_type_select select option {
    font-size: 14px;
  }

  .company_list_title {
    width: 100%;
    min-width: 1024px;
    height: 200px;
    background: url(../images/bg_ami.png), url(../images/company_bg.jpg);
    background-repeat: repeat, no-repeat;
    background-position: left top, center bottom;
    text-align: center;
  }
  .company_list_title h1 {
    margin: auto;
    padding-top: 80px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
  }

  /* company_top_news */
  .company_top_news {
    width: 1024px;
    margin: 48px auto 0;
  }
  .company_top_news h2 {
    margin-bottom: 16px;
    color: #111;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
  }
  .company_top_news ul {
    border-top: 1px dotted #ccc;
  }
  .company_top_news li {
    padding: 16px;
    border-bottom: 1px dotted #ccc;
  }
  .company_top_news li span {
    display: inline-block;
  }
  .company_top_news li .date {
    margin-right: 16px;
    font-size: 12px;
  }
  .company_top_news li .name {
    margin-left: 16px;
    font-size: 14px;
  }
  .company_top_news li .name:before {
    content: "（";
  }
  .company_top_news li .name:after {
    content: "）";
  }

  .company_top_news li .type {
    display: inline-block;
    width: 48px;
  }

  .company_top_news li .new {
    display: inline-block;
    margin-right: 8px;
    padding: 4px 8px;
    font-size: 12px;
  }
  .company_top_news li .update {
    display: inline-block;
    margin-right: 8px;
    padding: 4px 8px;
    font-size: 12px;
  }

  .company_link {
    width: 1024px;
    margin: 64px auto 0;
  }
  .company_link ul.c_l_list {
    letter-spacing: -0.4em;
    box-sizing: border-box;
    padding-left: 8px;
  }
  .company_link ul.c_l_list li {
    letter-spacing: normal;
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    width: 320px;
    margin: 0 8px 32px;
    padding: 8px;
    border: 1px solid #ddd;
    vertical-align: top;
  }
  .company_link ul.c_l_list li a {
    color: #111;
    text-decoration: none;
  }
  .company_link ul.c_l_list li a:hover {
    color: #cb0039;
  }

  .company_link .c_l_type {
    position: absolute;
    top: 24px;
    left: 0;
    z-index: 10;
  }
  .company_link .c_l_type span {
    display: inline-block;
    padding: 8px 8px;
    font-size: 12px;
  }
  .company_link .c_l_type span {
    background: #333;
    color: #fff;
  }

  .company_link figure {
    width: 304px;
    height: 196px;
    overflow: hidden;
    margin-bottom: 16px;
  }
  .company_link figure img {
    width: 100%;
  }

  .company_link .c_t {
    width: 300px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin: 0 auto;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
  }
  .company_link li p {
    height: 5em;
    margin-top: 8px;
    overflow-y: hidden;
    font-size: 14px;
    line-height: 1.6;
  }

  .c_l_list li .new {
    display: inline-block;
    margin-top: 4px;
    margin-right: 8px;
    padding: 4px 8px;
    font-size: 12px;
  }
  .c_l_list li .update {
    display: inline-block;
    margin-top: 4px;
    padding: 4px 8px;
    font-size: 12px;
  }

  .no_rs {
    text-align: center;
  }

  /* tag */
  .tag {
    margin-top: 40px;
    padding: 16px;
    background: url(../images/bg1.png) repeat left center;
  }
  .tag dl {
    width: 100%;
    display: flex;
    font-size: 14px;
  }
  .tag dt {
    width: 3em;
    margin-right: 1em;
    line-height: 28px;
  }
  .tag dd {
    flex: 1;
  }
  .tag dd span {
    display: inline-block;
    margin-right: 8px;
  }
  .tag dd span a {
    display: inline-block;
    padding: 0 1em;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    color: #111;
    text-decoration: none;
    line-height: 28px;
  }

  /* sns_share */
  .sns_share {
    margin-top: 16px;
  }
  .sns_share ul {
    letter-spacing: -0.4em;
  }
  .sns_share ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 42px;
    height: 42px;
    margin-right: 8px;
  }
  .sns_share ul li a {
    display: block;
    box-sizing: border-box;
    color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 42px;
  }
  .sns_share ul li.tw a {
    background: #55acee;
  }
  .sns_share ul li.fb a {
    background: #3B5998;
  }
  .sns_share ul li.rss a {
    background: #ff9900;
  }
  .sns_share ul li.hatena a {
    background: #00a4de;
    text-align: center;
  }
  .sns_share ul li.hatena a img {
    width: 32px;
    height: auto;
    vertical-align: middle;
  }

  /* related_post */
  .related_post {
    margin-top: 40px;
  }
  .related_post h2{
    margin-bottom: 1em;
    padding-bottom: 8px;
    padding-left: 8px;
    border-bottom: 1px solid #ccc;
    font-size: 18px;
  }
  .related_post ul {
    letter-spacing: -0.4em;
  }
  .related_post ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 160px;
    margin: 0 6px 24px;
    vertical-align: top;
  }
  .related_post ul li p {
    font-size: 12px;
    line-height: 1.4;
  }
  .related_post ul li a {
    color: #111;
  }
  .related_post .rp_img {
    width: 160px;
    height: 120px;
    overflow: hidden;
    margin-bottom: 4px;
  }
  .related_post .rp_img img {
    width: 100%;
  }


  /* company */
  .company .pr {
    margin-top: 16px;
  }
  .company article {
    font-family: "游ゴシック体", "Yu Gothic", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", sans-serif !important;
    line-height: 2.0;
  }
  .company article .eyecatch {
    width: 692px;
    margin-bottom: 40px;
  }
  .company article .eyecatch img {
    width: 100%;
  }
  .company article p {}
  .company article img {
    max-width: 692px;
  }

  .company_menu {
    margin: 16px 0 32px;
    background: url(../images/bg1.png) repeat left center;
  }
  .company_menu ul {
    letter-spacing: -0.4em;
    padding: 16px 0 0 16px;
  }
  .company_menu li {
    display: inline-block;
    /*margin-right: 1em;*/
    margin-right: 8px;
    margin-bottom: 16px;
    /*padding: 0 1em;*/
    /*border-right: 1px solid #ccc;*/
    letter-spacing: normal;
  }

  .company_menu li a {
    display: inline-block;
    padding: .6em 1em;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-decoration: none;
  }

  /*
  .company_menu li:first-child {
    margin-left: 1em;
  }
  */
  .company_menu li:last-child {
    border: none;
  }


  /* ニュース */
  .company_newslist {
    margin-top: 56px;
  }
  .company_newslist h2 {
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid #444;
    color: #111;
    font-size: 16px;
    font-weight: bold;
  }
  .company_newslist h2 span {
    display: inline-block;
    margin-right: 4px;
  }
  .company_newslist h2 span img {
    width: 16px;
    height: auto;
  }

  .company_newslist li {
    display: flex;
    box-sizing: border-box;
    width: 100%;
    padding: 8px;
    border-bottom: 1px solid #eee;
    line-height: 1.6;
    align-items: center;
  }
  .company_newslist li .c_news_date {
    width: 80px;
    font-size: 12px;
    letter-spacing: 1px;
  }
  .company_newslist li .c_news_type {
    width: 60px;
  }
  .company_newslist li .c_news_type .new {
    display: inline-block;
    padding: 2px 8px;
    font-size: 12px;
  }
  .company_newslist li .c_news_type .update {
    display: inline-block;
    padding: 2px 8px;
    font-size: 12px;
  }
  .company_newslist li .c_news_title {
    flex: 1;
    font-weight: bold;
    text-align: left;
  }


  /* アクセス情報 */
  .access h2 {
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid #444;
    color: #111;
    font-size: 16px;
    font-weight: bold;
  }
  .access h2 span {
    display: inline-block;
    margin-right: 4px;
  }
  .access h2 span img {
    width: 16px;
    height: auto;
  }
  .access iframe {
    width: 100%;
    height: 360px;
  }
  .access #map {
    width: 100%;
    height: 320px;
  }

  /* free */
  .company_free h2 {
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid #444;
    color: #111;
    font-size: 16px;
    font-weight: bold;
  }


  /* 基本情報 */
  .company_info {
    margin-top: 48px;
  }
  .news .company_info {
    margin-top: 80px;
  }
  .company_info h2 {
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid #444;
    color: #111;
    font-size: 16px;
    font-weight: bold;
  }
  .company_info h2 span {
    display: inline-block;
    margin-right: 4px;
  }
  .company_info h2 span img {
    width: 16px;
    height: auto;
  }
  table.company_spec {
    width: 100%;
  }
  table.company_spec th,
  table.company_spec td {
    padding: 1em;
    border-bottom: 1px solid #eee;
    line-height: 1.6;
    text-align: left;
    vertical-align: middle;
  }
  table.company_spec th {
    width: 5em;
  }
  table.company_spec td .ac_btn {
    display: inline-block;
    margin-left: 16px;
  }
  table.company_spec td .ac_btn a {
    display: inline-block;
    padding: 4px 8px;
    background: #333;
    color: #fff;
    font-size: 12px;
  }
  table.company_spec td .ac_btn a:hover {
    background: #cb0039;
    text-decoration: none;
  }


  /* news_list */
  .news {}
  .news_title_list h2 {
    margin-bottom: 1em;
    font-size: 18px;
    font-weight: bold;
  }
  .news_title_list ul {
    border-top: 1px solid #ccc;
  }
  .news_title_list li {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 16px 0;
    border-bottom: 1px dotted #ccc;
  }
  .news_title_list li .date {
    width: 7em;
    font-size: 12px;
  }
  .news_title_list li .news_title {
    flex: 1;
    line-height: 1.4;
  }

  .news article {
    font-family: "游ゴシック体", "Yu Gothic", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", sans-serif !important;
  }
  .news_list article + article {
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid #eee;
  }
  .news article .entry_body {
    line-height: 2.0;
  }
  .news article .entry_body img {
    max-width: 692px;
  }
  .news_list article > header {
    margin-bottom: 32px;
  }
  .news_list article > header .news_date {
    margin-bottom: 8px;
    font-size: 12px;
  }
  .news_list article > header h2 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
  }


  /* side */

  /* 人気記事-サイドバー */
  .popular_article {
    margin-top: 40px;
  }
  .p_a_s_title {
    padding: 16px;
    border: 1px solid #333;
    color: #111;
    font-weight: bold;
    text-align: center;
  }
  .p_a_s_title span {
    display: inline-block;
    margin-right: 4px;
  }
  .p_a_s_title span img {
    width: 16px;
    height: 16px;
  }
  .popular_article li {
    background: #fff;
    border-bottom: 1px dotted #e5e5e5;
    transition: all 0.5s ease-out;
  }
  .popular_article li:hover {
    background: #fffbf2;
  }
  .popular_article li a {
    color: #333;
    text-decoration: none;
  }

  .p_a_s_wrap {
    display: flex;
    width: 300px;
    align-items: center;
    justify-content: space-between;
  }
  .p_a_s_wrap .t_img {
    width: 80px;
    padding: 16px 0;
  }
  .p_a_s_wrap .a_s_title {
    box-sizing: border-box;
    flex: 1;
    padding: 16px;
  }
  .p_a_s_wrap .a_s_title h3 {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
  }
  .p_a_s_wrap .a_s_title p {
    height: 4em;
    overflow-y: hidden;
    font-size: 12px;
    line-height: 1.4;
  }

  .p_a_s_wrap .t_img img {
    width: 100%;
    height: auto;
    max-height: 80px;
  }

  /* 新着-サイドバー */
  .new_article {
    margin-top: 40px;
  }
  .n_a_s_title {
    padding: 16px;
    border: 1px solid #333;
    color: #111;
    font-weight: bold;
    text-align: center;
  }
  .n_a_s_title span {
    display: inline-block;
    margin-right: 4px;
  }
  .n_a_s_title span img {
    width: 16px;
    height: auto;
  }
  .new_article ul {
    margin-top: 8px;
    border-top: 1px dotted #ddd;
  }
  .new_article li {
    position: relative;
    padding: .6em 1em .6em 1.5em;
    border-bottom: 1px dotted #ddd;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
  }
  .new_article li:before {
    content: "\f105";
    font-family: "FontAwesome";
    position: absolute;
    top: 50%;
    left: 8px;
    margin-top: -10px;
    color: #111;
  }
  .new_article li a {
    color: #333;
    text-decoration: none;
  }
  .new_article li a:hover {
    color: #cb0039;
  }
  .new_article li .cg {
    font-size: 12px;
    font-weight: normal;
  }

  /* contact */
  body.contact {
    background: url(../images/contact_bg.jpg) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .contact_body {
    width: 960px;
    margin: 48px auto;
    background: rgba(255,255,255,0.9);
  }
  .contact_body_inner {
    padding: 48px 32px;
  }
  .contact_body_inner header {
    margin-bottom: 48px;
    text-align: center;
  }
  .contact_body_inner header h1 {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 1px solid #333;
    font-size: 24px;
    font-weight: normal;
  }
  .contact_body_inner h2 {
    margin: 1.5em 0 1em;
    padding: .2em 0 .2em .5em;
    border-left: 4px solid #cb0039;
    font-size: 18px;
  }
  .contact_body_inner p + p {
    margin-top: 1em;
  }
  .contact_body_inner p {
    line-height: 1.8;
  }
  .contact_box + .contact_box {
    margin-top: 40px;
  }
  .contact_box p {
    padding-left: 1em;
  }

  .contact_btn {
    margin: 16px 0 0 16px;
  }
  .contact_btn a {
    display: inline-block;
    padding: 0 3em;
    background: #fff;
    border-radius: 20px;
    color: #111;
    font-size: 16px;
    text-decoration: none;
    line-height: 40px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  }
  .contact_btn a:hover {
    background: #cb0039;
    color: #fff;
  }


  /* privacy */
  body.privacy {
    background: url(../images/privacy_bg.jpg) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .privacy_body {
    width: 960px;
    margin: 48px auto;
    background: rgba(255,255,255,0.9);
  }
  .privacy_body_inner {
    padding: 48px 32px;
  }
  .privacy_body_inner header {
    margin-bottom: 48px;
    text-align: center;
  }
  .privacy_body_inner header h1 {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 1px solid #333;
    font-size: 24px;
    font-weight: normal;
  }
  .p_info {
    margin-bottom: 1.5em;
    font-size: 14px;
    line-height: 1.6;
  }
  .privacy_body_inner dl {
    font-size: 14px;
  }
  .privacy_body_inner dt {
    margin-bottom: .4em;
    font-weight: bold;
  }
  .privacy_body_inner dd {
    margin-bottom: 1.5em;
    padding-left: 1em;
    line-height: 1.6;
  }



  /* pagenav */
  .pagenav {
    margin-top: 48px;
  }
  .pagenav ul li {
    letter-spacing: normal;
    display: inline-block;
    width: 32px;
    margin: 0 4px;
  }
  .pagenav ul li a {
    display: block;
    background: #cb0039;
    border-radius: 16px;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    line-height: 32px;
    text-align: center;
  }
  .pagenav ul li a:hover {
    background: #eee;
    color: #cb0039;
  }
  .pagenav ul li a.nv {
    background: #eee;
    color: #cb0039;
  }




  /* footer */
  .footer_info {
    margin-top: 64px;
    /*background: url(../images/f_i_bg.jpg) repeat left top;*/
    background: #cb0039;
  }
  /*body.index .footer_info,
  body.eventpage .footer_info {*/
  body.index .footer_info {
    margin: 0;
  }
  .footer_info .inner {
    width: 1024px;
    margin: 0 auto;
    padding: 32px 0;
  }
  .f_logo_box {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
  }
  .f_logo_box .f_logo {
  }
  .f_logo_box .f_sns {
    margin-left: auto;
    font-size: 24px;
  }
  .f_logo_box .f_sns span {
    display: inline-block;
    margin-left: 16px;
  }
  .f_logo_box .f_sns a {
    color: #fff;
    text-decoration: none;
  }
  .f_logo_box .f_sns a:hover {
    opacity: .5;
  }

  .f_wrap {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .f_link_list {
    flex: 1;
    vertical-align: middle;
  }
  .f_link_bn {
    margin-left: auto;
  }

  .f_link_list {
    letter-spacing: -0.4em;
    padding-left: 2em;
  }
  .f_link_list li {
    letter-spacing: normal;
    display: inline-block;
    margin-right: 2em;
    font-size: 12px;
  }
  .f_link_list li a {
    color: #fff;
    text-decoration: none;
  }
  .f_link_list li a:hover {
    opacity: .5;
  }

  .footer {
    padding: 16px 0;
    font-size: 12px;
  }

  .scroll_prevent {
    position: fixed;
    z-index: -1;
    visibility: hidden;
    width: 100%;
    height: 100%;
  }


  /* overlay_menu */
  .overlay_menu {
    position: fixed;
    visibility: visible !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: rgba(255,255,255,1.0);*/
    background: url(../images/menu_bg.png) no-repeat center bottom;
    color: #111;
    font-weight: 500;
    z-index: 999;
    overflow:scroll;
  }
  .o_m_wrap {
    /*position: relative;*/
    width: 1024px;
    margin: 0 auto;
  }
  .o_m_close_box {
    width: 1024px;
    margin: 0 auto;
    text-align: right;
  }
  .o_m_close {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: 64px;
    height: 64px;
    border: 1px solid #666;
  }
  .o_m_close img {
    position: absolute;
    top: 16px;
    right: 0;
    left: 0;
    margin: auto;
    width: 32px;
    height: auto;
  }

  .menu_box {
    position: relative;
    box-sizing: border-box;
    width: 40vw;
    /*padding: 100px 100px 0;*/
    font-size: 120%;
    font-weight: bold;
  }
  .menu_box a {
    color: #111;
    text-decoration: none;
  }
  .menu_box a:hover {
    color: #ccc;
  }
  .menu_box .gm {
    margin-bottom: 8px;
    padding-bottom: 8px;
    padding-left: 16px;
    border-bottom: 1px solid #eee;
  }
  .menu_box ul {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-left: 16px;
    border-bottom: 1px solid #eee;
  }
  .menu_box li {
    margin-bottom: 1em;
  }
  .o_m_contact {
    margin-bottom: 16px;
    padding-bottom: 16px;
    padding-left: 16px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    font-weight: 500;
    line-height: 2.0;
  }
  .o_m_sns {
    padding-left: 16px;
  }
  .o_m_sns span {
    display: inline-block;
    margin-right: .5em;
    font-size: 24px;
  }
  .o_m_sns span.fs_s {
    font-size: 14px;
  }

  /* nra追加 */
  .nra_sopnsor {
    margin-top: 64px;
  }
  .nra_sopnsor h3 {
    margin-bottom: 1em;
    font-size: 120%;
    font-weight: bold;
    text-align: center;
  }
  .nra_sopnsor ul {
    letter-spacing: -0.4em;
  }
  .nra_sopnsor li {
    letter-spacing: normal;
    display: inline-block;
    width: 240px;
    margin: 0 8px 8px;
    overflow: hidden;
  }
  .nra_sopnsor li img {
    width: 240px;
  }

  .nra_d_sponsor {
    margin: 32px 0;
    padding: 24px;
    background: #d0e7ef;
    border-radius: 8px;
  }
  .nra_d_sponsor h3 {
    color: #0e3a85;
    font-size: 140%;
    font-weight: bold;
    line-height: 1.4;
  }
  .nra_d_sponsor p {
    margin-top: .6em;
    line-height: 1.7;
  }

  /* novel */
  .novel_author {
    margin-top: 64px;
  }
  .novel_author h3 {
    margin-bottom: 1.5em;
    font-size: 140%;
    font-weight: bold;
    text-align: center;
  }
  .novel_author_wrap {
    display: flex;
    width: 1024px;
    margin: 0 auto;
    padding-bottom: 32px;
    border-bottom: 1px solid #ddd;
  }
  .novel_author_wrap .author_img {
    width: 300px;
  }
  .novel_author_wrap .author_img img {
    width: 100%;
    max-width: 240px;
  }
  .novel_author_wrap .author_profile {
    width: 280px;
    margin-right: 40px;
  }
  .novel_author_wrap .author_history {
    flex: 1;
  }
  .novel_author_wrap .author_profile,
  .novel_author_wrap .author_history {
    line-height: 1.8;
  }
  .novel_author_wrap .author_history dt {
    font-weight: bold;
  }
  .novel_author_wrap .author_history dd {
    margin-bottom: 1em;
  }
  .novel_author_wrap .author_history span {
    padding-left: 1em;
  }

  .novel_pagenav {
    width: 100%;
    display: flex;
    margin: 40px 0;
  }
  .novel_pagenav .novel_prev,
  .novel_pagenav .novel_next {
    width: 30%;
    box-sizing: border-box;
  }
  .novel_pagenav .novel_top {
    width: 40%;
    text-align: center;
  }
  .novel_pagenav .novel_prev {
    padding-right: 16px;
    text-align: right;
  }
  .novel_pagenav .novel_next {
    padding-left: 16px;
    text-align: left;
  }



}/* end PC */



/* -------------------------------------------------------
Common
---------------------------------------------------------- */
.fs80 {font-size:80%;}
.fs90 {font-size:90%;}
.fs100 {font-size:100%;}
.fs120 {font-size:120%;}
.fs150 {font-size:150%;}
.fs10px {font-size:10px;}
.fs11px {font-size:11px;}
.fs12px {font-size:12px;}
.fs13px {font-size:13px;}
.fs14px {font-size:14px;}
.fs15px {font-size:15px;}
.fs16px {font-size:16px;}
.fs17px {font-size:17px;}
.fs18px {font-size:18px;}

.lh15 {line-height:1.5;}
.lh16 {line-height:1.6;}
.lh17 {line-height:1.7;}
.lh18 {line-height:1.8;}
.lh20 {line-height:2.0;}

.mgb8 {margin-bottom:8px;}
.mgb16 {margin-bottom:16px;}
.mgb24 {margin-bottom:24px;}
.mgb32 {margin-bottom:32px;}
.mgb40 {margin-bottom:40px;}
.mgb48 {margin-bottom:48px;}
.mgb56 {margin-bottom:56px;}
.mgb64 {margin-bottom:64px;}
.mgb80 {margin-bottom:80px;}
.mgb100 {margin-bottom:100px;}
.mgb05em {margin-bottom:0.5em;}
.mgb1em {margin-bottom:1em;}
.mgb15em {margin-bottom:1.5em;}
.mgb2em {margin-bottom:2em;}

.pdlr8 {padding:0 8px;}
.pdlr16 {padding:0 16px;}
.pdlr24 {padding:0 24px;}
.pdlr32 {padding:0 32px;}
.pdlr1em {padding:0 1em;}
.pdlr2em {padding:0 2em;}

.tac {text-align:center;}
.tal {text-align:left;}
.tar {text-align:right;}

.fwb {font-weight:bold;}

