@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap');
@import url('https://fonts.googleapis.com/css?family=Barlow+Semi+Condensed&display=swap');
/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html, body {
    width: 100%;
    overflow-x: hidden;
}
html {
    font-size: 62.5%;
}
body {
    background-color: #fff;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.7;
    color: #212121;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 'Noto Sans JP', sans-serif, "メイリオ", "Meiryo", "verdana", sans-serif;
    -webkit-text-size-adjust: 100%;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 1.7;
}
a {
    text-decoration: none;
    -webkit-transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
    -o-transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
    transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
    color: #212121;
}
a:hover {
}
a.a_reverse, .a_reverse a {
    text-decoration: none;
}
a.a_reverse[href]:hover, .a_reverse a[href]:hover {
    text-decoration: underline;
}
.link_style {
    color: #00A040;
      text-decoration: none;
}
.link_style:hover {
 opacity: 1!important;
     text-decoration: underline!important;
}
#container a {
/*	color:#349B13;
	text-decoration: underline;*/
}
#container a:hover {
    text-decoration: none;
}
label {
    cursor: pointer;
}
input, select, textarea, button {
    margin: 0;
    vertical-align: middle;
    font-family: inherit;
    outline: none;
    font-size: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
button {
    cursor: pointer;
}
iframe {
    vertical-align: middle;
}

@media screen and (max-width: 960px) {
img {
    max-width: 100%;
    height: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
iframe {
    max-width: 100%;
    height: 200px;
}
}
/* pc / tab / sp
============================================================================================================ */
.tab, .tab_sp {
    display: none !important;
}
.sp {
    display: none;
}
.sps {
    display: none;
}

@media screen and (max-width: 960px) {
.tab {
    display: block !important;
}
.sp {
    display: none;
}
}

@media screen and (max-width: 480px) {
.pc_tab {
    display: none;
}
.tab_sp {
    display: block !important;
}
.sp {
    display: block;
}
}

@media screen and (max-width: 320px) {
.sps {
    display: block;
}
}

/* sp
============================================================================================================ */
@media screen and (max-width: 960px) {
*[data-label] img {
    display: none;
}
*[data-label]:before {
    content: attr(data-label);
}
*[data-label-r]:after {
    content: attr(data-label-r);
}
.sp_mincho {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
}
}
/* font__
============================================================================================================ */
.din {
    font-family: 'Noto Sans JP', sans-serif;
}
.noto {
    font-family: 'Noto Sans JP', sans-serif;
}
.shan {
    font-family: 'Shanti', sans-serif;
}
.bar {
    font-family: 'Barlow Semi Condensed', sans-serif;
}
/* w
============================================================================================================ */
.w {
    position: relative;
    display: block;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 10px;
}
.w128 {
    position: relative;
    display: block;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 10px;
}
.w72 {
    position: relative;
    display: block;
    max-width: 720px;
    margin: 0 auto;
    padding: 0 10px;
}
.mw {
    min-width: 1000px;
}
.w:after, .mw:after, .w128:after, .w72:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    line-height: 0;
    overflow: hidden;
}

@media screen and (max-width: 960px) {
.w, .w128, .w72 {
    width: auto;
    padding: 0;
}
.mw {
    min-width: 0;
}
.pl {
    width: auto;
    padding: 0 10px;
}
}
/* hv_wh
============================================================================================================ */
a.hv_wh, button.hv_wh, a .hv_wh, .hv_wh a {
    position: relative;
    display: inline-block;
}
a.hv_wh:after, button.hv_wh:after, a .hv_wh:after, .hv_wh a:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(255,255,255,0);
    -webkit-transition: background 0.15s;
    -o-transition: background 0.15s;
    transition: background 0.15s;
    z-index: 3;
}
a.hv_wh:hover:after, button.hv_wh:hover:after, a:hover .hv_wh:after, .hv_wh a:hover:after {
    background-color: rgba(255,255,255,0.3);
}

@media screen and (max-width: 960px) {
a.hv_wh:after, button.hv_wh:after, a .hv_wh:after, .hv_wh a:after {
    content: none;
}
}
/* ヘッダー
============================================================================================================ */
#header {
    padding: 10px 2vw;
    height: 100px;
    font-size: 1.4rem;
    position: fixed;
    width: 100%;
    z-index: 100;
    background: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;/*  overflow: hidden;*/
}
#header .head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
/* logo */
#header .logo {
    /*	margin-top: 2vw;*/
    width: auto;
    position: relative;
}
#header .logo p img {
    width: auto;
    height: 80px;
    object-fit: contain;
    object-position: center;
    font-family: 'object-fit: contain; object-position: center;'
}

@media screen and (max-width:960px) {
#header {
    height: 60px;
    padding: 10px 2vw;
}
#header .logo p img {
    height: 40px;
}
}

@media screen and (max-width:480px) {
#header {
    padding: 20px 2vw;
    height: 80px;
}
/* logo */
#header .logo {
    max-width: 106px;
    margin-right: 3%;
}
#header .logo p img {
    width: 100%;
    height: 40px;
    object-position: left;
    font-family: 'object-fit: contain; object-position: left;'
}
}
/*sna_nav
-------------------------*/
.sns_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 56%;
    margin: 0 0 auto auto;
}
.sns_nav li {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
.sns_nav a {
    color: #fff;
    display: block;
    font-size: 1.4rem;
}
.sns_nav a:hover {
    opacity: 0.7;
}
.sns_nav li + li {
    margin-left: 5%;
}
.sns_nav img {
    width: 100%;
    height: 30px;
    object-fit: contain;
    object-position: center;
    font-family: 'object-fit: contain; object-position: center;'
}
.ticket_icon {
    position: relative;
}
.ticket_icon:after {
    content: "";
    background: url("../images/ticket.svg") no-repeat;
    width: 20px;
    height: 15px;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translate(-0%, -50%);
    -moz-transform: translate(-0%, -50%);
    -ms-transform: translate(-0%, -50%);
    -o-transform: translate(-0%, -50%);
    transform: translate(-0%, -50%);
}
.sns_nav a img {
    width: 100%;
    height: 15px;
    object-fit: contain;
    object-position: center;
    font-family: 'object-fit: contain; object-position: center;'
}
.ticket {
    /*   width:62%;*/
   /*max-width: 240px;*/
    width: 100%;
}

#header .ticket {
    max-width: 213px;
}

.facebook {
    /*   width:17%;*/
    width: 48px;
}
.twitter {
    /*width:17%;*/
    width: 48px;
}
#header .ticket a {
    padding: 5px 40px 5px 10px;
    background: #ff3300;
}

#header .ticket a:hover {
    opacity: 1;
    background: #ff8800;
}

#header .facebook a {
    background: #537BBC;
    padding: 5px;
}
#header .twitter a {
    background: #78CBEF;
    padding: 5px;
}
@media screen and (max-width: 1137px) {
    .sns_nav {
    max-width: 70%;
}
}
@media screen and (max-width: 960px) {
.sns_nav {
    max-width: 100%;
    margin: 0vw 14vw auto auto;
}
.sns_menu {
    margin: 5vw 6vw auto auto;
}
}
@media screen and (max-width: 501px) {
.sns_nav a {
    font-size: 1.2rem;
}
}
@media screen and (max-width: 480px) {
.sns_nav li + li {
    margin-left: 3%;
}
#header .ticket_icon:after {
    content: "";
    background: url("../images/ticket.svg") no-repeat;
    width: 15px;
    height: 10px;
    right: 5px;
    background-size: contain;
}
.ticket {
    min-width: 130px;
}
.facebook {
    width: 34px;
}
.twitter {
    width: 34px;
}
#header .ticket a {
    font-size: 1.0rem;
    padding: 5px 30px 5px 5px;
/*    background: #00A040;*/
}
#header .facebook a {
    background: #537BBC;
    padding: 2px;
}
#header .twitter a {
    background: #78CBEF;
    padding: 2px;
}
}

/* globalnavi */
@media screen and (min-width:961px) {
#header nav #global {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;/*		margin-right: 150px;*/
    justify-content: flex-end;
}
#header nav #global > li {
    position: relative;
    z-index: 2;
    font-size: 1.8rem;
}
#header nav #global > li a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 1.5vw;
    /* height: 100px;*/
    height: 50px;
    font-weight: bold;
    position: relative;
}
#header nav #global > li:last-child a {
    padding: 0 1.5vw 0 1.5vw;
}
    
    #header nav #global > li a:hover {
    opacity: 0.9;
    border-bottom:1px solid #000;
        transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0s, opacity 0.2s;
}
    
    
    /*
#header nav #global > li a:after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 0px;
    background: #349B13;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

    
    

#header nav #global > li a:hover:after, #header nav #global > li.open a:after {
    bottom: 0px;
    opacity: 1;
    visibility: visible;
    height: 5px;
}
#header nav #global > li.navi_color a {
    padding: 0 2vw;
    background: #EAEAEA;
    -webkit-transition: all 0.5s linear;
    -o-transition: all 0.5s linear;
    transition: all 0.5s linear;
}
#header nav #global > li.navi_color a:after {
    content: none;
}
#header nav #global > li.navi_color a:before {
    content: "";
    position: relative;
    margin: auto;
    top: 0;
    bottom: 0;
    left: -6px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #349B13;
    border-right: 1px solid #349B13;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#header nav #global > li.navi_color a:hover {
    background: #E0DFDE;
}
#header nav #global ul {
    position: absolute;
    left: 0;
    top: 90px; 
    height: 0;
    overflow: hidden;
    opacity: 0;
    z-index: 10;
    min-width: 100%;
    -webkit-transition: all 0.15s ease;
    -o-transition: all 0.15s ease;
    transition: all 0.15s ease;
}
#header nav #global ul li + li {
    border-top: 1px solid #ccc;
}
#header nav #global ul li a {
    background: #EAEAEA;
    padding: 1em 1.5em;
    height: auto;
    min-width: 100%;
    white-space: nowrap;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
#header nav #global ul li a:after {
    content: none;
}
#header nav #global ul li a:hover {
    background: #063306;
    color: #fff;
    opacity: 1;
}
#header nav #global li:hover ul {
    overflow: visible;
    opacity: 1;
    height: auto;
    top: 100px;
}
#header nav .nav_down {
    display: none;
}*/
}

/*pc end*/

@media screen and (max-width: 960px) {
#header nav #global {
    display: block;
    margin-right: 0;
    font-size: 1.4rem;
}
#header nav #global > li {
    position: relative;
    border-bottom: 1px solid #444;
}
#header nav #global > li a {
    display: block;
    padding: 1.25em 2em;
    height: auto;
    position: relative;
    color: #000;
    text-align: center;
}
#header nav #global > li a:after {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 12px;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#header nav #global > li.has_snav > a:after {
    content: none;
}
#header nav #global ul {
    background: rgba(50,50,50,0.90);
    height: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
#header nav #global ul.open {
    height: auto;
    visibility: visible;
    opacity: 1;
}
#header nav #global ul li {
    border-top: 1px solid #444;
}
/* plus icon */
#header nav .nav_down {
    position: absolute;
    right: 0;
    top: 25px;
    width: 40px;
    height: 60px;
    margin-top: -26px;
    z-index: 10;
}
#header nav #global .has_snav > .nav_down:after {
    content: "";
    display: block;
    position: absolute;
    left: auto;
    bottom: auto;
    right: 9px;
    top: 50%;
    width: 13px;
    height: 1px;
    margin-top: -1px;
    background-color: #fff;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
#header nav #global .has_snav > .nav_down:before {
    content: "";
    display: block;
    position: absolute;
    left: auto;
    bottom: auto;
    right: 15px;
    top: 50%;
    width: 1px;
    height: 13px;
    background-color: #fff;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    margin-top: -7px;
}
#header nav #global .has_snav > .nav_down.open:before {
    -webkit-transform: translateY(0) rotate(90deg);
    -ms-transform: translateY(0) rotate(90deg);
    transform: translateY(0) rotate(90deg);
}
}
/* nav ハンバーガー
------------------------------------------------------------- */
#header nav {
}
#header .nav_btn {
    display: none;
}

@media screen and (max-width: 960px) {
#header .nav_btn {
    display: block;
    position: absolute;
    right: 0;
    top: 0px;
    z-index: 999;
}
#header nav {
    position: fixed;
    overflow: hidden;
    height: -webkit-calc(100% - 60px);
    height: calc(100% - 60px);
    top: 60px;
    right: 0;
    width: 0;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 999;
}
#header nav > div {
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
#header nav > div > div {
    height: 100%;
    overflow-y: auto;
    /* background: rgba(0,0,0,0.90);*/
    background: rgba(255,255,255,0.90);
    pointer-events: auto;
}
#header .nav_btn a {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    z-index: 2;
}
#header .nav_btn:before, #header .nav_btn a:before, #header .nav_btn a:after {
    content: "";
    position: absolute;
    left: 15px;
    right: 15px;
    top: 50%;
    height: 2px;
    margin-top: -1px;
    background-color: #212121;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
#header .nav_btn a:before {
    -webkit-transform: translateY(-8px);
    -ms-transform: translateY(-8px);
    -o-transform: translateY(-8px);
    transform: translateY(-8px);
}
#header .nav_btn a:after {
    -webkit-transform: translateY(8px);
    -ms-transform: translateY(8px);
    -o-transform: translateY(8px);
    transform: translateY(8px);
}
/* open */
#header.open nav {
    opacity: 1;
    visibility: visible;
    width: 100%;
}
#header.open .nav_btn:before {
    opacity: 0;
}
#header.open .nav_btn a:before {
    -webkit-transform: translateY(0) rotate(45deg);
    -ms-transform: translateY(0) rotate(45deg);
    transform: translateY(0) rotate(45deg);
}
#header.open .nav_btn a:after {
    -webkit-transform: translateY(0) rotate(-45deg);
    -ms-transform: translateY(0) rotate(-45deg);
    transform: translateY(0) rotate(-45deg);
}
}
/* fixed
------------------------------------------------------------- */
#header.fixed {
    /*    box-shadow: 0px 4px 3px rgba(0,0,0,0.12);
    -webkit-box-shadow: 0px 4px 3px rgba(0,0,0,0.12);
    -moz-box-shadow: 0px 4px 3px rgba(0,0,0,0.12);*/
    border-bottom: 1px solid #00a040;
}

@media screen and (max-width: 480px) {
#header nav {
    top: 80px;
}
#header .nav_btn {
    top: 11px;
}
}
/* footer
============================================================================================================ */
footer {
}
.footer_in {
    background: url("../images/footer_bg.jpg") no-repeat;
    max-width: 100%;
    background-position: center;
    background-size: cover;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 60px 2vw 15px;
    position: relative;
}
footer .foot_area {
    margin: 0 auto;
    text-align: center;
}
.foot_logo {
    max-width: 220px;
    margin: 0 auto;
}
.foot_logo img {
    width: 100%;
}
.foot_logo a {
    display: block;
}
.footer_date {
    width: 100%;
    padding: 30px 0 10px 0;
    font-weight: bold;
    font-size: 2.8rem;
    text-align: center;
}
#footer .sns_nav {
    margin: 0 auto;
    max-width: 320px;
    text-align: center;
    justify-content: center;
    padding-bottom: 50px;
}
#footer .ticket, footer .facebook, footer .twitter {
    border: solid 1px #fff;
}
#footer .ticket {
    max-width: 320px!important;
    width: auto;
    font-weight: bold;
}
#footer .facebook {
    width: 30px;
}
#footer .twitter {
    width: 30px;
}
#footer .ticket a {
    padding: 2px 50px 2px 8px;
    font-size: 1.5rem;
    font-weight: bold;
}
#footer .facebook a {
    padding: 3px;
}
#footer .twitter a {
    padding: 3px;
}
/*hoverの処理*/
#footer .ticket a:hover {
 background: #fff;
    color: #000;
    opacity: 1!important;
  
}
#footer  .ticket_icon:hover:after {
  background: url("../images/ticket_h.svg") no-repeat;
    width: 20px;
    height: 15px;
    background-size: contain;
}


#footer .facebook a:hover {
    display: block;
    color: #000;
        opacity: 1!important;
   background:#fff url("../images/facebook_h.svg") no-repeat;
    background-position: center;
    background-size: 30%;
}
#footer .facebook a,#footer .twitter a {
    display: inline-block;
}
#footer .facebook a:hover img {
    visibility: hidden;
}
#footer .twitter a:hover {
    display: block;
    color: #000;
        opacity: 1!important;
      background:#fff url("../images/twitter_h.svg") no-repeat;
        background-position: center;
        background-size: 60%;
}
#footer .twitter a:hover img {
    visibility: hidden;
}


.footer_info {
    padding: 30px 0 010px 0;
    font-size: 1.4rem;
}
.footer_info p + p {
    margin-top: 30px;
}
.foot_logo_info {
    max-width: 15%;
    margin: 0 auto;
}
.foot_logo_info svg {
    width: 100%;
}
.footer_info a {
    text-decoration: underline;
}
.footer_info a:hover {
    text-decoration: none;
}

@media screen and (max-width: 480px) {
.footer_in {
    padding: 80px 0 15px;
        background: url("../images/footer_bg_sp.jpg") no-repeat;
    max-width: 100%;
    background-position: center;
    background-size: cover;
}
    
footer .foot_area {
    max-width: 100%;
}
.footer_date {
    padding: 20px 0 20px 0;
}
#footer .sns_nav {
    padding-bottom: 30px;
}
.foot_logo_info {
    max-width: 30%;
    margin: 0 auto;
}
}
/* foot sns
------------------------------------------------------------- */

/* copyright
------------------------------------------------------------- */
.copyright {
    display: block;
    margin-top: 20px;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: center;
}

@media screen and (max-width: 960px) {
.copyright {
    display: block;
    margin-top: 30px;
    font-size: 1.1rem;
    line-height: 1.4;
    text-align: center;
    margin-right: 0;
}
}
/* .page_top
------------------------------------------------------------- */
.page_top {
    /*    position: fixed;*/
    position: absolute;
    top: 2vw;
    right: 5vw;
    z-index: 10;
}
.page_top a {
    display: block;
    /*    background: #3BAF1B;*/
    width: 25px;
    height: 25px;
    position: relative;
}
.page_top a:hover {
    opacity: 0.8;
}
.page_top a:after {
    position: absolute;
    content: "";
    vertical-align: middle;
    right: 0;
    left: 0;
    top: 5px;
    bottom: 0;
    margin: auto;
    width: 25px;
    height: 25px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

@media screen and (max-width: 960px) {
.page_top a {
    width: 36px;
    height: 18px;
    top: 5vw;
    right: 10px;
}
.page_top {
    right: 10px;
}
}

@media screen and (max-width: 480px) {
.page_top {
    top: 15px;
    right: 5vw;
}
}
/* ===================================================================================================================

	コンテンツ

=================================================================================================================== */

/* topic_path
============================================================================================================ */
.topic_path {
    font-size: 12px;
    font-size: 1.2rem;
    background: rgba(234,234,234,0.7);
    padding: 10px 0;
    /*	margin-bottom: 40px;*/
    position: relative;
    z-index: 1;
}
.topic_path ul {
    max-width: 1200px;
    margin: 0 auto;
}
.topic_path li a {
    text-decoration: none!important;
}
.topic_path li {
    display: inline-block;
}
.topic_path li a:after {
    content: ">";
    margin-left: 5px;
    color: #333;
}

@media screen and (max-width: 960px) {
.topic_path {
    display: none;
}
}
/* コンテナ
============================================================================================================ */
#container {
    position: relative;
    font-size: 14px;
    font-size: 1.4rem;
    padding-top: 100px;
}
#container a:hover {
    opacity: 0.8;
}

@media screen and (max-width: 960px) {
#container {
    padding-top: 60px;
}
}

@media screen and (max-width: 480px) {
#container {
    font-size: 1.3rem;
    padding-top: 80px;
}
#container.sub {
    margin-top: 50px;
    padding: 0;
}
}
/* ===================================================================================================================

	モジュール

=================================================================================================================== */

/* section
============================================================================================================ */
.section + .section {
    margin-top: 80px;
}

@media screen and (max-width: 960px) {
.section + .section {
    margin-top: 30px;
}
.sp_section {
    padding: 0 10px;
}
}
/* padding
============================================================================================================ */
.pd_l {
    padding-top: 80px;
    padding-bottom: 80px;
}
.pd_m {
    padding-top: 50px;
    padding-bottom: 50px;
}
.pd_s {
    padding-top: 30px;
    padding-bottom: 0px;
}

@media screen and (max-width: 960px) {
.pd_l {
    padding-top: 60px;
    padding-bottom: 60px;
}
.pd_m {
    padding-top: 35px;
    padding-bottom: 35px;
}
.pd_s {
    padding-top: 20px;
    padding-bottom: 20px;
}
}
/* btn
============================================================================================================ */
.btn > * {
    font-size: 1.4rem;
    background: #00A040;
    color: #fff;
}
/*グラデーション　ボタン*/
.btn_gra {
    display: inline-block;
    font-weight: bold;
    max-width: 280px;
    width: 100%;
    padding: 1px;
    background: linear-gradient(to right, #009F40, #99FF99);
}
.gra_in {
    display: block;
    background-color: #fff;


}

.gra_in:hover {
     background: linear-gradient(to right, #009F40, #99FF99);

}

.gra_in > * {
    text-align: center;
    color: #00A040;
    display: block;
    padding: 10px 0;
    width: 100%;
    font-size: 1.6rem;
          -webkit-transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
    -o-transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
    transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
}
.gra_in:hover  > *{
    color: #fff;
    
    
}

@media screen and (max-width: 480px) {
}
.btn_arrow {
    position: relative;
}
.btn_arrow:before {
    content: "";
    background: url("../images/btn_arrow.svg") no-repeat;
    width: 8px;
    height: 15px;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translate(-0%, -50%);
    -moz-transform: translate(-0%, -50%);
    -ms-transform: translate(-0%, -50%);
    -o-transform: translate(-0%, -50%);
    transform: translate(-0%, -50%);
}

.btn_arrow:hover:before  {
    background: url("../images/btn_arrow_ff.svg") no-repeat;
}

/* title
============================================================================================================ */
.title_l {
    margin-bottom: 30px;
    font-size: 30px;
    font-size: 3rem;
    color: #007fc6;
    text-align: center;
    font-weight: normal;
}
.title_m {
    font-size: 24px;
    font-size: 2.4rem;
    margin-bottom: 20px;
    letter-spacing: 1px;
}
.title_s {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 5px;
}
.caption {
    margin-bottom: 10px !important;
    font-size: 18px;
    font-size: 1.8rem;
    color: #007fc6;
    text-align: left;
    font-weight: normal;
}

@media screen and (max-width: 960px) {
.title_l {
    font-size: 1.8rem;
}
.title_m {
    font-size: 1.6rem;
    margin-bottom: 10px;
}
.title_s {
    font-size: 1.4rem;
}
.caption {
    font-size: 1.4rem;
}
}
/* local_title
============================================================================================================ */
.local_title_l {
    font-weight: bold;
    position: relative;
    font-size: 3.0rem;
    margin-bottom: 2em;
}
.local_title_l:before {
    content: "";
    background: linear-gradient(to right, #009F40, #99FF99);
    width: 100%;
    height: 10px;
    position: absolute;
    left: 0;
    bottom: 8px;
    z-index: -1;
}

@media screen and (max-width: 480px) {
.local_title_l {
    font-size: 2.4rem;
    margin-bottom: 2em;
}
}
/* table
============================================================================================================ */
table.basic {
    width: 100%;
    border: 1px solid #d9d9d9;
    line-height: 1.6;
    table-layout: fixed;
}
table.basic th, table.basic td {
    padding: 0.6em 1em;
    border: 1px solid #d9d9d9;
    word-wrap: break-word;
}
table.basic th {
    background: #f2f2f2;
}
table.basic.th_center th {
    text-align: center;
    font-weight: bold;
}
table.basic.td_cetner td {
    text-align: center;
}
table.basic.td_right td {
    text-align: right;
}
table.border_none td, table.border_none th {
    padding-bottom: 20px;
}
table.form {
    width: 100%;
    border: 1px solid #212121;
    line-height: 1.6;
    table-layout: fixed;
}
table.form th, table.form td {
    padding: 0.6em 1em;
    border-bottom: 1px dashed #212121;
    word-wrap: break-word;
}
table.form tr:nth-child(odd) td {
    background: #efefef;
}
table.form th {
    background: #efefef;
    border-right: 1px solid #212121;
}
table.basic.border_c th, table.basic.border_c td {
    border: 1px solid #231815 !important;
}
table.form input[type=text], table.form input[type=tel], table.form select, table.form textarea {
    max-width: 100%;
    padding: .4em;
    border: 1px solid #aaaaaa;
    font-size: 14px;
    font-size: 1.4rem;
}
table.form input.size01 {
    width: 80%;
}
table.form input.size02 {
    width: 150px;
}
table.form input.size03 {
    width: 320px;
}
table.form input.size04 {
    width: 85px;
}
table.form textarea.size01 {
    width: 100%;
    height: 160px;
}
table .w10 {
    width: 10%;
}
table .w15 {
    width: 15%;
}
table .w20 {
    width: 20%;
}
table .w25 {
    width: 25%;
}
table .w30 {
    width: 30%;
}
table .w35 {
    width: 35%;
}
table .w40 {
    width: 40%;
}
table .w45 {
    width: 45%;
}
table .w50 {
    width: 50%;
}

@media screen and (max-width: 960px) {
table.basic {
    border-width: 2px;
    font-size: 1.2rem;
    line-height: 1.5;
}
table.basic th, table.basic td {
    padding: 0.5em;
}
table.basic th {
    width: 10%;
}
table.basic td {
    width: 20%;
}
table.form th, table.form td {
    display: block;
    border-right: none;
    padding: 10px;
}
table.form td {
    background: none !important;
}
}
/* li
============================================================================================================ */
/* square
------------------------------------------------------------- */
ul.square li {
    position: relative;
    padding-left: 1em;
}
ul.square li:before {
    content: "■";
    position: absolute;
    left: 0;
}
/* circle
------------------------------------------------------------- */
ul.circle li {
    position: relative;
    padding-left: 1em;
}
ul.circle li:before {
    content: "●";
    position: absolute;
    left: 0;
}
/* asterisk
------------------------------------------------------------- */
ul.asterisk li {
    position: relative;
    padding-left: 1em;
    margin-bottom: 5px;
}
ul.asterisk li:before {
    content: "＊";
    position: absolute;
    left: 0;
}
/* disc
------------------------------------------------------------- */
ul.disc li {
    position: relative;
    padding-left: 1em;
}
ul.disc li:before {
    content: "・";
    position: absolute;
    left: 0;
}
/* notes
------------------------------------------------------------- */
ul.notes li {
    position: relative;
    padding-left: 1em;
}
ul.notes li:before {
    content: "※";
    position: absolute;
    left: 0;
}
/* decimal
------------------------------------------------------------- */
ol.decimal {
    list-style-type: decimal;
}
ol.decimal li {
    margin-left: 2em;
}
/* parentheses
------------------------------------------------------------- */
ol.parentheses li {
    position: relative;
    padding-left: 2em;
}
ol.parentheses li .num {
    position: absolute;
    left: 0;
}
/* img
============================================================================================================ */
.ofi {
    object-fit: cover;
    font-family: 'object-fit: cover;'
}
.ofi.cont {
    object-fit: contain;
    font-family: 'object-fit: contain;'
}
/* text___
============================================================================================================ */
.text_inner p + p {
    margin-top: 1em;
}
/* bg__
============================================================================================================ */
.bg_gree {
    background: #00A040;
}
.bg_black {
    background: #000;
}
.bg_gray {
    background: #666666;
}



/* fbox
============================================================================================================ */
.fbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (min-width: 960px) {
.fbox.f_pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.fbox.f_sp {
    display: block;
}
}

@media screen and (max-width: 480px) {
.fbox.f_pc {
    display: block;
}
.fbox.f_sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
}
/* program
============================================================================================================ */

.program_box{
    position: relative;
}
.program_info_title {
    color: #999999;
    margin-bottom: 1em;
    font-size: 1.6rem;
}
.sub_title_s {
    color: #000;
    font-weight: normal;
    font-size: 1.4rem;
    margin-top: 1em;
}
/* program 中身
------------------------------------------------------------- */
.program_list {
    /*    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    max-width: 95%;
    margin: 0 auto;*/
    padding-bottom: 30px;
}
.program_list li {
    /*    width: 32%;
    margin-bottom: 3em;
    margin-right: 2%;*/
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0   20px  0 20px ;
}
.program_list li:hover{opacity: .8;    
}
.program_list_inner {
    border: solid 1px #ff7599;
}
.text_box{
 white-space:normal!important;
    word-break : break-all!important;
}
.program_box a{
    text-decoration: none!important;
}
.program_box a:hover{
    text-decoration: none!important;
}

/*.program_list > li:nth-child(3n) {
    margin-right: auto;
}*/

@media screen and (max-width:960px) {
/*.program_list  li {
    width: 48%;
    margin-right: 4%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
.program_list > li:nth-child(3n) {
    margin-right: 4%;
}
.program_list > li:nth-child(2n) {
    margin-right: auto;
}*/
}

@media screen and (max-width: 480px) {
/*.program_list {
    display: block;
}
.program_list  li:nth-child(3n) {
    margin-right: auto;
}
.program_list  li {
    width: auto;
    margin-right: auto;
}*/
}

@media screen and (max-width: 320px) {
.program_list li {
    margin: auto 5px;
}
}
/*subやじるし*/
.program_box .sub_slide-arrow {
    top: 35%;
    position: absolute;
-webkit-transform: translate(-0%,-50%);
-moz-transform: translate(-0%,-50%);
-ms-transform: translate(-0%,-50%);
-o-transform: translate(-0%,-50%);
transform: translate(-0%,-50%);
}


@media screen and (max-width: 1024px) {
    .program_box .sub_slide-arrow  .slick-prev {
    left: 0px;
}
.program_box .sub_slide-arrow  .slick-next {
    right: -0px;
}
}@media screen and (max-width: 960px) {
    .program_box .sub_slide-arrow  .slick-prev {
    left: 0px;
}
.program_box .sub_slide-arrow  .slick-next {
    right: 20px;
}
}

@media screen and (max-width: 480px) {
    .program_box .sub_slide-arrow  .slick-prev {
    left: -11px;
}
.program_box .sub_slide-arrow  .slick-next {
    right: 9px;
}
}
/*inner
---------------------------------------*/
.program_title {
    padding: 5px;
    text-align: center;
    color: #fff;
    background: #ff7599;
    font-weight: bold;
    font-size: 1.4rem;
    font-feature-settings: "palt";
}
.program_title .ja {
    font-size: 2rem;
}
.program_title .en + .ja {
    margin-left: 0.5em;
}
.program_list_in .text_box {
    padding: 5px 15px 10px;
    background: #fff6fc;
}
.program_list_in .num_title {
    position: relative;
    font-weight: bold;
    font-size: 2.4rem;
    display: inline-block;
    color: #000!important;
}
.program_list_in .num_title:before {
    padding: 0 2px;
    content: "";
    background: #000;
    width: 1.5em;
    height: 2px;
    position: absolute;
    bottom: 3px;
    left: 50%;
    -webkit-transform: translate(-50%, -0%);
    -moz-transform: translate(-50%, -0%);
    -ms-transform: translate(-50%, -0%);
    -o-transform: translate(-50%, -0%);
    transform: translate(-50%, -0%);
}
.sub_title {
    color: #ff7599;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.3;
    margin: 15px auto 20px;
}

@media screen and (max-width:1024px) {
.program_title {
    font-size: 1.4rem;
}
.program_title span {
    font-size: 1.8rem;
}
.sub_title {
    font-size: 2.8rem;
}
}

@media screen and (max-width:480px) {
.program_title .en + .ja {
    margin-left: 10px;
}
.program_title {
    font-size: 1.3rem;
}
.program_title .ja {
    font-size: 2.0rem;
}
.sub_title {
    font-size: 2.8rem;
}
.program_list_in .num_title {
    font-size: 2.4rem;
}
}
/*catego col カテゴリーカラー
--------------------------------------------*/
.catego_yellow {
}
.program_list .program_list_inner.catego_yellow {
    border: solid 1px #ffbd33!important;
}
.catego_yellow .program_title {
    background: #ffbd33!important;
}
.catego_yellow .sub_title {
    color: #ffbd33!important;
}
.catego_yellow .program_list_in .text_box {
    background: #fffcf0!important;
}
/*blue*/
.program_list .program_list_inner.catego_blue {
    border: solid 1px #66aaff!important;
}
.catego_blue .program_title {
    background: #66aaff!important;
}
.catego_blue .sub_title {
    color: #66aaff!important;
}
.catego_blue .program_list_in .text_box {
    background: #f6fcff!important;
}
/*gree*/
.program_list .program_list_inner.catego_gree {
    border: solid 1px #00a040!important;
}
.catego_gree .program_title {
    background: #00a040!important;
}
.catego_gree .sub_title {
    color: #00a040!important;
}
.catego_gree .program_list_in .text_box {
    background: #f9fffb!important;
}

/*catego_purple*/
.program_list .program_list_inner.catego_purple {
    border: solid 1px #bb88ee!important;
}
.catego_purple .program_title {
    background: #bb88ee!important;
}
.catego_purple .sub_title {
    color: #bb88ee!important;
}
.catego_purple .program_list_in .text_box {
    background: #f3f6ff!important;
}


/*catego_gray*/
.program_list .program_list_inner.catego_gray {
    border: solid 1px #888888!important;
}
.catego_gray .program_title {
    background: #888888!important;
}
.catego_gray .sub_title {
    color: #888888!important;
}
.catego_gray .program_list_in .text_box {
    background: #f8f8f8!important;
}

/*speakers
------------------------------------------------------------------------------------------------------*/

/*speakers_list
--------------------------------------------*/
/*.speakers_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}*/
.speakers_list {
    padding-bottom: 30px;
}
.speakers_list li {
    margin: auto 1em;
}
.speakers_list li .ofi {
    width: 100%;
    height: 205px;
}
.speakers_name {
    font-weight: bold;
    margin-top: 1em;
    font-size: 1.8rem;
}
.speakers_list li:hover img{
    opacity: .8;    
}
.speakers_list li:hover .speakers_name {
 text-decoration: underline;
}

.speakers_attribute {
    font-size: 1.4rem;
    color: #999999;
}

/*.speakers_list li + li {
    margin-left: 2em;
}*/

.speakers_list p.md {
	color: #999999;
	font-size: 1.4rem;
	margin: 1.5em 0 0.5em;
}

.speakers_list p.title {
    font-size: 1.6rem;
}

.speakers_list p.sub {
	font-size: 1.4rem;
	margin: 0.5em 0;
}

.speakers_list p.discription {
	color: #666;
	font-size: 1.2rem;
}

@media screen and (max-width: 480px) {
.speakers_list li span {
    font-size: 1.6rem;
}
/*.speakers_list li + li {
    margin-top: 1.5em;
}*/

}
/*page_title_area
------------------------------------------------------------------------------------------------------*/
.page_title_area {
    background: url("../image/page_title_program.jpg")no-repeat;
    background-size: cover;
    padding: 50px 0;
}
.page_title {
    color: #fff;
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
}
.page_title .en {
    font-size: 5.0rem;
}

@media screen and (max-width:960px) {
.page_title {
    color: #fff;
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
}
.page_title .en {
    font-size: 3.0rem;
}
}
/*検索ボタン
------------------------------------------------------------------------------------------*/
/*formリセット
---------------------------------------------*/
/*text
----------------------------------------------*/
input[type="text"], input[type="number"], input[type="email"], input[type="tel"] {
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
}
/*radio
----------------------------------------------*/
/*input[type="radio"] {
    display: none;
}
input[type="radio"]:checked + label {
    background: #ff0000;
}*/
/*checkbox
----------------------------------------------*/
/*input[type="checkbox"] {
    display: none;
}
input[type="checkbox"]:checked + label {
    background: #ff0000;
}*/
/*select
----------------------------------------------*/
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}
/*ie*/
select::-ms-expand {
 display: none;
}
/*textarea*/
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    outline: none;
}
/*button
----------------------------------------------*/
/*button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}*/

/*placeholder*/
input::placeholder, textarea::placeholder {
 color: #B3B3B3;
}
/* IE */
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
 color: #B3B3B3;
}
/* Edge */
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
 color: #B3B3B3;
}
/*formリセット end
---------------------------------------------*/

.search_area {
    margin: 0 auto;
}
.search_area_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
}
.search_area_list select {
    color: #00A040;
    padding: 10px 10px;
    border: solid 1px #C8C8C8;
    background: #F5F5F5;
    min-width: 150px;
}
.search_area_list li + li {
    margin-left: 20px;
}

@media screen and (max-width:680px) {
.search_area_list li + li {
    margin-left: 10px;
}
}

@media screen and (max-width:480px) {
.search_area_list {
    display: block;
    margin: 0 auto;
    max-width: 80%;
}
.search_area_list select {
    color: #00A040;
    padding: 10px 10px;
    border: solid 1px #C8C8C8;
    background: #F5F5F5;
    min-width: 150px;
    width: 80%;
    margin-left: 10px;
}
.search_area_list li + li {
    margin-left: auto;
    margin-top: 10px;
}
}
/*select　矢印*/
.select_arrow {
    position: relative;
}
.select_arrow:after {
    content: "";
    position: absolute;
    border: 6px solid transparent;
    border-left: 10px solid #00A040;
    top: 60%;
    right: 10px;
    box-sizing: border-box;
    width: 4px;
    height: 6px;
    -webkit-transform: translate(-0%, -50%);
    -moz-transform: translate(-0%, -50%);
    -ms-transform: translate(-0%, -50%);
    -o-transform: translate(-0%, -50%);
    transform: translate(-0%, -50%) rotate(90deg);
}
/*search　ボタン*/
.search_area .gra_in > * {
    text-align: center;
    color: #000;
    display: inline-block;
    padding: 8px 15px;
    width: auto;
    font-size: 1.4rem;
}
.search_area .gra_in a:hover{
    color: #fff;
}

@media screen and (max-width:480px) {
.select_arrow:after {
    left: 80%;
}
}

@media screen and (max-width:480px) {
.search_area .btn_gra {
    margin: 20px auto auto auto;
    display: block;
    text-align: center;
    max-width: 180px;
}
.search_area .gra_in > * {
    text-align: center;
    display: block;
}
}
/*チケット
--------------------------------------------*/
.top_ticket_btn.btn {
    padding: 50px 0 20px 0;
}
.top_ticket_btn.btn a {
    padding: 15px 0px 15px 0px;
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    background: #ff3300;
}
.top_ticket_btn.btn a:hover {
    background: #ff8800;
    opacity: 1!important;
}

.top_ticket_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
}
.top_ticket_flex li + li {
    margin-left: 20px;
}
@media screen and (max-width:320px) {
    .top_ticket_btn.btn a {
    font-size: 1.6rem;
}
}

/*キーワード
--------------------------------------------*/
.keyword_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.keyword_list li a {
    padding: 5px 10px;
    color: #fff;
    font-size: 1.4rem;
    background: #A6A6A6;
    border-radius: 5px;
}
.keyword_list li {
    margin-right: 20px;
    margin-bottom: 20px;
}
.keyword_list li a:hover{
background: #000;
    opacity: 1!important;
}


/*news
------------------------------------------------------------------*/
.top_news {
/*    padding-bottom:10px;*/
    margin-top: 50px;

}
.news_list li {
    padding: 30px 30px 30px 0;
    position: relative;
}

.news_list li dd a{
    color: #00A040;
    text-decoration: none;
    font-size: 1.6rem;
}
.news_list li dd a:hover{
     opacity: 1!important;
     text-decoration: underline!important;    
}

.news_list_in dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.news_list_in dt {
    width: 15%;
    margin-right: 5%;
    padding-left: 20px;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.4;
    color: #999999;
}
.news_list_in dd {
    width: 180%;
    padding-right: 20px;
    font-size: 1.6rem;
}
.news_list_in .img {
    padding: 20px 0;
}
.news_list_in img {
    mx-width: 90%;
    height: 172px;
    object-fit: contain;
    object-position: center;
    font-family: 'object-fit: contain; object-position: center;'
}
/*矢印*/

.news_list li:before {
    content: "";
    background: url("../images/btn_arrow.svg") no-repeat;
    width: 10px;
    height: 20px;
    position: absolute;
    background-size: contain;
    top: 50%;
    right: 0%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
@media screen and (max-width: 480px) {
    .news_list li:before {
    right: -10px;
    }
}


@media screen and (max-width: 480px) {
.top_news {
    padding-bottom: 30px;
}
.news_list_in dl {
    display: block;
}
.news_list_in dt {
    width: auto;
    margin-right: auto;
    padding-left: 0;
    margin-bottom: 5px;
    font-size: 1.7rem;
    font-weight: bold;
}
.news_list_in dd {
    font-size: 1.4rem;
    width: auto;
    padding-right: 0;
}
.news_list_in img {
    mx-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    font-family: 'object-fit: contain; object-position: center;'
}
.news_list li {
    padding: 15px 20px 15px 0;
    position: relative;
}
}


/*special_list
------------------------------------------------------------------*/
.special_list{
    justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    margin: 0 auto;
    flex-wrap: wrap;
}

.special_list li{
    width:20%;
    margin:0 3%;
}


@media screen and (max-width: 480px) {
    .special_list li{
    width:auto;
    width: 48%;
    margin:auto 3% 30px 0;
}
    .special_list li:nth-child(2n){
           margin:auto auto 30px auto;
    }
    .special_list{
        justify-content: flex-start;

    margin: 0 auto;
    
}

}

.special_list li img{
   margin-bottom:1em;
}

.special_date{
    color: #999999;
    margin-bottom:10px;
    font-size: 1.7rem;
}

.special_list .text_box{
    
}
.special_list li:hover .text_box{
text-decoration: underline;
}
.special_list .ofi{
    width:100%;
    height: 200px;
}