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

html {
    line-height: 1
}

ol,
ul {
    list-style: none
}

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

caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle
}

q,
blockquote {
    quotes: none
}

q:before,
q:after,
blockquote:before,
blockquote:after {
    content: "";
    content: none
}

a img {
    border: none
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block
}

#archive .ttl {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background-repeat: no-repeat;
    background-size: contain
}

*,
*:before,
*:after {
    box-sizing: border-box
}

a {
    cursor: pointer !important
}

a.btn {
    margin: 0 auto 0;
    text-align: center
}

img {
    width: 100%;
    height: auto;
    vertical-align: bottom
}

html {
    height: 100%
}

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

body .contentwrap {
    margin-left: auto;
    margin-right: auto;
    max-width: 1216px
}

@media only screen and (min-width: 767px),
print {
    body {
        color: #28d;
        padding-left: 32px;
        padding-right: 32px
    }

    body .sp {
        display: none !important
    }

    body section,
    body footer > div {
        padding-top: 32px;
        padding-left: 32px;
        padding-right: 32px
    }
}
@media only screen and (min-width: 767px) and (max-width: 1023px),
print {

    body section,
    body footer > div {
        padding-left: 0px;
        padding-right: 0px
    }
}
@media only screen and (max-width: 767px) {
    body {
        color: #lineCol
    }

    body .pc {
        display: none !important
    }

    body section {
        min-width: 288px;
        margin-left: 16px;
        margin-right: 16px
    }
}

body {
    color: #666
}

body * {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif !important;
    font-feature-settings: "palt"
}

a {
    color: #28d;
    text-decoration: none
}

a:hover,
a:active,
a:focus {
    color: rgba(34, 136, 221, 0.8)
}

a.link {
    position: relative;
    padding-left: 10px
}

a.link:before {
    display: block;
    content: "";
    position: absolute;
    top: 3px;
    left: 1px;
    width: 0;
    height: 0;
    border: 4px solid transparent;
    border-left-color: #28d
}
@media only screen and (max-width: 767px) {
    body > div {
        font-size: 13px;
        font-size: .8125rem;
        line-height: 2em
    }

    body > div h2,
    body > div h3 {
        font-size: 16px;
        font-size: 1rem;
        line-height: 2em
    }

    body > div footer {
        font-size: 11px;
        font-size: .6875rem;
        line-height: 2em
    }
}
@media only screen and (min-width: 767px) and (max-width: 1023px),
print {
    body > div {
        font-size: 16px;
        font-size: 1rem;
        line-height: 2em
    }

    body > div h2,
    body > div h3 {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 2em
    }

    body > div footer {
        font-size: 12px;
        font-size: .75rem;
        line-height: 2em
    }
}
@media only screen and (min-width: 767px),
print {
    body > div {
        font-size: 14px;
        font-size: .875rem;
        line-height: 2em
    }

    body > div h2,
    body > div h3 {
        font-size: 16px;
        font-size: 1rem;
        line-height: 2em
    }

    body > div footer {
        font-size: 12px;
        font-size: .75rem;
        line-height: 2em
    }
}

.footnote {
    font-size: 0.7em;
    position: relative;
    bottom: 0.55em
}

.attention {
    font-size: 0.85em
}

a.btn {
    display: block;
    width: 240px;
    height: 40px;
    background-color: #1b6db1;
    line-height: 36px;
    border-radius: 8px;
    color: #fff !important;
    text-decoration: none
}

a.btn span {
    display: block;
    height: 36px;
    background-color: #28d;
    border-radius: 8px
}

a.btn:hover {
    margin-top: 4px;
    height: 36px;
    overflow: hidden;
    background-color: transparent
}

.sns {
    line-height: 1.0em
}

.fb_iframe_widget {
    line-height: 1.0em
}

.fb_iframe_widget > span {
    vertical-align: baseline
}

body .contentwrap section .ttl {
    color: #28d
}

body .contentwrap section + section {
    border-top: 1px solid #28d
}

@media only screen and (min-width: 767px),
print {
    body .contentwrap section .ttl {
        padding: 0 0 8px;
        width: 100%;
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 2em
    }

    body .contentwrap section .wrap {
        padding-bottom: 48px
    }
}

@media only screen and (max-width: 767px) {
    body .contentwrap section .ttl {
        font-size: 15px;
        font-size: .9375rem;
        line-height: 2em;
        margin: 32px 0 16px
    }

    body .contentwrap section .wrap {
        padding-bottom: 32px
    }
}

#top {
    position: relative;
    padding: 24px 0 0
}

@media only screen and (min-width: 767px),
print {
    #top h1 {
        padding-bottom: 24px
    }

    #top h1 a {
        display: inline-block
    }

    #top h1 img,
    #top h1 svg {
        height: 48px;
        width: auto
    }

    #top .organized-by {
        position: absolute;
        top: 32px;
        right: 0;
        height: 88px
    }

    #top .organized-by img {
        height: 32px;
        width: auto;
        margin-left: 16px
    }
}

@media only screen and (max-width: 767px) {
    #top {
        padding: 16px 16px 0
    }

    #top h1 {
        padding-bottom: 12px
    }

    #top h1 img {
        height: 31px;
        width: 150px
    }

    #top .organized-by {
        position: absolute;
        right: 16px;
        top: 16px;
        height: 28px
    }

    #top .organized-by a + a {
        margin-left: 8px
    }

    #top .organized-by img {
        height: 28px;
        width: auto
    }

    #top nav {
        margin-bottom: 8px
    }
}

/*-------------------------------------*/
#about .note {
    margin-top: 24px;
    padding: 24px;
    box-sizing: border-box;
    border: 2px solid #eee;
    font-size: smaller;
    line-height: 1.6em
}
#about .note ul {
    padding-bottom: 16px
}
#about .note ul li {
    display: inline-block
}
#about .note ul li + li {
    margin-left: 16px
}
#about .note ul a {
    height: 32px
}
#about .note ul img {
    width: auto;
    vertical-align: middle;
    line-height: 32px
}
#about .note ul .umi-nippon-project img {
    height: 32px
}
#about .note ul .umisakura img {
    height: 20px
}

#about .inwrap {display:flex; justify-content:space-between;}
#about .inwrap .txt-box {flex:1;}
#about .inwrap .bnr-box {margin-left:30px; width:100%; max-width:278px;}
#about .inwrap .bnr-box .imageholder.imageholder_map {border:1px solid #e7e7e7;}
#about .inwrap .bnr-box .imageholder:not(:last-child) {margin-bottom:18px;}
#about .inwrap .bnr-box .imageholder a {display:block;}
#about .inwrap .bnr-box .imageholder a:hover {opacity:.7;}
@media only screen and (max-width: 767px) {
    #about .inwrap {flex-direction:column;}
    #about .inwrap .bnr-box {margin:20px auto 0; max-width:100%; display:flex; justify-content:space-between;}
    #about .inwrap .bnr-box .imageholder {width:32%;}
    #about .inwrap .bnr-box .imageholder:not(:last-child) {margin-bottom:0;}
}
@media only screen and (max-width: 500px) {
    #about .inwrap .bnr-box {flex-direction:column;}
    #about .inwrap .bnr-box .imageholder {width:100%;}
    #about .inwrap .bnr-box .imageholder:not(:last-child) {margin-bottom:15px;}
}

#footer .outlinks {padding-bottom:32px;}
#footer .outlinks .bnr-box {display:flex;}
#footer .outlinks .bnr-box .imageholder {width:100%; max-width:278px;}
#footer .outlinks .bnr-box .imageholder:not(:last-child) {margin-right:20px;}
#footer .outlinks .bnr-box .imageholder.imageholder_map {border:1px solid #e7e7e7;}
#footer .outlinks .bnr-box .imageholder a {display:block;}
#footer .outlinks .bnr-box .imageholder a:hover {opacity:.7;}
@media only screen and (max-width: 767px) {
    #footer .outlinks {padding:32px 0 24px;}
    #footer .outlinks .bnr-box .imageholder:not(:last-child) {margin-right:10px;}
}
@media only screen and (max-width: 500px) {
    #footer .outlinks {padding:24px 0 24px;}
    #footer .outlinks .bnr-box {flex-direction:column;}
    #footer .outlinks .bnr-box .imageholder {max-width:100%;}
    #footer .outlinks .bnr-box .imageholder:not(:last-child) {margin:0 0 20px;}
}



@media only screen and (min-width: 767px),
print {
    #about {
        padding-bottom: 48px
    }
    #about.bnr-off .about {
        width: 100%
    }
    #about.bnr-off .wrap {
        padding-bottom: 0
    }
    #about.bnr-on {
        display: flex;
        justify-content: space-between
    }
    #about.bnr-on .about {
        width: calc(100% - 332px)
    }
    #about.bnr-on .wrap {
        padding-bottom: 0
    }
    #about.bnr-on .bnr figure {
        width: 300px
    }
    #about.bnr-on .bnr figure > * {
        display: block
    }
    #about.bnr-on .bnr figure > *:nth-child(n+2) {
        padding-top: 16px
    }
    #about.bnr-on .bnr figure a:hover {
        opacity: .7
    }
    #about.bnr-on .bnr figure img {
        width: 100%;
        height: auto
    }
    #about.bnr-on .bnr figure .bdr img {
        border: 1px solid #ddd
    }
    #about.bnr-on .ttl .l {display: none}
    #about.bnr-on .ttl .m {display: block}
    #about.bnr-off .ttl .m {display: none}
    #about.bnr-off .ttl .l {display: block}
    #about .ttl .s {display: none}
    #about .ttl + .wrap {padding-top: 16px}
}
@media only screen and (min-width: 767px) and (max-width: 1023px),
print {
    #about.bnr-on .ttl .m,
    #about.bnr-on .ttl .l {display: none}
    #about.bnr-on .ttl .s {display: block}
    #about.bnr-off .ttl .l {display: none}
    #about.bnr-off .ttl .m {display: block}
    #about .ttl + .wrap {padding-top: 16px}
}

@media only screen and (max-width: 767px) {
    #about .ttl .m,
    #about .ttl .l {display: none}
    #about .ttl .s {display: block}
    #about p {
        padding: 0;
        line-height: 2.2
    }
    #about p + p {
        margin-top: 8px
    }
    #about .bnr figure {
        padding-bottom: 32px
    }
    #about .bnr figure > * {
        padding-top: 16px;
        display: block
    }
    #about .bnr figure > *:nth-child(1) {
        padding-top: 0
    }
}
/*-------------------------------------------------------------*/

#archive .ttl {
    position: relative;
    background-image: url(../img/h2_230710.png)
}

#archive .wrap > [id^="y20"] {
    border-top: 1px dotted #aaa
}

#archive .wrap > [id^="y20"] > h3 {
    color: #aaa
}

#archive .wrap > [id^="y20"] > h3 i.icon-arrow2-bottom {
    font-size: .8em;
    display: inline-block;
    transition-duration: .3s
}

#archive .wrap > [id^="y20"] > h3.is-open i.icon-arrow2-bottom {
    transform: rotate(-180deg);
    transition-duration: .3s
}

#archive .wrap .inner {
    display: flex;
    flex-wrap: wrap
}

#archive .wrap .btnWrap {
    margin-top: 8px;
    font-size: 13px;
    font-size: .8125rem;
    line-height: 2em
}

@media only screen and (min-width: 767px),
print {
    #archive .ttl {
        background-position: 0 -24px;
        background-size: 235px 48px;
        height: 24px;
        margin-bottom: 24px
    }

    #archive .ttl ul {
        left: 243px;
        bottom: 0
    }

    #archive .ttl ul,
    #archive .ttl li,
    #archive .ttl a {
        line-height: 1em;
        height: 1em
    }

    #archive i.icon-blank,
    #archive i.icon-youtube {
        margin-left: 4px
    }

    #archive .wrap > [id^="y20"] {
        padding: 8px 0
    }

    #archive .wrap > div > h3 {
        margin-bottom: 4px;
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 2em
    }

    #archive .wrap .all,
    #archive .wrap .event {
        width: 31%;
        margin-right: 3.5%
    }

    #archive .wrap .all:nth-child(3n),
    #archive .wrap .event:nth-child(3n) {
        margin-right: 0
    }

    #archive .wrap .all > div,
    #archive .wrap .event > div {
        width: 100%
    }

    #archive .wrap .all .btnWrap a,
    #archive .wrap .event .btnWrap a {
        margin-right: 16px
    }

    #archive .wrap #y2016 .inner div {
        padding-bottom: 0
    }
}

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

    #archive i.icon-blank,
    #archive i.icon-youtube {
        margin-left: 8px
    }

    #archive .ttl {
        background-position: left -21.8px;
        background-size: auto 43.6px
    }

    #archive .ttl ul {
        top: 28px;
        left: 0
    }

    #archive .ttl ul li:first-of-type {
        margin-left: 0
    }

    #archive .wrap {
        flex-direction: column
    }

    #archive .wrap > [id^="y20"] {
        padding: 20px 0
    }

    #archive .wrap h3 {
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 2em;
        line-height: 1
    }

    #archive .wrap .inner {
        display: flex;
        flex-direction: column
    }

    #archive .wrap .inner .all,
    #archive .wrap .inner .event {
        width: 100%;
        padding: 16px 0 0
    }

    #archive .wrap #y2016 .inner {
        padding-bottom: 0
    }
}

#organizer h2 {
    margin-bottom: 24px;
    color: #28d;
    font-size: 1.5em;
    font-weight: bold
}

#organizer .wrap {
    display: flex
}

#organizer .wrap figure {
    display: inline-block;
    padding-bottom: 20px
}

#organizer .wrap figure img {
    width: auto
}

#organizer .wrap p + a {
    display: inline-block;
    margin-top: .6em
}

#organizer .wrap .umisakura img {
    height: 24px
}

#organizer .wrap .umi-nippon-project img {
    height: 32px
}

@media only screen and (min-width: 767px),
print {
    #organizer .wrap {
        justify-content: center;
        align-items: stretch
    }

    #organizer .wrap .umisakura,
    #organizer .wrap .umi-nippon-project {
        position: relative;
        width: calc(50% - 24px)
    }

    #organizer .wrap .umisakura figure a img,
    #organizer .wrap .umi-nippon-project figure a img {
        width: auto
    }

    #organizer .wrap .umi-nippon-project {
        margin-left: 48px
    }
}

@media only screen and (max-width: 767px) {
    #organizer h2 {
        margin-top: 32px
    }

    #organizer .wrap {
        flex-direction: column
    }

    #organizer .wrap p {
        padding-bottom: 16px
    }

    #organizer .wrap .umi-nippon-project {
        width: 100%;
        margin-top: 32px;
        border-top: 1px dotted #888;
        padding-top: 32px
    }

    #organizer .wrap .umisakura {
        width: 100%
    }
}

footer .wrap {
    max-width: 1216px;
    margin-left: auto;
    margin-right: auto;
    border-top: 1px solid #28d
}

footer .bluesanta {
    display: flex;
    flex-wrap: wrap
}

footer .bluesanta * {
    vertical-align: bottom
}

footer .bluesanta h1 a {
    display: block
}

footer .bluesanta .nav li {
    display: inline-block
}

footer .bluesanta .nav li a {
    display: inline-block;
    border-left: 2px solid #28d;
    padding: 0 1em 0 .8em;
    color: #666;
    line-height: 1em
}

footer .bluesanta .bnr {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px dotted #28d
}

footer .bluesanta .bnr li {
    display: inline-block
}

footer .bluesanta .bnr li * {
    display: inline-block
}

footer .bluesanta .bnr .bdr img {
    border: 1px solid #ccc
}

footer .sign {
    font-size: 12px;
    font-size: .75rem;
    line-height: 2em
}

footer .copyright {
    background-color: #fff;
    text-align: center;
    font-size: 12px;
    font-size: .75rem;
    line-height: 2em
}

footer .copyright a {
    color: #666
}

@media only screen and (min-width: 767px),
print {
    footer .bluesanta {
        justify-content: flex-start;
        padding: 32px 0
    }

    footer .bluesanta h1 {
        padding-left: 32px
    }

    footer .bluesanta h1 a svg,
    footer .bluesanta h1 a img {
        width: 186.4px;
        height: 38.4px
    }

    footer .bluesanta .nav {
        margin: 0 32px
    }

    footer .bluesanta .nav li {
        font-size: 13px;
        font-size: .8125rem;
        line-height: 2em
    }

    footer .bluesanta .bnr {
        padding-left: 32px;
        padding-right: 32px
    }

    footer .bluesanta .bnr li {
        width: 30%;
        max-width: 320px;
        margin-right: 3%
    }

    footer .bluesanta .bnr li:nth-child(n+4) {
        margin-top: 16px
    }

    footer .sign {
        margin: 0 auto 0;
        padding: 24px 32px
    }

    footer .sign dl {
        display: inline-block
    }

    footer .sign dl dt {
        display: inline-block;
        line-height: 32px
    }

    footer .sign dl dd {
        line-height: 32px;
        margin-left: 16px;
        display: inline-block;
        padding-bottom: 4px
    }

    footer .sign dl dd img {
        height: 24px;
        width: auto;
        line-height: 24px;
        vertical-align: middle
    }

    footer .sign .organized-by a img,
    footer .sign .organized-with a img {
        width: auto;
        vertical-align: middle
    }

    footer .sign .organized-by .umisakura,
    footer .sign .organized-with .umisakura {
        width: 146px
    }

    footer .sign .organized-by .umisakura img,
    footer .sign .organized-with .umisakura img {
        height: 24px
    }

    footer .sign .organized-by .umi-nippon-project,
    footer .sign .organized-with .umi-nippon-project {
        width: 86.5px
    }

    footer .sign .organized-by .umi-nippon-project img,
    footer .sign .organized-with .umi-nippon-project img {
        height: 32px
    }

    footer .sign .organized-with,
    footer .sign .planning-and-management {
        padding-left: 32px
    }

    footer .sign .suport,
    footer .sign .special-suport {
        position: relative;
        display: block;
        width: 100%;
        padding-top: 12px
    }

    footer .sign .suport dt,
    footer .sign .special-suport dt {
        position: absolute;
        left: 0
    }

    footer .sign .suport {
        padding-left: 48px
    }

    footer .sign .special-suport {
        padding-left: 64px
    }

    footer .copyright {
        padding: 8px
    }
}

@media only screen and (min-width: 767px) and (max-width: 1023px),
print {
    footer .bluesanta {
        padding: 32px 0
    }

    footer .sign {
        padding: 24px 0
    }
}

@media only screen and (max-width: 767px) {
    footer {
        margin-left: 16px;
        margin-right: 16px;
        text-align: center
    }

    footer .bluesanta {
        flex-direction: column;
        justify-content: center;
        padding: 32px 0 24px
    }

    footer .bluesanta h1 a {
        margin: 0 auto 0
    }

    footer .bluesanta h1 a img {
        width: 180px;
        height: 36px
    }

    footer .bluesanta .nav {
        padding-top: 12px
    }

    footer .bluesanta .nav li:nth-child(n+1) {
        padding-top: 1em
    }

    footer .bluesanta .nav li a {
        font-size: 13px;
        font-size: .8125rem;
        line-height: 2em;
        line-height: 1;
        border-left: none;
        color: #28d
    }

    footer .bluesanta .bnr {
        flex-direction: column;
        border-top: none;
        padding-top: 0
    }

    footer .bluesanta .bnr li + li {
        margin-top: 16px
    }

    footer .sign {
        padding: 0 8px 24px
    }

    footer .sign dl dt {
        padding: 24px 0 12px
    }

    footer .sign dl dd {
        display: inline-block
    }

    footer .sign dl dd:nth-of-type(n+2) {
        margin-left: 24px
    }

    footer .sign dl dd img {
        padding-top: 8px;
        padding-bottom: 8px;
        height: 40px;
        width: auto;
        vertical-align: middle
    }

    footer .sign dl .umi-nippon-project img {
        height: 48px
    }

    footer .sign .planning-and-management {
        line-height: 2em
    }

    footer .sign .planning-and-management dt {
        padding-bottom: 0
    }

    footer .sign .planning-and-management dd {
        padding-top: 0
    }

    footer .copyright {
        padding: 8px
    }
}
