@charset "UTF-8";

/****************************************

    Reset

*****************************************/
/* Reset Style */
html {
    font-size: 62.5%;
    overflow-y: scroall;
}

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    -webkit-font-smoothing: antialiased;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
}

img {
    margin: 0;
    padding: 0;
    vertical-align: bottom;
}

ol,
ul {
    list-style: none outside none;
    margin: 0;
    padding: 0;
}

li {
    list-style-type: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,
th {
    text-align: left;
}

q:before,
q:after {
    content: '';
}

img,
object,
embed {
    vertical-align: top;
}

legend {
    display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
}

img,
abbr,
acronym,
fieldset {
    border: 0;
}

li {
    list-style-type: none;
}

select,
input,
button,
textarea {
    font: 99% arial, helvetica, clean, sans-serif;
}

table {
    font-size: inherit;
    font: 100%;
}

pre,
code,
kbd,
samp,
tt {
    font-family: monospace;
    *font-size: 108%;
    line-height: 100%;
}

area {
    border: none;
    outline: none;
}

em,
strong {
    font-weight: bold;
}

p {
    line-height: 1.85;
}

/****************************************

    Link

*****************************************/
a {
    color: #fff;
    outline: none;
}

a:link {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

a.disable {
    cursor: default;
}

a:visited {
    text-decoration: none;
}

a.disable:hover {
    text-decoration: none;
}

a.default:link {
    color: #0000ff;
    text-decoration: underline;
}

a.default:link:hover {
    text-decoration: none;
}

a.default:visited {
    color: #800080;
}

a.default:active {
    color: #ff8000;
}

a.default:hover {
    color: #b80120;
}

/****************************************

    common

*****************************************/
.inline-block {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

.table-cell {
    display: table-cell;
    *display: inline;
    *zoom: 1;
    vertical-align: middle;
}

.serif {
    font-family: 'YuMincho', 'Yu Mincho', '游明朝', 'ヒラギノ明朝 ProN W6', 'HiraMinProN-W6', 'HG明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
}

.over {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
    -moz-transition: opacity 0.1s ease-in;
    -o-transition: opacity 0.1s ease-in;
    -webkit-transition: opacity 0.1s ease-in;
    transition: opacity 0.1s ease-in;
}

.over:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
    opacity: 0.6;
}

.scale-up {
    -moz-transition-property: -moz-transform;
    -o-transition-property: -o-transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: transform;
    -moz-transition-duration: 0.1s;
    -o-transition-duration: 0.1s;
    -webkit-transition-duration: 0.1s;
    transition-duration: 0.1s;
    -moz-transition-timing-function: ease-in;
    -o-transition-timing-function: ease-in;
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
}

.scale-up:hover {
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -webkit-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05);
}

.scale-down {
    -moz-transition-property: -moz-transform;
    -o-transition-property: -o-transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: transform;
    -moz-transition-duration: 0.1s;
    -o-transition-duration: 0.1s;
    -webkit-transition-duration: 0.1s;
    transition-duration: 0.1s;
    -moz-transition-timing-function: ease-in;
    -o-transition-timing-function: ease-in;
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
}

.scale-down:hover {
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -webkit-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95);
}

.grow {
    overflow: hidden;
}

.grow img {
    -moz-transition-property: -moz-transform;
    -o-transition-property: -o-transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: transform;
    -moz-transition-duration: 0.8s;
    -o-transition-duration: 0.8s;
    -webkit-transition-duration: 0.8s;
    transition-duration: 0.8s;
    -moz-transition-timing-function: ease-in;
    -o-transition-timing-function: ease-in;
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
}

.grow img:hover {
    -moz-transform: scale(1.02, 1.02);
    -ms-transform: scale(1.02, 1.02);
    -webkit-transform: scale(1.02, 1.02);
    transform: scale(1.02, 1.02);
    -moz-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

.mcf {
    *zoom: 1;
}

.mcf:before,
.mcf:after {
    content: " ";
    display: table;
    clear: both;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.txtL {
    text-align: left;
}

.txtR {
    text-align: right;
}

.txtC {
    text-align: center;
}

.btn-circle {
    width: 30px;
    height: 30px;
    text-align: center;
    padding: 6px 0;
    font-size: 12px;
    line-height: 1.428571429;
    border-radius: 15px;
}

.btn-circle.btn-xl {
    width: 70px;
    height: 70px;
    padding: 10px 16px;
    font-size: 24px;
    line-height: 1.33;
    border-radius: 35px;
}

/****************************************

    共通パーツ

*****************************************/
body {
    background-color: #faeed9;
    counter-reset: ArticleNumber 0;
    counter-reset: StrategyNumber 0;
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#head {
    background-color: #fff;
    overflow: hidden;
    padding: 10px 0;
    width: 100%;
}

#head h1 {
    float: left;
    margin-left: 5%;
    width: 10%;
}

.container {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0px;
    padding-right: 0px;
    width: 100%;
}

#scene1 {
    width: 100%;
}

.keyimg {
    height: 643px;
    width: 100%;
}

/* --- 背景の指定 ------------------------------------------- */
.keyimg .bgImg {
    position: absolute;
    top: 90px;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    animation: bgAnime 15s infinite;
}

.keyimg .src1 {
    background-image: url(../img/mainimg.png);
    background-position: top center;
    background-repeat: no-repeat;
    height: 630px;
}

.keyimg .src2 {
    background-image: url(../img/mainimg2.png);
    background-position: top center;
    background-repeat: no-repeat;
    animation-delay: 2.5s;
    height: 630px;
}

.keyimg .src3 {
    background-image: url(../img/mainimg3.png);
    background-position: top center;
    background-repeat: no-repeat;
    animation-delay: 5s;
    height: 630px;
}

.keyimg .src4 {
    background-image: url(../img/mainimg4.png);
    background-position: top center;
    background-repeat: no-repeat;
    animation-delay: 7.5s;
    height: 630px;
}

.keyimg .src5 {
    background-image: url(../img/mainimg5.png);
    background-position: top center;
    background-repeat: no-repeat;
    animation-delay: 10s;
    height: 630px;
}

.keyimg .src6 {
    background-image: url(../img/mainimg6.png);
    background-position: top center;
    background-repeat: no-repeat;
    animation-delay: 12.5s;
    height: 630px;
}

@keyframes bgAnime {
    0% {
        opacity: 0;
    }

    5% {
        opacity: 1;
    }

    16.6% {
        opacity: 1;
    }

    21.6% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.keyimg .title {
    margin: -40px auto 0;
    width: 740px;
}

.keyimg .title img {
    width: 100%;
}

.keyimg .fukidasi1 {
    animation-delay: 0.5s;
    //2秒遅延して実行  bottom: 0px;
    left: -850px;
    margin: 0 auto;
    position: absolute;
    right: 0px;
    top: 50px;
}

.keyimg .fukidasi2 {
    animation-delay: 1s;
    //2秒遅延して実行  bottom: 0px;
    left: 1000px;
    margin: 0 auto;
    position: absolute;
    right: 0px;
    top: 50px;
}

.keyimg .fukidasi3 {
    animation-delay: 1.5s;
    //2秒遅延して実行  bottom:0px;
    left: 800px;
    margin: 0 auto;
    position: absolute;
    right: 0px;
    top: 250px;
}

.period {
    background-color: #009ce7;
    color: #fff;
    padding: 18px 0 18px 0;
    margin: 0px 0 0 0;
}

.period .schedule {
    font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 30px;
    font-weight: bolder;
    line-height: 1.25;
}

.btn-sns {
    color: #fff;
    display: inline-block;
    letter-spacing: -0.4em;
    margin: 10px 0 0 0;
    text-align: center;
    width: 100%;
    position: relative;
    z-index: 99;

}

.btn-sns li {
    display: inline-block;
    font-size: 24px;
    font-weight: bolder;
    letter-spacing: normal;
    margin: 10px;
    padding: 20px 0px;
    width: 300px;
}

.btn-sns li a {
    color: #fff;
}

.btn-sns .btnFb {
    background-color: #305097;
}

.btn-sns .btnTw {
    background-color: #00acee;
}

h2.secTitle {
    color: #000;
    font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 60px;
    margin: 30px auto;
    font-weight: bold;
    max-width: 600px;
    width: 90%;
}

h2.secTitle img {
    width: 100%;
}

h3.subTitle {
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-size: 36px;
    font-weight: bold;
    margin: 30px 0;
}

#scene2 {
    margin: 0 auto 100px;
}

#scene2 .note {
    font-size: 20px;
    margin: 0px auto 50px;
    max-width: 900px;
    width: 90%;
}

#scene2 .rousi {
    float: left;
}

#scene2 .boxTxt {
    margin: 0 auto;
    max-width: 800px;
    width: 80%;
}

#scene2 .meta {
    background-color: #009ce7;
    color: #fff;
    float: right;
    font-size: 24px;
    font-weight: bold;
    margin: 0 auto;
    max-width: 600px;
    padding: 80px 0px;
    width: 100%;
}

#scene2 .meta span {
    font-size: 20px;
}

#scene2 .meta p {
    line-height: 1.25;
    margin-top: 25px;
}

#scene2 .meta p a:hover {
    color: #fff;
    text-decoration: underline;
}

#scene2 .meta p a:visited {
    color: #fff;
}

#scene2 .dojo2018 {
    margin: 0 auto;
    width: 90%;
    max-width: 524px;
}

#scene2 .dojo2018 a:hover {
    opacity: 0.7;
}

#scene2 .dojo2018 img {
    width: 100%;
}

.btnEntry a {
    color: #fff;
}

.btnEntry {
    background-color: #F3F1F1;
    color: #009ce7;
    display: inline-block;
    font-size: 24px;
    font-weight: bolder;
    letter-spacing: normal;
    margin: 25px;
    opacity: 0.3;
    padding: 20px 0px;
    width: 80%;
}

.link {
    background-color: #f5f5f5;
    margin: -30px 0 0px 0;
    padding: 10px 0px 10px 0px;
    width: 100%;
}

#scene3 {
    width: 90%;
    max-width: 900px;
    margin: 0 auto 100px;
}

#scene3 h3.subTitle {
    color: #000;
    font-family: 'Montserrat', sans-serif;
    font-size: 36px;
    font-weight: bold;
    margin: 30px 0;
}

#scene3 .table {
    background-color: #fff;
    border: solid 3px #009ce7;
    font-size: 20px;
    width: 100%;
}

.table>thead>tr>th,
.table>tbody>tr>th,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>tbody>tr>td,
.table>tfoot>tr>td {
    border-top: none;
    padding: 16px 16px 8px 16px;
}

#scene3 .day2 {
    border-top: solid 1px #009ce7;
}

#scene3 .last {
    padding-bottom: 24px;
}

#scene3 td {
    border-top: none;
    position: relative;
    margin: 10px;
    padding-left: 9em;
}

#scene3 td .subhead {
    display: block;
    position: absolute;
    left: 0;
    color: #009ce7;
    font-weight: bold;
}

#scene4 {
    width: 90%;
    max-width: 900px;
    margin: 0 auto 100px;
}

#scene4 li:before {
    content: '';
    width: 6px;
    height: 6px;
    display: inline-block;
    border-radius: 100%;
    background: #009ce7;
    position: relative;
    left: -15px;
    top: -3px;
}

#scene4 .list-disc li {
    font-size: 20px;
    line-height: 2em;
}

#scene5 {
    width: 90%;
    max-width: 900px;
    margin: 0 auto 100px;
}

#scene5 .note {
    font-size: 20px;
    line-height: 2em;
    margin-bottom: 25px;
}

#scene5 .box-notice {
    margin: 20px 0;
    padding: 40px;
    background: #ddd;
}

#scene5 .box-notice .subhead {
    text-align: center;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
}

#scene5 .box-notice .notice {
    text-align: center;
    font-size: 16px;
    font-size: 1.6rem;
}

#scene5 .box-notice .notice-red {
    text-align: center;
    font-size: 16px;
    font-size: 1.6rem;
    color: rgb(255, 0, 0);
}

.notice-red {
    font-size: 1.6rem;
    color: rgb(255, 0, 0);
}

#scene5 .entry-btn {
    padding: 35px 10px;
    text-align: center;
    background: #fff;
    font-size: 0;
    box-sizing: border-box;
    border: solid 3px #009ce7;
}

.square_btn {
    /* background-image: -webkit-linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%); */
    /* background-image: linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%); */
    background-image: #777;

    background-color: #ccc;
    border-radius: 25px;
    color: #fff;
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    margin: 10px 0px 20px 0px;
    padding: 7px 7%;
    text-decoration: none;
    transition: .4s;
}

.square_btn:hover {
    /* background-image: -webkit-linear-gradient(45deg, #FFC107 0%, #f76a35 100%); */
    /* background-image: linear-gradient(45deg, #FFC107 0%, #f76a35 100%); */
    background-image: #777;
    color: #fff;
}

.no-links {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}

.home {
    margin: 20px auto 10px;
    max-width: 360px;
    width: 90%;
}

.home img {
    width: 100%;
}

.home img:hover {
    filter: alpha(opacity=60);
    opacity: 0.6;
}

.footer {
    background-color: #fff;
    color: #000;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 auto;
    padding: 5px 0px;
    width: 100%;
}

@media only screen and (max-width: 767px) {

    /* ----------------------------------------------------------------
  	767px以下
  ----------------------------------------------------------------- */
    .hidden-xs {
        display: none;
    }

    #caption {
        color: #000;
        font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        font-size: 14px;
        font-weight: bolder;
        line-height: 1.5;
        padding: 10px;
    }

    .btn-sns li {
        display: inline-block;
        font-size: 16px;
        margin: 0 0 5% 0;
        padding: 20px 0px;
        width: 90%;
    }

    body.dojo .keyimg {
        background: url(../img/mainimg_sp.png) no-repeat top center;
        margin: 10px 0 0 0;
        height: 455px;
        width: 100%;
    }

    .keyimg .title {
        margin: 0 auto;
        width: 90%;
    }

    body.dojo .keyimg .title img {
        width: 100%;
    }

    body.dojo .keyimg .fukidasi1 {
        display: none;
    }

    body.dojo .keyimg .fukidasi2 {
        display: none;
    }

    body.dojo .keyimg .fukidasi3 {
        display: none;
    }

    body.dojo #scene1 {
        margin-bottom: 0px;
    }

    body.dojo .period {
        font-size: 22px;
    }

    body.dojo .txtS {
        line-height: 1.25;
    }

    body.dojo .period .caption {
        font-weight: normal;
        margin: 0 5%;
    }

    body.dojo .btn-sns {}

    body.dojo .btn-sns li {
        margin: 5% 5% 0% 5%;
    }

    body.dojo h2.secTitle {
        font-size: 36px;
    }

    body.dojo #scene2 .meta {
        font-size: 22px;
        margin-top: 20px;
    }

    body.dojo .btnEntry {
        font-size: 20px;
        width: 90%;
    }

    body.dojo .square_btn {
        padding: 7px 27%;
    }

    /* ----------------------------------------------------------------
  	0208追記
  ----------------------------------------------------------------- */

    body.dojo #scene2 .note {
        font-size: 16px;
    }

    #scene3 h3.subTitle {
        font-size: 24px;
        font-weight: bold;
    }

    #scene3 .table {
        background-color: #fff;
        border: solid 3px #009ce7;
        font-size: 12px;
    }

    .table>thead>tr>th,
    .table>tbody>tr>th,
    .table>tfoot>tr>th,
    .table>thead>tr>td,
    .table>tbody>tr>td,
    .table>tfoot>tr>td {
        border-top: none;
        padding: 16px 16px 8px 16px;
    }

    #scene3 .day2 {
        border-top: solid 1px #009ce7;
    }

    #scene3 .last {
        padding-bottom: 24px;
    }

    #scene3 td {
        border-top: none;
        position: relative;
        margin: 10px;
        padding-left: 9em;
    }

    #scene3 td .subhead {
        display: block;
        position: absolute;
        left: 0;
        color: #009ce7;
        font-weight: bold;
    }

    #scene4 h3.subTitle {
        font-size: 24px;
    }

    #scene4 li:before {
        content: '';
        width: 6px;
        height: 6px;
        display: inline-block;
        border-radius: 100%;
        background: #009ce7;
        position: relative;
        left: -15px;
        top: -3px;
    }

    #scene4 .list-disc li {
        font-size: 16px;
        line-height: 1.6em;
    }

    #scene5 {
        width: 90%;
        max-width: 900px;
        margin: 0 auto 100px;
    }

    #scene5 h3.subTitle {
        font-size: 24px;
    }

    #scene5 .note {
        font-size: 20px;
        line-height: 2em;
        margin-bottom: 25px;
    }

    #scene5 .entry-btn {
        padding: 35px 10px;
        text-align: center;
        background: #fff;
        font-size: 0;
        box-sizing: border-box;
        border: solid 3px #009ce7;
    }

    .square_btn {
        /* background-image: -webkit-linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%); */
        /* background-image: linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%); */
        background-image: #777;
        border-radius: 25px;
        color: #fff;
        display: inline-block;
        font-size: 16px;
        font-weight: bold;
        margin: 10px 0px 20px 0px;
        padding: 7px 7%;
        text-decoration: none;
        transition: .4s;
    }
}

.sponsor-title {
    padding: 0.5em !important;
    color: #010101 !important;
    background: #ffe601 !important;
    border-bottom: solid 3px #333 !important;
    border-top: solid 3px #333 !important;
    text-align: center !important;
    max-width: 80% !important;
    margin: 0 auto !important;
    font-size: 120%;
}

.sponsor-area {
    text-align: center;
}

.sponsor-image {
    max-height: 140px;
    margin: 0 auto;
}

.sponsor-image-mizuki {
    max-height: 120px;
    margin: 0 auto;
}

.sponsor-image-coop {
    max-height: 90px;
    margin: 0 auto;
}

/* ----------------------------------------------------------------
  	スポンサー
  ----------------------------------------------------------------- */
.sec-sponsor {
    width: 100%;
    margin: 0px auto;
    padding-top: 100px;
    background-color: #fff;
}

.sec-sponsor h3 {
    margin-bottom: 30px;
    text-align: center;
    font-size: 30px;
    font-size: 3rem;
}

.sec-sponsor .outer {
    padding: 10px;
    background-color: #fff;
    max-width: 1100px;
    margin: 0 auto;
}

.sec-sponsor .box {
    padding: 20px 20px 20px 20px;
    background-color: #fff;
}

.sec-sponsor .box h4 {
    margin-top: 10px;
    padding: 20px;
    background-color: #fff;
}

.sec-sponsor .box dl {
    border-bottom: 1px solid #ccc;
}

.sec-sponsor .box dl:last-child {
    border: none;
}

.sec-sponsor .box dl dt {
    float: left;
    width: 140px;
    padding-top: 10px;
}

.sec-sponsor .box dl dd {
    padding-top: 10px;
    margin-left: 0;
    padding-left: 140px;
}

.sec-sponsor .box dl dd:last-child {
    background: none;
}

.sec-sponsor .box dl dd div {
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.sec-sponsor .box dl dd div a {
    display: inline-block;
    margin-bottom: 3px;
}

@media only screen and (max-width: 767px) {
    .sec-sponsor h3 {
        margin-bottom: 20px;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: bold;
        font-family: 'YuGothic', 'Yu Gothic', '游ゴシック体', '游ゴシック', sans-serif;
        text-align: center;
    }

    .sec-sponsor .outer {
        width: 100%;
        margin: 10px auto 0px auto;
        padding: 0px;
        background-color: #f5f5f5;
    }

    .sec-sponsor .box {
        padding: 20px;
        background-color: #fff;
    }

    .sec-sponsor .box h4 {
        margin-top: 10px;
        padding: 20px;
        background-color: #fff;
    }

    .sec-sponsor .box dl {
        border-bottom: 1px solid #ccc;
    }

    .sec-sponsor .box dl:last-child {
        border: none;
    }

    .sec-sponsor .box dl dt {
        float: none;
        width: auto;
        text-align: center;
        padding-top: 20px;
    }

    .sec-sponsor .box dl dd {
        margin-left: 0;
        padding-left: 0;
    }

    .sec-sponsor .box dl dd:last-child {
        background: none;
    }

    .sec-sponsor .box dl dd div {
        margin-bottom: 10px;
        padding-bottom: 10px;
        text-align: center;
    }
}

@media only screen and (max-width: 769px) {
    .hidden-sp {
        display: none;
    }
}

@media only screen and (min-width: 769px) and (max-width: 959px) {
    .hidden-sm {
        display: none;
    }
}

@media only screen and (min-width: 960px) and (max-width: 1099px) {
    .hidden-md {
        display: none;
    }
}

@media only screen and (min-width: 1100px) {
    .hidden-lg {
        display: none;
    }
}