@CHARSET "UTF-8";

@media screen and (max-width: 768px){
    .header {
        padding: 10px;
    }
    .header .main-header table th {
        width: 12vw;
    }
    .header .main-header table td h1 {
        font-size: 4vw;
    }
    .main-visual .main-visual-contents {
        top: auto;
        left: auto;
        position: relative;
    }
    .main-visual .main-visual-image {
        width: 200%;
        margin-left: -100%;
    }

    .main-visual .main-visual-contents .main-visual-title h1 span.name {
        font-size: 5vw;
    }

    .main-visual .main-visual-contents .main-visual-title h1 span.title {
        font-size: 9vw;
    }

    .main-visual .main-visual-contents .main-visual-title h1 span.title-en {
        font-size: 2.9vw;
        line-height: 1.5;
        color: #fff;
    }

    .main-visual .main-visual-contents .main-visual-sub-title {
        margin-top: 0;
        padding: 2vw 10px;
        background: #fef6eb;
    }

    .main-visual .main-visual-contents .main-visual-sub-title h2 span.title {
        font-size: 6vw;
        line-height: 1.5;
    }

    .main-visual .main-visual-contents .main-visual-sub-title h2 span.title-en {
        font-size: 3vw;
        line-height: 1.5;
    }

    .main-visual .main-visual-contents .main-visual-date h3 {
        font-size: 5vw;
    }

    .main-visual .main-visual-contents .main-visual-date h3 span.date {
        font-size: 9vw;
    }

    .main-visual .main-visual-contents .main-visual-date h3 span.week {
        font-size: 5vw;
    }

    .main-visual .main-visual-contents .main-visual-master table th, .main-visual .main-visual-contents .main-visual-master table td {
        display: block;
    }

    .main-visual .main-visual-contents .main-visual-master table {
        width: 100%;
    }

    .main-visual .main-visual-contents .main-visual-master {
        margin-top: 0;
        padding: 1vw 10px;
        background: #fef6eb;
    }

    .main-visual .main-visual-contents .main-visual-master table th span {
        font-size: 4vw;
    }

    .main-visual .main-visual-contents .main-visual-master table th {
        text-align: center;
    }

    .main-visual .main-visual-contents .main-visual-master table td {
        font-size: 4vw;
        padding: 0;
        margin-bottom: 1vw;
    }

    .main-visual .main-visual-contents .main-visual-title {
        padding: 10px;
        background: #028e99;
    }

    .main-visual .main-visual-contents .main-visual-date {
        margin-top: 0;
        padding: 2vw 10px 0;
        background: #fef6eb;
    }
    .contents {
        padding: 0 10px;
    }

    .main-contents {
        width: 100%;
    }

    .main-contents .news-wrap {
        min-height: 300px;
    }

    h2.news-title {
        margin: 15px 0 20px;
    }

    .news-wrap ul li span, .news-wrap ul li a span {
        display: block;
    }

    .news-wrap ul li {
        padding-left: 3px;
    }

    p.security {
        padding: 15px 10px;
    }

    .menu-trigger.active span {
        background: #0767ad;
    }
    .main-visual.en .main-visual-contents .main-visual-master {
        padding-top: 5vw;
        margin-top: 0;
    }

    .main-visual.en .main-visual-contents .main-visual-date {
        padding-top: 2vw;
        margin-top: 0;
    }

    .main-visual.en .main-visual-contents .main-visual-title h1 span.title-en {
        font-size: 5.5vw;
    }

    .main-visual.en .main-visual-contents .main-visual-sub-title h2 span.title-en {
        font-size: 4.5vw;
    }

    .main-visual.en .main-visual-contents .main-visual-date h3 {
        font-size: 5vw;
    }
    .header .main-header.en table td h1 {
        font-size: 4vw;
    }
    .main-visual .main-visual-contents .main-visual-sub-title h2 span.title {
        text-shadow: 0 0 16px #0075c2, 0 0 16px #0075c2, 0 0 16px #0075c2, 0 0 16px #0075c2, 0 0 16px #0075c2, 0 0 16px #0075c2;
    }
    .subpage-contents .about-table-wrap table th, .subpage-contents .about-table-wrap table td {
        display: block;
        width: 100%;
    }
    .subpage-contents .about-table-wrap table th {
        text-align: center;
    }
    .subpage-contents .about-table-wrap.en table th {
        width: 100%;
    }
    body.sub .header .main-header > table th {
        width: 8vw;
        display: inline-block;
    }
    body.sub .header .main-header > table td {
        display: inline-block;
    }
    body.sub .header .main-header > table td.info {
        display: block;
        width: 100%;
        padding: 0;
    }

    body.sub .header .main-header > table td h1 {
        font-size: 3vw;
    }
    body.sub .header .main-header > table td.info > table.date-master td.date {
        display: block;
        width: 100%;
        font-size: 4vw;
        margin-top: 5px;
    }

    body.sub .header .main-header > table td.info > table.date-master td.date span.title {
        position: relative;
        font-size: 2vw;
        width: auto;
        padding: 5px;
        top: -0.5vw;
        width: 5em;
        display: inline-block;
    }

    body.sub .header .main-header > table td.info > table.date-master td.date span.num {
        font-size: 4vw;
    }

    body.sub .header .main-header > table td.info > table.date-master td.master {
        display: block;
        width: 100%;
        padding: 0;
        margin-top: 5px;
    }

    body.sub .header .main-header > table td.info > table.date-master td.master span.title {
        position: relative;
        font-size: 2vw;
        width: auto;
        padding: 5px;
        left: 0;
        top: 0.5vw;
        width: 5em;
        display: inline-block;
    }

    body.sub .header .main-header > table td.info > table.date-master td.master > table {
        width: auto;
        display: inline;
        padding-left: 0px;
    }

    body.sub .header .main-header > table td.info > table.date-master {
        border-bottom: none;
    }

    body.sub .header .main-header > table td.info > table.date-master td.master > table td.name {
        font-size: 3.5vw;
    }
    body.sub .header .main-header > table td.info > table.date-master td.master > table td.belong {
        font-size: 2vw;
    }
    body.sub .header .main-header > table td.info > table.place td.place-title {
        font-size: 2vw;
        width: auto;
        padding: 3px 5px;
        left: 0;
        width: 5em;
        display: inline-block;
    }

    body.sub .header .main-header > table td.info > table.place {
        margin-top: 5px;
    }

    body.sub .header .main-header > table td.info > table.place td.place-name {
        font-size: 2.8vw;
        padding: 0 1.5vw;
    }
    .master-table-wrap table th {
        display: block;
        margin: auto;
    }
    .master-table-wrap table td {
        display: block;
        padding: 0;
        width: 100%;
        margin-top: 10px;
    }
    .master-table-wrap table td .master-info-wrap p.belong {
        font-size: 3.7vw;
    }
    .sponsor-wrap {
        width: 100%;
        position: relative;
        margin-top: 50px;
        margin-bottom: 30px;
    }
    body.sub .header .main-header.en > .info > table.date-master td.date {
        display: block;
        width: 100%;
        font-size: 2vw;
        padding-left: 10.5vw;
    }
    body.sub .header .main-header.en > .info > table.date-master td.master {
        display: block;
        width: 100%;
        margin-top: 2.2vw;
    }
    body.sub .header .main-header.en > .info > table.date-master {
        width: 100%;
        border-bottom: none;
    }
    body.sub .header .main-header.en > .info > table.date-master td.date span.title {
        position: absolute;
        padding: 3px 5px;
        font-size: 1.5vw;
        width: 9.5vw;
    }
    body.sub .header .main-header.en > .info > table.date-master td.master span.title {
        position: absolute;
        padding: 3px 5px;
        width: 9.5vw;
        font-size: 1.5vw;
    }
    body.sub .header .main-header.en > .info > table.date-master td.master > table td.name, body.sub .header .main-header.en > .info > table.date-master td.master > table td.belong {
        vertical-align: top;
        font-size: 1.3vw;
    }
    body.sub .header .main-header.en > .info > table.date-master td.master > table td.name {
        padding-left: 10.5vw;
        font-size: 2.5vw;
        width: 14em;
    }
    body.sub .header .main-header.en > .info > table.date-master td.master > table {
    }
    body.sub .header .main-header.en > .info > table.place td.place-title {
        font-size: 1.5vw;
    }
    body.sub .header .main-header.en > .info > table.place td.place-name {
        padding-left: 1.3vw;
        font-size: 1.3vw;
    }
    .header .main-header.en > table th {
        width: 12vw;
    }
    .to-company-schedule-link a {
        display: block;
        margin-bottom: 10px;
    }
    .faq-wrap .question-wrap p {
        padding-right: 36px;
    }
    .faq-wrap .question-wrap .answer-wrap p {
        padding-right: 0;
    }
    .main-visual .main-visual-contents .main-visual-master table td.date {
        width: 100%;
        text-align: center;
    }
    .main-visual .main-visual-contents .main-visual-master table td.date dd {
        font-size: 7vw;
    }
    .main-visual .main-visual-contents .main-visual-master table td.date dt {
        font-size: 3vw;
    }
    .main-visual .main-visual-contents .main-visual-master table td.date dl {
        font-size: 2.5vw;
        position: relative;
        display: inline-block;
        top: auto;
        right: auto;
    }
    .main-visual .main-visual-contents .main-visual-master table td.web-date p {
        display: block;
        text-align: center;
        font-size: 3vw;
    }
    .main-visual .main-visual-contents .main-visual-master table td.web-date {
        width: 100%;
        text-align: center;
    }
    .main-visual .main-visual-contents .main-visual-master table td.web-date dd {
        font-size: 7vw;
    }
    .main-visual .main-visual-contents .main-visual-master table td.web-date dt {
        font-size: 3vw;
    }
    .main-visual .main-visual-contents .main-visual-master table td.web-date dl {
        font-size: 2.5vw;
    }
    .main-visual .main-visual-contents .main-visual-master table td.other {
        font-size: 5vw;
        text-align: center;
    }
    .main-visual .main-visual-contents .main-visual-master table td.other small {
        font-size: 3vw;
    }
    .main-visual .main-visual-contents .main-visual-title h1 {
        text-align: center;
    }
    .header .main-header > table td h1 a small {
        font-size: 3.5vw;
    }
    .header .main-header.en > table td h1 a small {
        font-size: 1.7vw;
    }
    body.sub .header .main-header.en > table td.info > table.date-master td {
        vertical-align: middle;
        font-size: 3vw;
    }
    body.sub .header .main-header.en > table td.info > table.date-master td.master small {
        font-size: 1.8vw;
        display: inline-block;
    }
    body.sub .header .main-header.en > table td.info > table.date-master td.date {
        width: 100%;
    }
}

@media screen and (max-width: 700px){
}

@media screen and (max-width: 650px){
}

@media screen and (max-width: 480px){
}

@media screen and (max-width: 400px){
}
