@charset "utf-8";

/* 
    Theme Name: 情報オリンピック
    Description: ioi japan
    Theme URI: 
    Author: JoJo
    Version: 0.1
*/

* {
    margin: 0;
    padding: 0;
}

img {
    display: block;
    max-width: 100%;
}

ul {
    font-size: 0;
    padding: 0;
}

ul li,
ol li {
    font-size: initial;
    list-style-type: none;
}

a {
    color: #000;
}

a:hover {
    color: #000;
    text-decoration: none;
}

a:link {
    color: #000;
    text-decoration: none;
}

.clearfix::after {
    display: block;
    clear: both;
    content: "";
}

.pc-hide {
    display: none;
}

.slick-slide img.pc-hide {
    display: none;
}

.slick-slide.sp-hide {
    display: none;
}

.category {
    color: #fff;
    padding: 0 28px;
}

.pr {
    background-color: #ffbd00;
    letter-spacing: .5em;
    text-indent: .5em;
}

.news {
    background-color: #00bd64;
}

.sponsor {
    background-color: #006cb9;
    letter-spacing: .5em;
    text-indent: .5em;
}

.prompt-report {
    background-color: #e50039;
    letter-spacing: .5em;
    text-indent: .5em;
}

.out-link a {
    color: #e50039;
    text-decoration: underline;
}

a.outline {
    color: #e50039;
    text-decoration: underline
}

.eyecatch {
    background-position: center;
    background-repeat: no-repeat;
    height: 200px;
    background-size: cover;
}

a.tba {
    color: #f1f1f1;
    pointer-events: none;
}

body.top {
    background-color: #f1f1f1;
}

header {
    background-color: #fff;
    position: relative;
}

header #header {
    position: relative;
    padding: 15px 2.5%;
    box-sizing: content-box;
}

header #header .h1 {
    width: 660px;
    float: left;
    position: relative;
    margin-bottom: 0;
}

header #header .h1 .logo img {
    width: 80px;
    height: auto;
    margin-right: 20px;
}

header #header .h1 h1 {
    font-size: 26px;
    padding: 15px 0;
    line-height: 1;
    font-weight: 700;
    margin: 0;
}

header #header .h1 h1 span {
    font-size: 18px;
    font-weight: 450;
}

header #header .h1 p {
    font-size: 26px;
    padding: 15px 0;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 0;
}

header #header .h1 p span {
    font-size: 18px;
}

header #header .h1 div {
    float: left;
}

header #header .h1 p span {
    font-size: 18px;
    font-weight: 450;
}

header #header .sns-sponsor {
    margin-top: 30px;
    float: right;
}

header #header .m-fb {
    position: absolute;
    left: 33%;
    top: 55%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

header #header .fb-btn {
    width: 30px;
}

header #header .m-fb .fb-btn-on {
    display: none;
}

header #header .m-fb:hover .fb-btn {
    display: none;
}

header #header .m-fb:hover .fb-btn-on {
    display: block;
    width: 30px;
}

header #header .tw-b {
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translate(100%, -50%);
    width: 135px;
    display: flex;
    justify-content: space-between;
}

header #header .tw-btn {
    width: 35px;
}
@media screen and (max-width: 1024px) {
    header #header .tw-b {
        width: 110px;
    }
    header #header .tw-btn {
        width: 30px;
    }
}
header #header .tw-btn:hover {
    opacity: .6;
}


header #header .sns-sponsor .acer-logo {
    float: left;
    height: 60px;
    margin: 5px;
    margin-left: 20px;
}

header #menu {
    background-color: #fff;
    border-top: 1px solid #b9b9b9;
    border-bottom: 1px solid #b9b9b9
}

header #menu>ul {
    margin: 0;
    display: table;
    width: 100%;
    margin: auto;
    position: relative;
    max-width: 1200px;
}

header #menu>ul>li {
    display: table-cell;
    font-size: 12px;
    width: auto;
    text-align: center;
    transition: all .4s ease-in-out;
    width: 12.5%;
    vertical-align: middle;
    border-left: 1px solid #b9b9b9;
    line-height: 1;
    height: 60px;
}

header #menu>ul>li>a:hover {
    color: #fff;
    background-color: #e50039;
    transition: all .2s ease-in-out;
}

header #menu>ul>li:hover>a {
    color: #fff;
    background-color: #e50039;
    cursor: pointer;
}

header #menu>ul>li>a {
    padding: 0;
    line-height: 1.3;
    display: flex;
    font-size: 15px;
    font-weight: 700;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

header #menu>ul>li:last-of-type {
    border-right: 1px solid #b9b9b9;
}

header #menu>ul li.ltba:hover {
    background-color: #fff;
}

header #menu>ul li a:hover {
    text-decoration: none;
}

header #menu>ul li.ltba:hover>a {
    color: #f1f1f1;
}

header #menu>ul li div.down-menu {
    display: none;
    position: absolute;
    bottom: 0;
    color: #000;
    left: 0;
    width: 100%;
    z-index: 10;
    background-color: #fff;
    transform: translateY(100%);
    padding: 20px 60px;
    transition: all 0.5s;
}

header #menu>ul li:hover div.down-menu {
    border-bottom: 1px solid #c8c8c8;
    border-top: 5px solid #e50039;
    box-sizing: border-box;
}

header #menu>ul li div ul {
    font-size: 0;
}

header #menu>ul li div ul li a:hover {
    color: #e50039;
    transition: all .2s ease-in-out;
}

.slider01 img {
    width: 100%;
}
/*
.slider01 a:hover img {
    opacity: .8
}
*/
#news {
    background-color: #fff;
    padding: 35px 2.5% 0;
}

#news h1 {
    margin: 0 0 25px;
}

#news h2 {
    margin: auto;
    line-height: .8;
    text-align: center;
    margin-bottom: 25px;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
}

#news img {
    width: 100%;
    height: auto;
}

#news .news-content {
    width: 24.25%;
    height: auto;
    float: left;
    border: 1px solid #f1f1f1;
    margin-right: .5%;
    margin-bottom: 20px;
    overflow: hidden;
}

#news .news-content:hover {
    background-color: #fff;
    opacity: .75;
}

#news .news-content a {
    color: #000;
    display: block;
}

#news .news-content a:hover {
    color: #000;
}

#news .news-content:nth-of-type(4n) {
    margin-right: 0;
}

#news .news-content .news-card {
    padding: 0 7%;
    height: 165px;
    position: relative;
}

#news .news-content .news-card p {
    margin: 5px 0;
}

#news .news-content .news-card h3 {
    font-size: 18px;
    margin: 0;
}

#news .news-content .news-card .category {
    position: absolute;
    left: 7%;
    bottom: 0;
    color: #fff;
    padding: 0 28px;
    margin-bottom: 20px;
}

#news .news-content .news-card .pr {
    background-color: #ffbd00;
}

#news .news-content .news-card .news {
    background-color: #00bd64;
}

#news .news-content .news-card .sponsor {
    background-color: #006cb9;
}

#news .news-content .news-card .prompt-report {
    background-color: #e50039;
}

#news .news-content::after {
    display: block;
    clear: both;
    content: "";
}

#news .news-content .thumbnail {
    overflow: hidden
}

#news .news-lists {
    text-align: center;
    font-size: 18px;
    padding: 30px 0 35px;
}

#news .news-lists a {
    border-bottom: 1px solid;
}

#pick-up h2 {
    margin: 35px auto 25px;
    line-height: .8;
    text-align: center;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
}

#pick-up a {
    display: block;
    color: #000;
}


/*
#pick-up a:hover {
    color: #000;
    background-color: #fff;
    opacity: .75;
}
#pick-up .pick-up:hover {
    background-color: #fff;
    opacity: .75;
}
*/

#pick-up .pick-up-content {
    float: right;
    background-color: #fff;
    padding: 2.5%;
}

#pick-up .pick-up-1 {
    background: url(img/new2021/pickup_1.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

#pick-up .pick-up-1:hover {
    background-color: #fff;
    opacity: .75;
}

#pick-up .pick-up-1 .pick-up-content {
    width: 600px;
    height: 200px;
    float: right;
    margin: 115px auto;
    background-color: #fff;
}

#pick-up .pick-up-4 {
    background: url(img/pickup_4.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: calc(100% / 3);
    float: left;
    height: 300px;
}

#pick-up .pick-up-4 .pick-up-content {
    width: 220px;
    height: 120px;
    margin: 90px auto;
}

#pick-up .pick-up-4:hover {
    background-color: #fff;
    opacity: .75;
}

#pick-up .pick-up-3 {
    background: url(img/new2021/pickup_3n.jpg);
    background-size: auto 100%;
    background-repeat: no-repeat;
    width: calc(100% / 3);
    float: left;
    height: 300px;
}

#pick-up .pick-up-3 .pick-up-content {
    max-width: 100%;
    width: 320px;
    min-height: 140px;
    margin: 90px auto;
    float: right;
}

#pick-up .pick-up-3:hover {
    background-color: #fff;
    opacity: .75;
}

#pick-up .pick-up-6 {
    background: url(img/new2021/pickup_6.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: calc(100% / 3);
    float: left;
    height: 300px;
}

#pick-up .pick-up-6:hover {
    background-color: #fff;
    opacity: .75;
}

#pick-up .pick-up-6 .pick-up-content {
    width: 220px;
    height: 120px;
    margin: 90px auto;
}

#pick-up .pick-up-content h3 {
    font-size: 22px;
    color: #e50039;
    margin-top: 0;
}

#pick-up .pick-up-content h3 span {
    font-size: 16px;
}

#pick-up .pick-up-1 .pick-up-content h3 {
    font-size: 39px;
    line-height: 1;
}

#pick-up .pick-up-1 .pick-up-content h3 span {
    font-size: 22px;
}

#support {
    background-color: #fff;
    margin-top: 30px;
    padding-top: 35px;
    padding-bottom: 90px;
}

#support h2 {
    margin: 0 auto 75px;
    line-height: .8;
    text-align: center;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
}

#support div {
    margin: 0 5%;
}

#support div a {
    color: #006cb9;
}

#support div a:hover {
    color: #006cb9;
}

#support img.iabanner {
    width: 100%;
    padding-bottom: 60px;
}

#support div img {
    width: 36%;
    height: auto;
    float: left;
}

#support .fsp-text {}

#sponsor h2 {
    margin: 35px auto 25px;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
}

#sponsor h2 span {
    font-size: 20px;
}

#sponsor div {
    padding: 0 2.5%;
    background-color: #fff;
    margin-bottom: 4px;
    padding-top: 20px;
}

#sponsor div h3 {
    margin: 0;
    position: relative;
    padding-left: 2.5%;
    font-size: 20px;
    font-weight: bold;
}

#sponsor div h3::before {
    left: 0;
    top: 7%;
    width: 17px;
    height: 17px;
}

#sponsor div.official h3::before {
    content: "";
    position: absolute;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 50%;
}

#sponsor div.special h3::before {
    content: "";
    position: absolute;
    background-color: #e50039;
    border-radius: 50%;
}

#sponsor div.diamonts h3::before {
    content: "";
    position: absolute;
    background-image: url(img/diamond.svg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 24px;
    height: 20px;
    top: 0%;
}

#sponsor div.golds h3::before {
    content: "";
    position: absolute;
    background-color: #ffcb00;
    border-radius: 50%;
}

#sponsor div.silvers h3::before {
    content: "";
    position: absolute;
    background-color: #e2e2e2;
    border-radius: 50%;
}

#sponsor div.bronze h3::before {
    content: "";
    position: absolute;
    background-color: #d06d2d;
    border-radius: 50%;
}

#sponsor div.support h3::before {
    content: "";
    position: absolute;
    background-color: #50abe2;
    border-radius: 50%;
}

#sponsor div img {
    width: 100%;
}

#sponsor div ul {
    padding: 30px 0 20px;
    margin-left: 3%;
}

#sponsor div ul.acer li {
    margin: 0 0 30px;
}

#sponsor div.special ul {
    text-align: center;
    padding: 0 0 20px;
    margin-left: 0;
}

#sponsor div.special ul li {
    margin-right: 0;
}

#sponsor div.support ul {
    padding: 30px 0 20px;
}

#sponsor div ul li {
    width: 15%;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10%;
    padding: 20px 0;
}

#sponsor div ul.ntt li {
    width: 31%;
}

#sponsor div ul li.slogo1 {
    padding: 1%;
}

#sponsor div ul li.slogo2 {
    padding: 2%;
}

#sponsor div ul li.slogo3 {
    padding: 3%;
}

#sponsor div ul li.slogoadobe {
    padding: 27px;
}

#sponsor div.official ul li {
    width: 20%;
}

#sponsor div.golds ul li {
    width: 16%;
    margin-right: 2%;
}

#sponsor div.golds ul li.sp-lg {
    width: 30%;
}

#sponsor div.silvers ul li {
    width: 16%;
    margin-right: 6%;
}

#sponsor div.bronze ul li {
    width: 10%;
    margin-right: 4%;
}

#sponsor div.bronze ul li.c1 {
    width: 13%;
}

#sponsor div.bronze ul li.c2 {
    width: 8%;
}

#sponsor div.bronze ul li.c3 {
    width: 11%;
}

#sponsor div.bronze ul li.c4 {
    width: 9%;
}
#sponsor div.bronze ul li.c6 {
    width: 11%;
}
#sponsor div.silvers ul li.c7 {
    width: 8%;
    margin-right: 3%;
}
#sponsor div.golds ul li.c8 {
    width: 22%;
}

#sponsor div.support ul li {
    display: inline-block;
    font-size: 14px;
    padding-right: 20px;
    width: auto;
    margin-right: 0;
}

#sponsor div.add {
    padding-top: 0;
}

#sponsor div.add ul {
    padding: 10px 0;
    margin-left: 3%;
}

#contact {
    padding: 50px;
    background-color: #f1f1f1;
}

.contact {
    display: block;
    background-color: #e50039;
    font-size: 19px;
    padding: 23px 0;
    color: #fff;
    border: 2px solid #e50039;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    transition: all .4s ease-in-out;
    text-align: center;
    display: block;
    width: 400px;
    height: 70px;
    margin: auto;
    line-height: 1;
}

.contact:link {
    color: #fff;
}

.contact:visited {
    color: #fff;
}
.contact:hover {
    background-color: #fff;
    color: #e50039;
    transition: all .4s ease-in-out;
}

footer {
    background-color: #fff;
}

footer .footer {
    width: 1200px;
    margin: auto;
    padding: 60px 0 45px;
}

footer .footer h4 {
    font-size: 14px;
    font-weight: 700;
}

footer .footer>div:first-of-type {
    position: relative;
    padding-top: 15px;
    justify-content: center;
    margin-bottom: 30px;
}

footer .footer div.ft-logo img {
    width: 60px;
    margin-right: 20px;
}

#page-post footer .footer div.ft-logo img {
    width: 60px;
    margin-right: 20px;
}

footer .footer>div:first-of-type p {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 0;
    padding: 8px 0;
}

footer .footer>div:first-of-type p span {
    font-size: 14px;
    font-weight: 450
}

footer .footer .ft-sns {
    margin-top: 25px;
    margin-left: 20px;
}

footer .footer>div:first-of-type .m-fb {
    left: 10%;
    top: 130%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

footer .footer>div:first-of-type img.fb-btn {
    width: 30px;
    margin: 0;
}

#page-post footer .footer>div:first-of-type img.fb-btn {
    width: 30px;
    margin: 0;
}

footer .footer>div:first-of-type .m-fb img.fb-btn-on {
    display: none;
}

footer .footer>div:first-of-type .m-fb:hover img.fb-btn {
    display: none;
}

#page-post footer .footer>div:first-of-type .m-fb:hover img.fb-btn {
    display: none;
}

footer .footer>div:first-of-type .m-fb:hover img.fb-btn-on {
    display: block;
    width: 30px;
    margin: 0;
}

#page-post footer .footer>div:first-of-type .m-fb:hover img.fb-btn-on {
    display: block;
    width: 30px;
    margin: 0;
}

footer .footer div ul li {
    font-size: 14px;
    padding: 6px 0
}

footer .footer a:hover {
    color: #000;
    opacity: .8
}

footer .footer a.tba {
    color: #f1f1f1;
    pointer-events: none;
}

footer .footer::after {
    display: block;
    clear: both;
    content: "";
}

footer #footer {
    background-color: #aaa;
}

footer #footer p {
    font-size: 13px;
    text-align: left;
    width: 1220px;
    margin: auto;
    color: #fff;
    padding: 12px 0;
}

.pagination {
    text-align: center;
    width: 100%;
    margin: 50px 0 70px
}

.previouspostslink,
.nextpostslink {
    display: none;
}

.pagination .wp-pagenavi a,
.wp-pagenavi span {
    text-decoration: none;
    border: 1px solid #c8c8c8;
    padding: 25px 35px;
    margin: 2px;
    color: #c8c8c8;
    font-size: 32px;
}

.pagination .wp-pagenavi a:hover,
.wp-pagenavi span.current {
    border-color: #c8c8c8;
    background-color: #c8c8c8;
    color: #fff;
}

.hb-menu {
    width: 1200px;
    margin: auto;
    text-align: left;
    color: #b4b4b4;
    padding-top: 10px
}

.hb-menu a {
    color: #b4b4b4;
}

.single.wrap {
    width: 1200px;
    margin: auto;
}

.single.wrap .content-post {
    float: left;
    width: 800px;
    height: auto;
}

.single.wrap .content-post h2 {
    margin-bottom: 25px;
}

.single.wrap .content-post h3 {
    margin-bottom: 20px
}

.single.wrap .content-post p {
    line-height: 1.8;
    font-size: 16px;
}

.single.wrap .content-post ul {
    font-size: 100%;
}

.single.wrap .content-post ul li {}

.single.wrap .content-post .alignright {
    float: right;
    margin-left: 3%
}

.single.wrap .content-post .alignleft {
    float: left;
    margin-right: 3%
}

.single.wrap .content-post .sns-btn ul {
    font-size: 0;
}

.single.wrap .content-post .sns-btn ul li {
    display: inline-table;
    width: 11%;
    text-align: right;
    vertical-align: middle;
}

.single.wrap .content-post .sns-btn ul li:first-of-type {
    width: 120px;
    text-align: left
}

.single.wrap .content-post .sns-btn ul li:first-of-type p {
    font-size: 16px;
}

.single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
    margin-right: 46%;
    padding-left: 5%;
    width: 16%;
    font-size: 14px;
    text-align: center;
}

.single.wrap .content-post .sns-btn ul li p {
    margin: 0;
}

.single.wrap .content-post .sns-btn ul li .category {
    padding: 1px 0;
    text-align: center;
}

.single.wrap .content-post .post {
    position: relative;
}

.single.wrap .content-post .post img {
    width: auto;
}

.single.wrap .content-post .post>img {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
    border: 1px solid #e2e2e2;
}

.single.wrap .content-post .post a {
    color: #217dba;
    text-decoration: underline;
    font-size: 16px;
}

.single.wrap .content-post .post .under-sns-btn {
    position: absolute;
    bottom: 430px;
    left: 39%;
}

.single.wrap .content-post .post .under-sns-btn ul li {
    display: inline-block;
}

.single.wrap .content-post .post .under-sns-btn ul li:first-of-type {
    margin-right: 10px;
}

#cta_container::after {
    display: block;
    clear: both;
    content: "";
}

.content-post .to-news-list {
    width: 50%;
    margin: 30px auto 30px;
}

.content-post .to-news-list a {
    padding: 20px 100px;
    display: block;
    letter-spacing: .2em;
    text-indent: .2em;
    border: 2px solid #f1f1f1;
    color: #f1f1f1;
    text-align: center;
    font-size: 24px;
    transition: all .4s ease-in-out;
}

.content-post .to-news-list a:hover {
    background-color: #f1f1f1;
    color: #fff;
}


/** 協賛ページCTA カスタマイズ **/

.content-post .below_content {
    margin-top: 100px;
    margin-bottom: 50px;
}

.content-post #wp_cta_55_container.wp_cta_container {
    position: relative;
    height: 270px;
    background-color: #fff;
    border: 5px solid #e50039;
}

.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container p {
    color: #000;
    margin: 0;
}

.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container img {
    width: 33%;
    border: none;
}

.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container {
    padding: 0;
}

.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container #main-headline {
    padding-top: 5px;
    padding-top: 10px;
}

.content-post #wp_cta_55_container #wp_cta_55_variation_0 .cta_content {
    font-size: 16px;
    line-height: 1;
    padding-bottom: 0;
}

.content-post #wp_cta_55_container #cta_container #cta-link {
    position: absolute;
    bottom: 18%;
    right: 8%;
    font-size: 20px;
    letter-spacing: .2em;
    text-indent: .2em;
}

.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container .cta_button,
.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container input[type="button"],
.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container button[type="submit"],
.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container input[type="submit"] {
    border-radius: 0px;
    padding-left: 120px;
    padding-right: 120px;
    padding-top: 10px;
    padding-bottom: 10px;
    border: 2px solid #e50039;
}

.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container .cta_button:hover,
.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container input[type="button"]:hover,
.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container button[type="submit"]:hover,
.content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container input[type="submit"]:hover {
    background-color: #e50039;
    color: #fff;
}

.content-post #wp_cta_943_container.wp_cta_container {
    position: relative;
    height: auto;
    background-color: #fff;
    border: 5px solid #e50039;
}

.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container p {
    color: #000;
    margin: 0;
}

.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container .text {
    position: absolute;
    top: 10%;
    left: 10%;
}

.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container p img {
    width: 100%;
    height: auto;
}

.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container {
    padding: 0;
}

.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container #main-headline {
    padding: 0;
}

.content-post #wp_cta_943_container #wp_cta_943_variation_0 .cta_content {
    font-size: 16px;
    line-height: 1;
    padding-bottom: 0;
}

.content-post #wp_cta_943_container #cta_container #cta-link {
    position: absolute;
    top: 5%;
    right: 4%;
    font-size: 16px;
    letter-spacing: .2em;
    text-indent: .2em;
}

.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container .cta_button,
.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container input[type="button"],
.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container button[type="submit"],
.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container input[type="submit"] {
    border-radius: 0px;
    padding-top: 10px;
    padding-bottom: 10px;
    border: 2px solid #e50039;
}

.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container .cta_button:hover,
.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container input[type="button"]:hover,
.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container button[type="submit"]:hover,
.content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container input[type="submit"]:hover {
    background-color: #e50039;
    color: #fff;
}

.content-post #wp_cta_948_container.wp_cta_container {
    position: relative;
    height: auto;
    background-color: #fff;
    border: 5px solid #e50039;
}

.content-post #wp_cta_948_container #wp_cta_948_variation_0:hover {
    opacity: .7
}

.content-post #wp_cta_948_container #wp_cta_948_variation_0 p {
    margin: 0;
}

.content-post #wp_cta_948_container #wp_cta_948_variation_0 p img {
    width: 100%;
    height: auto;
}

#sidebar {
    float: right;
    width: 28%;
}

#sidebar .sidebar-wrapper {
    padding-left: 20px;
}

#sidebar .sidebar-wrapper h4 {
    margin: 0;
}

#sidebar .sidebar-wrapper ul li {
    font-size: 15px;
    padding: 10px 0;
    border-bottom: 1px solid #f1f1f1;
}

#sidebar .sidebar-wrapper:first-of-type {
    border-left: 2px solid #e50039;
    margin-top: 20px;
}

#sidebar .sidebar-wrapper:first-of-type h4 {
    padding: 0px 0 10px 0px;
    color: #e50039;
}

#sidebar .sidebar-wrapper:last-of-type {
    border-left: 2px solid #006bb9;
    margin-top: 50px;
}

#sidebar .sidebar-wrapper:last-of-type h4 {
    padding: 0px 0 10px 0px;
    color: #006bb9;
}

#page-post .hb-menu {
    width: auto;
    padding: 10px 2.5% 0;
}

#page-post img {
    width: 100%;
    height: auto;
}

#page-post .page-post {
    width: 1210px;
    margin: auto;
    margin-top: 40px;
    padding-bottom: 40px;
}

#page-post .page-post .s-block p>img {
    margin-bottom: 30px;
}

#page-post .page-post .s-block>img {
    margin-bottom: 30px;
}

#page-post .page-post h1 {
    font-size: 48px;
    margin-bottom: 60px;
}

#page-post .page-post h1 br {
    display: none;
}

#page-post .page-post h2 {
    font-size: 28px;
    margin-bottom: 15px;
    line-height: 1.3
}

#page-post .page-post h3 {
    font-size: 18px;
    font-weight: bold;
}

#page-post .page-post.sitemap h3 span {
    font-size: 14px
}

#page-post .page-post p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}

#page-post .page-post p.date {
    line-height: 1.5;
}

#page-post .page-post table {
    font-size: 16px;
}

#page-post .page-post .s-block {
    padding: 0 100px;
}

#page-post .page-post table.s-block {
    margin: auto 100px;
}

#page-post .page-post table th {
    width: 9%;
    font-weight: normal;
    vertical-align: top;
    line-height: 1.5
}

#page-post .page-post table td {
    vertical-align: top;
    line-height: 1.5;
    padding: 0 0 10px;
}

#page-post .page-post table.post-card {
    width: 80%;
    margin: 50px auto;
}

#page-post .page-post table.post-card td:first-of-type {
    width: 21%;
    text-align: center;
    padding-right: 20px;
}

#page-post .page-post table.post-card td:first-of-type img {
    margin-bottom: 15px;
}

#page-post .page-post table.post-card td:last-of-type {
    padding: 25px;
    border: 2px solid #f1f1f1;
}

#page-post .page-post table.post-card td h3 {
    margin: 0 0 10px;
}

#page-post .page-post h2 span {
    font-size: 32px;
}

#page-post .page-post h3 span {
    font-size: 24px;
}

#page-post .page-post p span {
    font-size: 20px;
}

#page-post .page-post.sitemap p span {
    font-size: 100%;
    vertical-align: 5px;
}

#page-post p.schedulebox {
    border-style: solid;
    border-width: 2px;
    border-color: red;
    padding: 5px;
    margin-right: 0;
    color: red;
    font-weight: bold;
    font-size: 25px;
}

.gran-line {
    width: 100%;
    height: 1px;
    background-color: #f1f1f1;
    margin: 45px 0 30px;
}

.gran-liner {
    width: 100%;
    height: 1px;
    background-color: #e50039;
    margin: -20px 0px;
}

#page-post #post-sponsor div.special ul {
    padding: 0;
}

#page-post #post-sponsor div.gran-line {
    width: 100%;
    height: 1px;
    background-color: #f1f1f1;
    margin: 0 0 30px;
}

#page-post .page-post.about {
    width: auto;
    margin: auto;
    margin-top: 0;
}

#page-post .page-post.about .wrap {
    width: 1210px;
    margin: auto;
    margin-top: 40px;
    padding-bottom: 40px;
}

#page-post .page-post .about-movie {
    padding: 3%;
    background-color: #f1f1f1;
    margin-top: 40px;
    margin-bottom: 40px;
}

#page-post .page-post .about-movie h3 {
    margin: 0 0 15px;
}

#page-post .page-post .about-movie>div div {
    width: 32%;
    float: left;
    background-color: #fff;
    margin-right: 2%;
    margin-bottom: 5px;
}

#page-post .page-post .about-movie>div div:last-of-type {
    margin-right: 0;
}

#page-post .page-post .about-movie>div div iframe {
    width: 100%;
    height: 235px;
    display: block;
}

#page-post .page-post.about .gran-bg {
    background-color: #f1f1f1;
    padding: 50px 0;
}

#page-post .page-post.about .gran-bg>div {
    width: 800px;
    margin: auto;
    padding: 3%;
    background-color: #fff;
    position: relative;
}

#page-post .page-post.about .gran-bg>div .hd-title {
    position: absolute;
    width: 55%;
    text-align: center;
    margin: auto;
    top: -25px;
    left: 23%;
}

#page-post .page-post.about .gran-bg>div .hd-title p {
    font-size: 20px;
    padding: 4px 0;
    color: #fff;
    background-color: #e50039;
}

#page-post .page-post.about .gran-bg>div h2 {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.3
}

#page-post .page-post p.red {
    color: #e50039;
    font-weight: bold;
    font-size: 130%;
    padding-top: 5px;
}

#page-post .page-post p span.small {
    font-size: 90%;
    line-height: 1;
}

#page-post .page-post img.set-right {
    width: 50%;
    margin-left: 5%;
    float: right;
}

#page-post .page-post.global-about p strong {
    font-size: 18px;
    line-height: 1.5;
}

#page-post .page-post.ioi-japan h2 {
    margin-bottom: 30px;
}

#page-post .page-post.ioi-japan p.be-cri {
    position: relative;
    padding-left: 2%
}

#page-post .page-post.ioi-japan p.be-cri::before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    top: 6px;
    left: 0px;
    border-radius: 10px;
    border: 1px solid;
    background-color: #fff;
}

#page-post .page-post.ioi-japan p.aft {
    margin-bottom: 30px;
    font-size: 14px;
    padding-left: 2%
}

#page-post .page-post.ioi-japan .s-block {
    margin-top: 30px;
}

#page-post .page-post.ioi-japan table {
    width: 100%;
}

#page-post .page-post.ioi-japan table th {
    width: auto;
    background-color: #f1f1f1;
    vertical-align: middle;
    padding: 0;
}

#page-post .page-post.ioi-japan table th p {
    padding: 15px;
    font-weight: bold;
    white-space: nowrap
}

#page-post .page-post.ioi-japan table td {
    vertical-align: top;
    line-height: 1.5;
    padding: 15px 25px;
}

#page-post .page-post.ioi-japan table.schedule th {
    text-align: right;
    width: 7%;
    padding: 10px 15px;
    white-space: nowrap;
}

#page-post .page-post.ioi-japan table.schedule td {
    padding: 10px 15px;
}

#page-post .page-post.ioi-japan ul {
    margin-bottom: 0;
}

#page-post .page-post.ioi-japan ul li {
    font-size: 16px;
    list-style-type: inherit;
}

#page-post .page-post.ioi-japan ul li.no-type {
    list-style-type: none;
}

#page-post .page-post.ioi-japan ul li.no-type ul li {
    list-style-type: decimal;
}

#page-post .page-post.post-sponsor {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #fff;
}

#page-post .page-post.post-sponsor .wrap {
    width: 1210px;
    margin: auto;
    margin-top: 40px;
    padding-bottom: 40px;
    background-color: #fff;
}

#page-post .page-post.post-sponsor h2 span {
    font-size: 15px;
}

#page-post .page-post.post-sponsor .mercari_hphoto {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 50%;
}

#page-post .page-post.post-sponsor h2.mg {
    margin: 45px auto;
}

#page-post .page-post.post-sponsor .s-block>a {
    width: 20%;
    margin: 20px auto 0;
    border: 2px solid #f1f1f1;
    padding: 10px;
    display: block;
}

#page-post .page-post.post-sponsor .s-block a.iij {
    width: 15%;
    margin: 20px auto 0;
    border: 2px solid #f1f1f1;
    padding: 10px;
    display: block;
}

#page-post .page-post.post-sponsor .s-block table.scsk {
    width: auto;
    margin-left: auto;
    margin-right: auto;
}

#page-post .page-post.post-sponsor .s-block table.scsk tr {
    border: none;
}

#page-post .page-post.post-sponsor .s-block table.scsk tr:last-of-type {
    border: none;
}

#page-post .page-post.post-sponsor .s-block table.scsk td {
    width: auto;
    border: none;
}

#page-post .page-post.post-sponsor .s-block a img {
    width: 100%
}

#page-post .page-post.post-sponsor .s-block a img:hover {
    opacity: .75
}

#page-post .page-post.post-sponsor .s-block table tr {
    border-top: 1px solid #000;
}

#page-post .page-post.post-sponsor .s-block table tr:last-of-type {
    border-bottom: 1px solid #000;
}

#page-post .page-post.post-sponsor table td img {
    width: 100%;
}

#page-post .page-post.post-sponsor table th {
    width: auto;
    padding: 15px 0;
    padding-right: 3%;
}

#page-post .page-post.post-sponsor table th p {
    line-height: 1.5;
}

#page-post .page-post.post-sponsor table td {
    vertical-align: middle;
    width: 28%;
}

#page-post .page-post.post-sponsor .s-block ul li {
    border-top: 1px solid #000;
    padding-bottom: 20px;
}

#page-post .page-post.post-sponsor .s-block ul li:last-of-type {
    border-bottom: 1px solid #000;
}

#page-post .page-post.post-sponsor ul li p {
    line-height: 1.5
}

#page-post .page-post.post-sponsor img.set-left {
    width: 50%;
    margin-right: 5%;
    float: left;
}

#page-post .page-post.post-sponsor img.set-right {
    width: 50%;
    margin-left: 5%;
    float: right;
}

#page-post .page-post.post-sponsor .sps-contact {
    background-color: #f1f1f1;
    padding: 80px 0 60px;
}

#page-post .page-post.post-sponsor .sps-contact h2 {
    text-align: center;
}

#page-post .page-post.post-sponsor .awaiting h2 {
    text-align: center;
}

#page-post #post-sponsor div {
    padding: 0 2.5%;
    background-color: #fff;
    height: auto;
    text-align: center
}

#page-post #post-sponsor div h4 {
    margin: 0;
    width: a;
    margin: auto;
    position: relative;
    padding-left: 2.5%;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    display: inline-block;
}

#page-post #post-sponsor h3 {
    padding: 25px 0;
    background-color: #f1f1f1;
    font-size: 25px;
    text-align: center;
}

#page-post #post-sponsor>h3 {
    margin-left: 2.5%;
    margin-right: 2.5%;
    margin-bottom: 30px;
    line-height: 1.6;
}


#page-post #post-sponsor>h3 span {
    font-size: 18px;
}

#page-post #post-sponsor div h4::before {
    content: "";
    width: 17px;
    height: 17px;
    position: absolute;
    left: 0;
    top: 10%;
    border-radius: 50%;
}

#page-post #post-sponsor div img {
    width: 75%;
    margin: auto;
}

#page-post #post-sponsor div.diamonts img {
    height: 60px;
    width: auto;
}

#page-post #post-sponsor div img.acer {
    width: 25%;
}

#page-post #post-sponsor div img.hidachi {
    width: 40%;
}

#page-post #post-sponsor div.diamonts h4::before {
    background-color: transparent;
    background-image: url(img/diamond.svg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    border-radius: 0;
    width: 24px;
    height: 20px;
    top: 0%;
}

#page-post #post-sponsor div.official h4::before {
    background-color: #fff;
    border: 1px solid #000;
}

#page-post #post-sponsor div.golds h4::before {
    background-color: #ffcb00;
}

#page-post #post-sponsor div.silvers h4::before {
    background-color: #e2e2e2;
}

#page-post #post-sponsor div.bronze h4::before {
    background-color: #d06d2d;
}

#page-post #post-sponsor div.support h4::before {
    background-color: #50abe2;
}

#page-post #post-sponsor div ul {
    padding: 30px 0 20px;
}

#page-post #post-sponsor div ul li {
    padding: 20px 0;
}

#page-post #post-sponsor div.official ul li {
    width: 30%;
}

#page-post #post-sponsor div.support ul {
    padding: 30px 0 20px;
}

#page-post #post-sponsor div.diamonts ul li {
    width: 45%;
}

#page-post #post-sponsor div ul li {
    width: 25%;
    display: inline-block;
    vertical-align: middle;
}

#page-post #post-sponsor div.golds ul li {
    width: 23%;
    margin-right: 0%;
}

#page-post #post-sponsor div.golds ul li.sp-lg {
    width: 40%;
}

#page-post #post-sponsor div.silvers ul li {
    width: 22%;
}

#page-post #post-sponsor div.bronze ul li {
    width: 15%;
}

#page-post #post-sponsor div.bronze ul li.c1 {
    width: 20%;
}

#page-post #post-sponsor div.bronze ul li.c2 {
    width: 13%;
}

#page-post #post-sponsor div.bronze ul li.c3 {
    width: 17%;
}

#page-post #post-sponsor div.bronze ul li.c4 {
    width: 13%;
}
#page-post #post-sponsor div.bronze ul li.c6 {
    width: 16%;
}
#page-post #post-sponsor div.silvers ul li.c7 {
    width: 10%;
}
#page-post #post-sponsor div.golds ul li.c8 {
    width: 30%;
}

#page-post #post-sponsor div ul li.slogo1 {
    padding: 1%;
}

#page-post #post-sponsor div ul li.slogo2 {
    padding: 2%;
}

#page-post #post-sponsor div ul li.slogo3 {
    padding: 3%;
}

#page-post #post-sponsor div ul li.slogo4 {
    padding: 4%;
}

#page-post #post-sponsor div.bronze ul li#dip {
    padding: 15px;
}

#page-post #post-sponsor div.bronze ul li#qlogo {
    padding: 4%;
}

#page-post #post-sponsor div.support ul li {
    font-size: 14px;
    padding-right: 20px;
    width: auto;
    margin-right: 0;
}

#page-post #post-sponsor h3.add-t {
    margin-top: 30px;
}

#page-post #post-sponsor div.add ul li {
    width: 20%;
    margin-right: 0%;
}

#page-post #post-sponsor div.add ul {
    padding: 0;
}

.dwa {
    text-align: center;
	margin: 40px auto;
}

.dwa a {
    font-size: 24px;
    font-weight: 700;
    text-decoration: underline;
    color: #e50039
}

#page-post .page-post.post-support {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #fff;
}

#page-post .page-post.post-support .wrap {
    width: 1210px;
    margin: auto;
    margin-top: 40px;
    padding-bottom: 40px;
}

#page-post .page-post.post-support .wrap .s-block {
    margin-top: 50px;
}

#page-post .page-post.post-support .wrap .s-block:first-of-type {
    margin-top: inherit;
}

#page-post .page-post.post-support .wrap .s-block:first-of-type h2 {
    margin-bottom: 30px;
}

#page-post .page-post.post-support img.set-left {
    width: 40%;
    margin-right: 5%;
    float: left;
}

#page-post .page-post.post-support p.set-right {
    width: 40%;
    margin-left: 5%;
    float: right;
}

#page-post .page-post.post-support img.set-right {
    width: 40%;
    margin-left: 5%;
    float: right;
}

#page-post .page-post.post-support div.pc-message-right {
    margin-left: 45%;
}

#page-post .page-post.post-support div.pc-message-left {
    margin-right: 45%;
}

#page-post .page-post.post-support .h2 {
    font-size: 30px;
    margin-bottom: 20px;
    line-height: 1.3
}

#page-post .page-post.post-support .h3 {
    font-size: 24px;
    margin-bottom: 10px;
    font-weight: bold;
}

#page-post .page-post.post-support .sps-contact {
    background-color: #f1f1f1;
    padding: 80px 0 60px;
}

#page-post .page-post.post-support .sps-contact h2 {
    text-align: center;
}

#page-post .page-post.management p.h2 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.5
}

#page-post .page-post.management div.profile-card p.h3 {
    font-size: 13px;
    font-weight: bold;
    margin: 10px auto 0;
}

#page-post .page-post.management div.profile-card p.h4 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 0
}

#page-post .page-post.management div.profile-card {
    width: 31%;
    float: left;
    margin-right: 3.5%;
}

#page-post .page-post.management div.profile-card:nth-of-type(3n) {
    margin-right: 0;
}

#page-post .page-post.management div.profile-card .pro-text {
    margin-bottom: 30px;
    min-height: 100px;
}

#page-post .page-post.management div.profile-card p {
    font-size: 16px;
}

#page-post .page-post.management img.set-left {
    width: 35%;
    margin-right: 5%;
    float: left;
}

#page-post .page-post.management div.float-right {
    margin-left: 40%
}

#page-post .page-post.management table th {
    font-weight: bold;
}

#page-post .page-post.management table td {
    padding-left: 3%;
    width: auto;
    white-space: nowrap;
    padding-bottom: 20px;
}

#page-post .volunteer {
    margin-top: 40px;
}

#page-post .volunteer .wrap {
    width: 1210px;
    margin: auto;
    padding-bottom: 70px;
}

#page-post .volunteer h1 {
    font-size: 48px;
    margin-bottom: 60px;
}

#page-post .volunteer h2 {
    font-size: 24px;
    margin-bottom: 30px;
    font-weight: bold;
    border-bottom: 2px solid;
    display: inline-block;
    margin-top: 0;
}

#page-post .volunteer h2 span {
    font-size: 39px;
}

#page-post .volunteer .w-block {
    width: 50%;
    float: left;
    padding: 0 34px;
}

#page-post .volunteer .w-block p {
    font-size: 14px;
}

#page-post .volunteer .w-block>p {
    line-height: 1.8
}

#page-post .volunteer .w-block.w-1 div {
    width: 100%;
    padding: 21px;
    background-color: #f0f0f0;
    margin-top: 25px;
}

#page-post .volunteer .w-block.w-1 p.p-title {
    font-size: 16px;
    font-weight: bold;
}

#page-post .volunteer .w-block.w-1 p.c-tel {
    margin-bottom: 35px;
}

#page-post .volunteer .w-block.w-1 p.p-mail {
    font-size: 16px;
    font-weight: bold;
}

#page-post .volunteer .w-block.w-1 p.c-mail {
    font-size: 24px;
    text-decoration: underline;
    padding-left: 30px;
    position: relative;
    margin-bottom: 0;
}

#page-post .volunteer .w-block.w-1 p.c-mail::before {
    content: "";
    position: absolute;
    background-image: url(img/mail-mark.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 23px;
    height: 18px;
    top: 20%;
    left: 0;
}

#page-post .volunteer .w-block.w-2 {
    border-left: 1px solid;
}

#page-post .volunteer .w-block.w-2 h2 {
    color: #d22e3f
}

#page-post .volunteer .w-block.w-2 h3 {
    color: #d22e3f;
    font-size: 22px;
    margin-top: 0;
}

#page-post .volunteer .w-block.w-2 h3 label {
    font-size: 17px;
    background-color: #d22e3f;
    color: #fff;
    margin-left: 10px;
    vertical-align: 3px;
    padding: 3px 5px;
    line-height: 1;
}

#page-post .volunteer .w-block.w-2 h3 label span {
    color: #ff0;
}

#page-post .volunteer .w-block.w-2>p {
    margin-bottom: 20px;
}

#page-post .volunteer .w-block.w-2 div {
    text-align: center;
    padding: 20px 0;
    background-color: #fccccc;
    margin-top: 25px;
}

#page-post .volunteer .w-block.w-2 .d-line {
    width: 100%;
    height: 1px;
    color: #d22e3f;
    border-bottom: 1px dotted;
    margin: 20px auto 25px;
    padding: 0;
    background-color: transparent;
}

#page-post .volunteer .w-block.w-2 a {
    color: #000;
    text-decoration: underline;
    display: block;
}

#page-post .volunteer .w-block.w-2 a.to-con {
    color: #fff;
    background-color: #d22e3f;
    font-size: 18px;
    padding: 10px 50px;
    margin: auto;
    margin-top: 10px;
    text-decoration: none;
    width: 215px;
    border: 1px solid #d22e3f;
    transition: all .4s ease-in-out;
}

#page-post .volunteer .w-block.w-2 a.to-con:hover {
    background-color: #fff;
    color: #d22e3f;
}

#page-post .volunteer .w-block.w-2 h4 {
    padding-left: 22px;
    font-size: 15px;
    position: relative;
    color: #d22e3f;
}

#page-post .volunteer .w-block.w-2 h4::before {
    content: "";
    position: absolute;
    background-color: #d22e3f;
    width: 10px;
    height: 10px;
    top: 15%;
    left: 0;
    border-radius: 50%;
}

#page-post .volunteer .p-wrap {
    background-color: #fccccc;
    padding-top: 60px;
    padding-bottom: 55px;
}

#page-post .volunteer .p-wrap .p-block {
    width: 1210px;
    margin: auto;
}

#page-post .volunteer .p-wrap h2 {
    font-size: 32px;
    font-weight: bold;
    color: #d22e3f;
    text-decoration: none;
}

#page-post .volunteer .p-wrap h3 {
    font-size: 24px;
    font-weight: bold;
}

#page-post .volunteer .s-block {
    padding: 0 66px;
}

#page-post .volunteer table {
    width: 100%;
    border-spacing: 0;
    border-top: 1px solid;
    border-left: 1px solid;
    margin: 20px auto 40px;
    background-color: #fff;
}

#page-post .volunteer table th {
    width: 24%;
    font-size: 16px;
    background-color: #f0bfc4;
    font-weight: bold;
    padding-left: 30px;
    vertical-align: middle;
}

#page-post .volunteer table td {
    width: auto;
    font-size: 14px;
    padding: 20px 10px;
    line-height: 1.4;
}

#page-post .volunteer table th,
#page-post .volunteer table td {
    border-right: 1px solid;
    border-bottom: 1px solid
}

#page-post .volunteer table:last-of-type td {
    padding-left: 30px;
}

#page-post .page-post.contact-page {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #fff;
}

#page-post .page-post.contact-page .wrap {
    width: 1210px;
    margin: auto;
    margin-top: 40px;
    padding-bottom: 40px;
}

#page-post .page-post.contact-page .wrap .s-block {
    padding: 0 100px;
}

#page-post .page-post.contact-page .wrap .s-block table {
    width: 100%;
}

#page-post .page-post.contact-page .wrap .s-block table th {
    font-size: 20px;
    padding: 30px 0 15px;
    display: block;
    width: auto;
    font-weight: bold;
}

#page-post .page-post.contact-page .wrap .s-block table td {
    display: block;
}

#page-post .page-post.contact-page .wrap .s-block table select {
    font-size: 22px;
    padding: 8px 25px;
    width: 600px;
    border-radius: 5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#page-post .page-post.contact-page .wrap .s-block table select::-ms-expand {
    display: none;
}

#page-post .page-post.contact-page .wrap .s-block table td label {
    position: relative;
    font-weight: 100;
}

#page-post .page-post.contact-page .wrap .s-block table td label::before {
    content: "";
    position: absolute;
    top: 35%;
    right: 5%;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 14px 10.5px 0 10.5px;
    border-color: #000000 transparent transparent transparent;
    z-index: 20
}

#page-post .page-post.contact-page .wrap .s-block table input {
    font-size: 22px;
    padding: 8px 25px;
    border-radius: 5px;
    border: 1px solid #969696;
    width: 600px;
}

#page-post .page-post.contact-page .wrap .s-block table textarea {
    width: 100%;
    padding: 10px 25px;
    border-radius: 5px;
    border: 1px solid #969696;
    resize: none;
    height: 160px;
    font-size: 22px;
}

#page-post .page-post.contact-page .wrap .s-block .line-box {
    border: 1px solid #969696;
    padding: 20px;
    margin-top: 30px;
}

#page-post .page-post.contact-page .wrap .s-block p input {
    width: 400px;
    height: 70px;
    font-size: 20px;
    color: #fff;
    background-color: #e50039;
    border: 0;
    margin-top: 65px;
    border: 1px solid #e50039;
    transition: all .4s ease-in-out;
}

#page-post .page-post.contact-page .wrap .s-block p input:hover {
    background-color: #fff;
    color: #e50039;
}

#page-post .page-post.contact-page .wrap .s-block p input[type=checkbox] {
    width: 20px;
    height: 20px;
    margin-top: 20px;
}

#page-post .page-post.contact-page .wrap .s-block p label {
    font-size: 16px;
    margin-left: 10px;
    vertical-align: 5px
}

#page-post .page-post.contact-finish {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #fff;
}

#page-post .page-post.contact-finish .wrap {
    width: 1210px;
    margin: auto;
    margin-top: 40px;
    padding-bottom: 40px;
}

#page-post .page-post.contact-finish .wrap p {
    font-size: 22px;
    font-weight: bold;
}

#page-post .page-post.contact-finish .wrap p.red {
    font-size: 16px;
    color: #e50039;
    margin: 55px auto;
}

#page-post .page-post.contact-finish .wrap table {
    border-bottom: 1px solid #969696;
    border-top: 1px solid #969696;
    margin: 5px 0;
}

#page-post .page-post.contact-finish .wrap table th {
    font-size: 20px;
    font-weight: bold;
    width: auto;
    padding-right: 30px;
    vertical-align: middle;
}

#page-post .page-post.contact-finish .wrap table td {
    font-size: 14px;
    padding: 25px 0
}

#page-post .donation {
    padding-bottom: 45px;
}

#page-post .post-donation h1 {
    width: 1210px;
    margin: 40px auto 60px 2.5%;
    font-size: 48px;
}

#page-post .post-donation .s-block {
    margin: auto 2.5%;
    padding: 0 100px;
}

#page-post .post-donation img {
    width: auto;
}

#page-post .post-donation p {
    line-height: 1.5;
    font-size: 15px;
}

#page-post .donation h1 {
    margin: 40px 2.5% 60px;
}

#page-post .donation h2 {
    margin: 0 auto 40px;
    color: #e50039;
    font-size: 26px;
    line-height: 1.3;
}

#page-post .donation h2.under {
    border-bottom: 1px solid;
    display: inline-block;
    line-height: 1.1
}

#page-post .donation h2.under-black {
    color: #000;
    border-bottom: 1px solid;
    display: inline-block;
    line-height: 1.1
}

#page-post .donation h2 span {
    font-size: 39px;
}

#page-post .donation p {
    font-size: 16px;
    display: inline-block;
    line-height: 1.5;
}

#page-post .donation .crowf-font {
    float: left;
    margin-top: 15px;
    font-size: 14px;
}

#page-post .donation .dona-font {
    float: left;
    margin-top: 15px;
    font-size: 14px;
}

#page-post .donation .crowf-font p,
#page-post .donation .dona-font p {
    line-height: 1
}

#page-post .donation .dona-font label,
#page-post .donation .crowf-font label {
    color: #d22e3f;
    font-size: 12px;
}

#page-post .donation .r-block {
    border: 2px solid #d22e3f;
    width: 425px;
    height: 85px;
    float: right;
    font-size: 21px;
    font-weight: 100;
    text-align: center;
    margin-right: 20%;
    border-right: 4px solid #d22e3f;
    border-bottom: 4px solid #d22e3f;
}

#page-post .donation .r-block p.strong-font {
    font-size: 21px;
    line-height: 60px;
    margin: 0;
}

#page-post .donation .r-block a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 10px 50px;
}

#page-post .donation .crowf-img a {
    line-height: 70px;
}

#page-post .donation .s-block>a {
    display: block;
    border: 1px solid;
    width: 100px;
    padding: 5px 0;
    margin: auto;
    text-align: center;
    font-size: 14px;
}

#page-post .donation a:hover {
    opacity: .7
}

#page-post .donation img {
    float: left;
    margin-right: 10px;
    margin-top: 5px;
    width: 60%
}

#page-post .donation .crowf-img a {
    display: block;
}

#page-post .donation .s-block>div {
    padding: 0 30px;
    margin-bottom: 50px;
}

#page-post .cflist table {
    width: 100%;
}

#page-post .cflist th {
    font-size: 15px;
    color: #e50039;
    height: 40px;
    text-align: center;
}

#page-post .cflist td {
    text-align: center;
    vertical-align: middle;
    border-left: 1px solid #b9b9b9;
    width: 12%;
    line-height: 2;
}

#page-post .cflist td:last-of-type {
    border-right: 1px solid #b9b9b9;
}

#page-post .cflisth table {
    width: 100%;
    margin-top: -20px;
}

#page-post .cflisth th {
    font-size: 15px;
    color: #e50039;
    height: 40px;
    text-align: center;
    width: 12%;
}

#page-post .cflisth td {
    text-align: center;
    vertical-align: middle;
    width: 12%;
    line-height: 2;
}

#page-post .cflisth pc-hide td {
    text-align: center;
    vertical-align: middle;
    width: 15%;
    line-height: 2;
}

#page-post .cfname {
    font-size: 11.5px;
}

#page-post .crowdfunding {
    padding-bottom: 45px;
}

#page-post .crowdfunding .r-font-ul {
    font-size: 16px;
    color: #d22e3f;
    text-decoration: underline;
    line-height: 1.1;
}

#page-post .crowdfunding .readyfor-side {
    float: left;
    width: 35%;
    position: relative;
    height: 100%;
}

#page-post .crowdfunding .readyfor-side div {
    margin-top: 125px;
}

#page-post .crowdfunding .readyfor-side img {
    width: 100%;
    margin: auto;
}

#page-post .crowdfunding .readyfor-side img.rf-logo {
    width: 65%;
    margin: 25px;
}

#page-post .crowdfunding .readyfor-side a {
    display: block;
    padding: 2px;
    border: 1px solid;
    width: 100%;
    text-align: center;
    border: 2px solid #d22e3f;
    border-right: 4px solid #d22e3f;
    border-bottom: 4px solid #d22e3f;
    position: relative;
}

#page-post .crowdfunding .readyfor-side div a::after {
    content: '';
    width: 20px;
    height: 20px;
    border: 0px;
    border-top: solid 4px #f1000e;
    border-right: solid 4px #f1000e;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 13%;
    right: 15%;
    margin-top: 1px;
    border-radius: 12%;
}

#page-post .crowdfunding .readyfor-side p {
    margin-top: 20px;
    font-size: 16px;
}

#page-post .crowdfunding .readyfor-side a:hover {
    opacity: .7;
}

#page-post .crowdfunding .return {
    width: 55%;
    float: left;
    margin-left: 65px;
}

#page-post .crowdfunding ul p {
    margin: 0;
}

#page-post .crowdfunding ul li {
    padding-bottom: 30px;
}

#page-post .crowdfunding ul li p:last-of-type {
    color: #e50039;
}

#page-post .name-list {
    margin-top: 40px;
}

#page-post .name-list h3 {
    font-size: 16px;
    display: inline-block;
    padding: 5px 30px;
    background-color: #e2e2e2;
}

#page-post .name-list table {
    width: 100%;
    margin-top: 50px;
}

#page-post .name-list td {
    width: 33%;
    text-align: center;
    font-size: 16px;
    color: #e50039;
    line-height: 1.8;
}

#page-post .name-list td:first-of-type {
    padding-left: 50px;
    text-align: left;
}

#page-post .name-list td:last-of-type {
    padding-right: 50px;
    text-align: right;
}

.dona-center {
    text-align: center;
    margin-top: 60px;
}


/*#page-post .donation-page {
    padding-bottom: 45px;
} */

#page-post .donation-page .r-font {
    font-size: 16px;
    color: #d22e3f;
}

#page-post .donation-page .r-font-ul {
    font-size: 16px;
    color: #d22e3f;
    text-decoration: underline;
    line-height: 1.1;
}

#page-post .donation-page .dona-page-fro {
    width: 620px;
    margin: 40px auto;
}

#page-post .donation-page .dona-fro {
    border: 1px solid;
    margin-bottom: 30px;
    position: relative;
}

#page-post .donation-page .dona-fro.down::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 5px 0 5px;
    border-color: #e50039 transparent transparent transparent;
    transform: translate(-50%, -50%);
    bottom: -25px;
    left: 50%;
}

#page-post .donation-page .dona-fro p {
    margin: 0;
    text-align: center;
    padding: 10px;
}

#page-post .donation-page .dona-page-fro p.r {
    color: #f00;
}

#page-post .donation-page .dona-page-fro .l {
    text-align: center;
}

#page-post .donation-page .dona-page-fro .l a {
    font-size: 20px;
    color: #db0000;
    text-decoration: underline;
    text-align: center;
    display: inline-block;
}

#page-post .donation-page .dona-page-fro .l a:hover {
    opacity: .5;
}

#page-post .donation-page .dona-page-fro p.s {
    font-size: 22px;
    text-align: center;
}

#page-post .donation-page .dona-fro a {
    text-decoration: underline;
}

#page-post .donation-page .dona-page-fro td {
    font-size: 15px;
    padding-bottom: 5px;
    vertical-align: top;
}

#page-post .donation-page .dona-page-fro td:first-of-type {
    width: 120px;
}

#page-post .donation-page .dona-page-fro form {
    font-size: 15px;
}

#page-post .donation-page .zeikin {
    background-color: #f1f1f1;
    padding-bottom: 20px;
}

#page-post .donation-page .zeikin .dona-zeikin {
    margin-top: 40px;
}

#page-post .donation-page .zeikin h3 {
    display: inline-block;
    font-size: 18px;
    padding: 5px 5px;
    text-align: center;
    border: 1px solid;
    margin-top: 0;
}

#page-post .donation-page .zeikin .dona-zei {
    padding-left: 17px;
    margin-bottom: 40px;
}

#page-post .donation-page .zeikin .dona-zeikin:first-of-type .dona-zei:last-of-type {
    padding-left: 50px;
}

#page-post .donation-page .zeikin .dona-zeikin:last-of-type .dona-zei {
    padding-left: 25px;
}

#page-post .donation-page .zeikin .dona-zei p {
    margin-bottom: 5px;
}

#page-post .donation-page .zeikin .dona-zei td:first-of-type {
    vertical-align: top;
    padding-right: 55px;
}

header .number {
    position: absolute;
    top: 25%;
    font-size: 20px;
    color: #e50039;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    line-height: 1.1;
}

header .number span {
    font-size: 36px;
}

header .number span.ss-font {
    font-size: 14px;
}

.management-link a {
    font-size: 12px;
    padding: 5px;
    border: 1px solid #b9b9b9;
    display: block;
    line-height: 1;
    margin-top: 5px;
    width: 135px;
    text-align: center;
}

.management-link a:hover {
    background-color: #e50039;
    color: #fff;
    transition: all .4s ease-in-out;
    border-color: #e50039;
}

@media screen and (max-width: 1290px) {
    header #header .sns {
        right: 23%
    }
    header #header .header-sponsor {
        top: 46%;
    }
    .hb-menu,
    .single.wrap {
        width: auto;
        padding: 0 5%;
    }
    .single.wrap .content-post {
        width: 67%;
    }
}

@media screen and (max-width: 1260px) {
    header #header .sns {
        right: 23.5%
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
        margin-right: 43%;
    }
}

@media screen and (max-width: 1230px) {
    header #header .sns {
        right: 24%
    }
    footer .footer {
        width: auto;
    }
    footer #footer p {
        width: auto;
    }
    footer .footer div:first-of-type img {
        margin-left: 9%;
    }
    footer .footer>div:first-of-type .m-fb {
        top: 135%;
        left: 17%;
    }
    footer .footer>div:first-of-type img.fb-btn {
        width: 25px;
    }
    footer .footer>div:first-of-type .m-fb:hover img.fb-btn-on {
        width: 25px;
    }
    #page-post .post-donation h1 {
        margin: 40px 2.5%;
        width: auto;
    }
    footer #footer {
        padding: 0 2.5%;
    }
}

@media screen and (max-width: 1210px) {
    header #header .sns {
        right: 25%
    }
    #page-post .page-post,
    #page-post .page-post.about .wrap,
    #page-post .page-post.post-sponsor .wrap,
    #page-post .page-post.post-support .wrap,
    #page-post .page-post.contact-page .wrap,
    #page-post .page-post.contact-finish .wrap {
        width: auto;
        margin: 0 2.5%;
    }
    #page-post .page-post.ioi-japan table.schedule th {
        width: 8%
    }
    #page-post .volunteer .p-wrap .p-block,
    #page-post .volunteer .wrap {
        width: auto;
        margin: 0 2.5%;
    }
    #page-post .volunteer .s-block {
        padding: 0 16px;
    }
    footer .footer {
        padding-left: 5%;
        padding-right: 5%;
    }
    footer .footer h4 {
        font-size: 15px;
    }
    footer .footer div ul li {
        font-size: 13px;
    }
    header .number {
        top: 20%;
    }
}

@media screen and (max-width: 1125px) {
    header #header .sns {
        right: 27%
    }
    header #header .fb-btn {
        width: 25px;
    }
    header #header .m-fb:hover .fb-btn-on {
        width: 25px;
    }
    #news .news-content .news-card h3 {
        font-size: 16px
    }
    #support .fsp-text {
        margin-left: 36%;
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
        margin-right: 35%;
    }
    .single.wrap .content-post .sns-btn ul li .category {
        padding: 1px 0;
    }
    .single.wrap .content-post .sns-btn ul li {
        width: 13%;
    }
    .single.wrap .content-post .post .under-sns-btn {
        bottom: 465px;
    }
    .content-post .to-news-list a {
        padding: 20px 90px;
    }
    #page-post .page-post.global-about img.set-right {
        margin-left: 3%;
    }
    #page-post .page-post.global-about p strong {
        font-size: 18px;
    }
    #page-post .page-post.management p.h2 {
        font-size: 21px;
        font-weight: bold;
        margin-bottom: 20px;
    }
    #page-post .page-post.management div.profile-card p.h3 {
        font-size: 11px;
        font-weight: bold;
        margin: 10px auto 0;
    }
    #page-post .page-post.management div.profile-card p.h4 {
        font-size: 14px;
        font-weight: bold;
        margin-bottom: 0
    }
    #page-post .page-post.management div.profile-card p {
        font-size: 14px;
    }
    #page-post .volunteer h2 {
        font-size: 22px;
    }
    #page-post .volunteer h2 span {
        font-size: 35px;
    }
    #page-post .donation .r-block {
        margin-right: 2%;
    }
    header .number {
        font-size: 16px;
        top: 25%;
    }
    header .number span {
        font-size: 26px;
    }
}

@media screen and (max-width: 1024px) {
    header #header .h1 {
        width: 450px;
    }
    header #header .h1 .logo img {
        width: 60px;
        margin-right: 10px;
    }
    header #header .h1 h1 {
        font-size: 20px;
    }
    header #header .h1 p {
        font-size: 20px;
        padding: 6px 0;
    }
    header #header .h1 h1 span {
        font-size: 12px;
    }
    header #header .h1 p span {
        font-size: 12px;
    }
    header #header .sns {
        right: 29%
    }
    header #header .sns-sponsor {
        margin-top: 20px;
    }
    #pick-up .pick-up-4 .pick-up-content {
        margin: 50px auto;
    }
    #pick-up .pick-up-5 .pick-up-content {
        margin: 50px auto;
    }
    #pick-up .pick-up-6 .pick-up-content {
        margin: 50px auto;
    }
    #sponsor div h3 {
        padding-left: 3%;
    }
    #support .sp-hide {
        display: none;
    }
    #support div img {
        width: 47%;
    }
    #support .fsp-text {
        margin: 0 0 0 47%;
    }
    footer .footer {
        padding: 60px 5% 30px;
    }
    footer .footer h4 {
        font-size: 14px;
    }
    footer .footer div ul li {
        font-size: 12px;
    }
    footer #footer p {
        padding-left: 2.5%;
    }
    .hb-menu,
    .single.wrap {
        padding: 0 2.5%;
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
        margin-right: 30%;
        width: 18%;
    }
    .single.wrap .content-post .sns-btn ul li:last-of-type {
        margin-left: 2%;
    }
    .content-post .to-news-list a {
        padding: 20px 80px;
    }
    .single.wrap .content-post .post .under-sns-btn {
        bottom: 430px;
    }
    .content-post #cta_container #cta-link {
        bottom: 13%
    }
    .content-post #wp_cta_55_variation_0 #cta_container .cta_button,
    .content-post #wp_cta_55_variation_0 #cta_container input[type="button"],
    .content-post #wp_cta_55_variation_0 #cta_container button[type="submit"],
    .content-post #wp_cta_55_variation_0 #cta_container input[type="submit"] {
        padding-left: 60px;
        padding-right: 60px;
    }
    #page-post .page-post table th {
        width: 10%;
    }
    #page-post .page-post.ioi2018jp table td .sp-hide {
        display: none;
    }
    #page-post .page-post.about .gran-bg>div {
        width: auto;
        margin: 0 5%;
    }
    #page-post .page-post.global-about img.set-right {
        width: 47%;
    }
    #page-post #post-sponsor div img.acer {
        width: 25%;
    }
    #page-post .page-post.post-sponsor .sps-contact {
        padding: 70px 2.5% 50px;
    }
    #page-post .page-post.post-support .sps-contact {
        padding: 70px 2.5% 50px;
    }
    #page-post .volunteer h2 {
        font-size: 22px;
    }
    #page-post .volunteer br.pc-hide {
        display: block;
    }
    #page-post .volunteer .w-block.w-1 p.p-title {
        font-size: 13px;
    }
    #page-post .page-post.contact-page .wrap .s-block {
        padding: 0 50px;
    }
    #page-post .donation p.strong-font {
        margin-left: 25px;
        font-size: 18px;
    }
    #page-post .donation-page .dona-page-fro {
        width: 80%;
    }
    .management-link a {
        font-size: 10px;
        top: 25%;
        right: 20%;
    }
    header #menu>ul>li br {
        display: none;
    }
    .dwa a {
        font-size: 20px;
    }
}

@media screen and (max-width: 900px) {
    .single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
        width: 23%;
        margin-right: 19%;
    }
    #page-post .volunteer h2 {
        font-size: 21px;
    }
    header .number {
        font-size: 14px;
        left: 55%;
    }
    header .number br {
        display: none;
    }
}

@media screen and (max-width: 800px) {
    header #header {
        padding-bottom: 60px;
    }
    header #header .tw-b {
        right: inherit;
        top: inherit;
        transform: translate(0, 100%);
        left: 0;
        bottom: -10px;
    }
    header #header .m-fb {
        left: 34%;
    }
    header #header .sns-sponsor .fb-btn {
        width: 25px;
    }
    header #header .sns-sponsor .tw-btn {
        float: left;
        width: 25px;
        margin: 5px;
    }
    header #header .sns-sponsor .m-fb:hover .fb-btn-on {
        float: left;
        width: 25px;
        margin: 5px;
    }
    header #header .sns-sponsor .m-tw:hover .tw-btn-on {
        float: left;
        width: 25px;
        margin: 5px;
    }
    header #header .sns-sponsor .acer-logo {
        float: left;
        height: 25px;
        margin: 5px;
    }
    header #menu>ul>li {
        font-size: 12px;
    }
    header #menu>ul li div ul li {
        font-size: 12px;
    }
    header #menu>ul li div {
        top: 45px
    }
    .single.wrap .content-post .sns-btn ul li:first-of-type {
        margin-left: 0;
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
        margin-right: 10%;
        padding-left: 2%;
        width: 22%;
    }
    .single.wrap .content-post .sns-btn ul li {
        margin-left: 3%;
    }
    #news .news-content {
        width: 49%;
        margin: 0 .5% 10px;
    }
    #news .news-content:nth-of-type(4n) {
        margin-right: .5%
    }
    #news .news-content:nth-of-type(3n) {
        margin-right: 0;
    }
    .content-post #wp_cta_943_container #cta_container #cta-link {
        font-size: 11px;
    }
    .content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container .text {
        top: 9%;
        left: 5%;
    }
    #page-post .page-post .s-block {
        padding: 0;
    }
    #page-post .page-post table.s-block {
        margin: auto;
    }
    #page-post .volunteer h1 {
        margin-bottom: 40px
    }
    #page-post .volunteer .s-block {
        padding: 0;
    }
    #page-post .volunteer .w-block {
        padding: 0 15px;
    }
    #page-post .volunteer .w-block.w-1 p.p-title {
        font-size: 12px;
    }
    #page-post .volunteer .w-block p {
        font-size: 12px;
    }
    #page-post .volunteer .w-block.w-1 p.p-mail {
        font-size: 14px;
    }
    #page-post .volunteer .w-block.w-1 p.c-mail {
        font-size: 20px;
    }
    #page-post .volunteer .p-wrap h2 {
        font-size: 26px;
    }
    #page-post .volunteer .vc-crg {
        font-size: 17px;
    }
    #page-post .volunteer .vc-tel {
        font-size: 20px;
    }
    #page-post .volunteer .vc-mail label {
        font-size: 20px;
    }
    #page-post .volunteer .s-block table th,
    #page-post .volunteer .s-block table td {
        display: block;
        width: 100%;
    }
    #page-post .volunteer .s-block table th,
    #page-post .volunteer .s-block table td {
        padding: 20px 20px;
    }
    #page-post .volunteer .c-block {
        padding: 45px 0 50px;
    }
    #page-post .volunteer .vc-mail {
        margin-top: 30px;
    }
    #page-post .post-donation .s-block {
        padding: 0;
    }
    #page-post .donation p.strong-font {
        margin-left: 35px;
    }
    .management-link a {
        top: 20%;
        right: 12%;
    }
}

@media screen and (max-width: 768px) {
    header #header {
        padding: 10px 2.5% 60px;
    }
    header #header .h1 {
        margin-top: 10px;
    }
    header #header .sns {
        top: 28%;
    }
    header #header .sns-sponsor {
        margin-top: 2%;
    }
    header #menu>ul li {
        font-size: 11px;
    }
    header #menu>ul li a {
        padding: 10px 0;
        font-size: 10px;
    }
    header #menu>ul li div {
        top: 38px;
    }
    header #menu>ul li div ul li {
        font-size: 10px;
        padding: 10px 0;
        text-align: center;
    }
    #news h2,
    #pick-up h2,
    #support h2,
    #sponsor h2 {
        font-size: 24px;
        margin: 30px auto 20px;
    }
    #news {
        padding-top: 30px;
    }
    #news h2 {
        margin-top: 0;
        margin-bottom: 20px;
    }
    #news .news-content .news-card h3 {
        font-size: 14px;
    }
    #pick-up .pc-hide {
        display: block;
    }
    #pick-up .sp-hide {
        display: none;
    }
    #pick-up .pc-hide img {
        width: 100%;
    }
    #pick-up .pick-up-content {
        float: none;
    }
    #support {
        padding-bottom: 50px;
    }
    #support .sp-hide {
        display: block;
    }
    #support h2 {
        margin: 0 auto 45px;
    }
    #support div img {
        float: none;
        width: 50%;
        margin: auto;
    }
    #support .fsp-text {
        margin: 0;
    }
    footer .footer>div:last-of-type h4 {
        padding-left: 5px;
    }
    footer .footer h4 {
        font-size: 11px;
    }
    footer .footer div ul li {
        font-size: 10px;
    }
    .pagination .wp-pagenavi a,
    .wp-pagenavi span {
        padding: 15px 25px;
        font-size: 24px;
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
        margin-right: 8%;
        width: 21%;
    }
    .single.wrap .content-post .sns-btn ul li {
        width: 16%;
    }
    .single.wrap .content-post h2 {
        margin-bottom: 20px;
        font-size: 24px;
    }
    .single.wrap .content-post h3 {
        margin-bottom: 15px;
        font-size: 20px;
    }
    .single.wrap .content-post h4 {
        font-size: 16px;
    }
    .single.wrap .content-post p {
        line-height: 1.5;
        font-size: 14px;
    }
    .content-post .below_content {
        margin-top: 60px;
        margin-bottom: 30px;
    }
    .content-post #wp_cta_55_variation_0 .cta_content {
        font-size: 13px;
    }
    #wp_cta_55_variation_0 #cta_container img {
        width: 36%;
        height: auto;
    }
    .content-post #cta_container #cta-link {
        bottom: 13%;
        right: 14%;
        font-size: 14px;
    }
    .content-post #wp_cta_55_variation_0 #cta_container .cta_button,
    .content-post #wp_cta_55_variation_0 #cta_container input[type="button"],
    .content-post #wp_cta_55_variation_0 #cta_container button[type="submit"],
    .content-post #wp_cta_55_variation_0 #cta_container input[type="submit"] {
        padding-left: 40px;
        padding-right: 40px;
        padding-top: 5px;
        padding-bottom: 5px;
    }
    .single.wrap .content-post .post .under-sns-btn {
        bottom: 280px;
        left: 33%;
    }
    .content-post .to-news-list {
        width: 40%;
        margin: 0 auto 20px;
    }
    .content-post .to-news-list a {
        padding: 10px 30px;
        font-size: 18px;
    }
    footer .footer {
        padding: 40px 5% 20px;
    }
    #page-post .page-post h1 {
        margin-bottom: 40px;
    }
    .gran-line {
        margin: 35px 0 20px;
    }
    #page-post .page-post h3 {
        line-height: 1.6;
    }
    #page-post .page-post table th {
        width: 13%;
    }
    #page-post .page-post table td {
        padding-bottom: 5px;
    }
    #page-post .page-post div.post-card {
        border: 2px solid #f1f1f1;
    }
    #page-post .page-post div.pc-hide {
        display: block;
        width: 80%;
        margin: 20px auto;
    }
    #page-post .page-post div.post-card {
        padding: 3%;
    }
    #page-post .page-post div.post-card table th {
        width: 23%;
        vertical-align: middle;
    }
    #page-post .page-post div.post-card table td {
        padding-left: 20px;
        vertical-align: middle;
    }
    #page-post .page-post div.post-card table td h3 {
        line-height: 1.5;
    }
    #page-post .page-post.ioi2018jp table.sp-hide {
        display: none;
    }
    #page-post .page-post.about .gran-bg>div .hd-title {
        width: 55%;
        left: 23%;
    }
    #page-post .page-post .about-movie>div div iframe {
        height: 150px;
    }
    #page-post .page-post.global-about .sp-hide {
        display: none;
    }
    #page-post .page-post.global-about .pc-hide {
        display: block;
    }
    #page-post .page-post.global-about img.pc-hide {
        display: block;
        width: 85%;
        margin: auto;
        margin-bottom: 30px;
    }
    #page-post .page-post.global-about p strong {
        font-size: 15px;
    }
    #page-post .page-post.ioi-japan p.be-cri {
        padding-left: 3%;
    }
    #page-post .page-post.ioi-japan p.be-cri::before {
        left: 0;
    }
    #page-post .page-post.ioi-japan p.aft {
        padding-left: 3%;
    }
    #page-post #post-sponsor div img.acer {
        width: 30%;
    }
    #page-post #post-sponsor div img.hidachi {
        width: 40%;
    }
    #page-post #post-sponsor div img.last {
        width: 25%;
    }
    #page-post #post-sponsor div table {
        margin: 30px auto;
    }
    #page-post .page-post.post-sponsor .sps-contact {
        padding: 60px 2.5% 40px;
    }
    #page-post .page-post.post-support .sps-contact {
        padding: 60px 2.5% 40px;
    }
    #page-post .page-post.post-support .h2 {
        font-size: 28px;
    }
    #page-post .page-post.post-support .h3 {
        font-size: 20px;
        font-weight: bold;
    }
    #page-post .page-post.management p.h2 {
        font-size: 18px;
        margin-bottom: 15px;
    }
    #page-post .page-post.contact-page .wrap .s-block table select {
        width: 100%;
    }
    #page-post .page-post.contact-page .wrap .s-block table input {
        width: 100%;
    }
    #page-post .volunteer h2 {
        font-size: 18px;
        margin-bottom: 20px;
    }
    #page-post .volunteer h2 {
        font-size: 20px;
    }
    #page-post .volunteer .w-block.w-2 h3 {
        font-size: 18px;
    }
    #page-post .donation .r-block {
        margin-right: 0;
    }
    header .number {
        top: 15%;
        left: 55%;
    }
    .pc-hide {
        display: block;
    }
    .sp-hide {
        display: none;
    }
    #header .h1 {
        margin: 0;
    }
    header #header .h1 {
        width: 100%;
        margin-top: 0;
    }
    header #header .h1 .logo img {
        width: 44px;
        margin-right: 10px;
    }
    header #header .h1 h1 {
        font-size: 13px;
        padding: 3px 0;
    }
    header #header .h1 h1 span {
        font-size: 10px;
    }
    header #header .h1 p {
        font-size: 13px;
        padding: 3px 0;
    }
    header #header .h1 p span {
        font-size: 10px;
    }
    header #header .sns-sponsor {
        margin-top: 1%;
        margin-right: 10%;
    }
    header #header .sns-sponsor .acer-logo {
        height: 20px;
    }
    header .sp-menu-btn {
        display: block;
        width: 30px;
        height: 25px;
        position: absolute;
        right: 2.5%;
        top: 12px;
        background-image: url(img/sp-menu-btn.png);
        background-repeat: no-repeat;
        background-size: cover;
    }
    header .sp-menu-open {
        background: url(img/menu-close.png);
        background-size: cover;
    }
    header .sp-menu {
        display: none;
        position: absolute;
        top: 65px;
        background-color: #fff;
        width: 100%;
        z-index: 5001;
        padding-bottom: 20px;
        text-align: center;
    }
    header .sp-menu .sp-menu-list {
        margin: 0 5%;
    }
    header .sp-menu .sp-menu-list>li {
        font-size: 20px;
        padding: 10px 0 10px 10%;
        border-bottom: 2px solid #e50039;
        position: relative;
        text-align: left;
    }
    header .sp-menu a.link::before {
        content: "";
        position: absolute;
        background: url(img/sp_menu_right.png);
        background-repeat: no-repeat;
        background-size: cover;
        left: -10px;
        top: 10px;
        width: 24px;
        height: 24px;
        transform: translate(-100%, -50%);
    }
    header .sp-menu .sp-menu-list>li a:hover {
        color: #000;
    }
    header .sp-menu a.link.down-menu-open::before {
        background: url(img/sp_menu_down.png);
        background-repeat: no-repeat;
        background-size: cover;
        z-index: 10
    }
    header .sp-menu .sp-menu-list>li ul.down-menu {
        display: none;
    }
    header .sp-menu .sp-menu-list>li ul {
        margin: 5px;
    }
    header .sp-menu .sp-menu-list>li ul li {
        font-size: 18px;
        padding: 5px 0;
    }
    header .sp-menu .sns-btn {
        margin-top: 5px;
    }
    header .sp-menu .sns-btn a img {
        float: left;
        margin: 5px;
        width: 30px;
    }
    .management-link {
        display: none;
    }
    footer .footer {
        padding: 30px 0 15px;
    }
    footer .footer>div:first-of-type {
        width: 100%;
        padding-left: 0;
        position: relative;
        padding-top: 0;
        margin-bottom: 0;
        display: block;
    }
    footer .footer>div:first-of-type img {
        width: 33%;
        margin: 0
    }
    footer .footer>div:first-of-type span {
        position: absolute;
        top: 19%;
        right: 22%;
    }
    footer .footer>div:first-of-type span::before {
        content: "＞";
        position: absolute;
        left: -15px;
        top: 5%;
        width: 20px;
        height: 20px;
        font-size: 14px;
        color: #e50039;
        font-weight: bold;
    }
    footer #footer p {
        text-align: center;
        font-size: 12px;
        padding: 10px 0;
    }
}

@media screen and (max-width: 700px) {
    header .number {
        display: none;
    }
}

@media screen and (max-width: 600px) {
    #support .sp-hide {
        display: none;
    }
    .slick-slide img.sp-hide {
        display: none;
    }
    .slick-slide img.pc-hide {
        display: block;
    }
    .clearfix-sp::after {
        display: block;
        clear: both;
        content: "";
    }
    .top .slick-dotted.slick-slider {
        margin-bottom: 0;
    }
    #news h2,
    #pick-up h2,
    #support h2,
    #sponsor h2 {
        font-size: 18px;
    }
    #sponsor h2 {
        line-height: 1.5
    }
    #sponsor h2 span {
        font-size: 10px;
    }
    #news {
        padding: 35px 3% 0;
    }
    #news .news-content .news-card h3 {
        font-size: 16px;
    }
    #news .news-content .news-card {
        height: 180px;
    }
    #news .slick-dotted.slick-slider {
        margin-bottom: 0;
    }
    #news .slick-dots {
        bottom: -35px;
    }
    #news .news-lists {
        text-align: right;
        font-size: 12px;
        padding: 11px 0 20px;
        position: relative;
        z-index: 5;
    }
    #pick-up .slick-dotted.slick-slider {
        margin-bottom: 45px;
    }
    #pick-up .slick-dots {
        bottom: -25px;
    }
    #support h2 {
        margin-bottom: 30px;
    }
    #support h3 {
        margin-bottom: 15px;
    }
    #support div a {
        color: #e50039;
    }
    #support div a:hover {
        color: #e50039;
    }
    #sponsor div,
    #sponsor div.official,
    #sponsor div.special,
    #sponsor div.golds,
    #sponsor div.silvers,
    #sponsor div.bronze,
    #sponsor div.support {
        height: auto;
    }
    #sponsor div>img {
        width: 100%;
        margin-left: 0;
        margin-top: 10px;
        padding-bottom: 10px;
    }
    #sponsor div h3 {
        padding-left: 9%;
        font-size: 18px;
    }
    #sponsor div h3::before {
        top: 0;
    }
    #sponsor div.diamonts h3::before {
        top: -10%;
    }
    #sponsor div ul {
        margin-left: 6%;
        padding: 10px 0 00px;
    }
    #sponsor div ul.acer {
        text-align: center;
    }
    #sponsor div.support ul {
        padding: 0;
    }
    #sponsor div ul li {
        width: 25%;
        margin-right: 8%;
    }
    #sponsor div.official ul li {
        width: 30%;
    }
    #sponsor div.golds ul li {
        width: 26%;
    }
    #sponsor div.golds ul li.sp-lg {
        width: 48%;
    }
    #sponsor div.silvers ul li {
        width: 24%;
    }
    #sponsor div.bronze ul li {
        width: 20%;
        margin-right: 3%;
    }
    #sponsor div.bronze ul li.c1 {
        width: 27%;
    }
    #sponsor div.bronze ul li.c2 {
        width: 17%;
    }
    #sponsor div.bronze ul li.c3 {
        width: 22%;
    }
    #sponsor div.bronze ul li.c4 {
        width: 17%;
    }
    #sponsor div.bronze ul li.c6 {
        width: 22%;
    }
    #sponsor div.silvers ul li.c7 {
        width: 12%;
        margin-right: 3%;
    }
    #sponsor div.golds ul li.c8 {
        width: 37%;
    }
    #sponsor div.support ul li {
        font-size: 12px;
        padding: 10px 0;
        padding-right: 10px;
    }
    #sponsor div ul.ntt li {
        width: 48%;
    }
    #sponsor div.add ul li {
        padding: 10px 0;
    }
    .dwa a {
        font-size: 16px;
    }
    .single.wrap .content-post {
        width: auto;
        float: none;
    }
    .single.wrap .content-post .sns-btn ul li:first-of-type {
        width: 25%;
    }
    .single.wrap .content-post .sns-btn ul li:first-of-type p {
        font-size: 14px;
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
        margin-right: 3%;
        width: 23%;
    }
    .single.wrap .content-post .sns-btn ul li .category {
        padding: 0px 12px;
    }
    .single.wrap .content-post .sns-btn ul li {
        width: 19%;
    }
    .single.wrap .content-post h1 {
        font-size: 24px;
    }
    .single.wrap .content-post h2 {
        font-size: 22px;
        margin-bottom: 20px;
    }
    .single.wrap .content-post h3 {
        font-size: 20px;
        margin-bottom: 15px;
    }
    .single.wrap .content-post p {
        font-size: 14px;
    }
    .single.wrap .content-post .post .under-sns-btn {
        bottom: 335px;
        left: 29%;
    }
    .content-post .wp_cta_container {
        height: auto;
        border: 3px solid #e50039;
    }
    .content-post #wp_cta_55_container.wp_cta_container {
        height: auto;
    }
    .content-post #wp_cta_55_variation_0 #cta_container {
        padding-bottom: 30px;
    }
    .content-post #wp_cta_55_variation_0 .cta_content {
        font-size: 13px;
    }
    .content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container p {
        font-size: 13px;
    }
    #wp_cta_55_variation_0 #cta_container img {
        width: 45%;
        height: auto;
    }
    .content-post #wp_cta_55_container #cta_container #cta-link {
        position: inherit;
    }
    .content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container .cta_button,
    .content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container input[type="button"],
    .content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container button[type="submit"],
    .content-post #wp_cta_55_container #wp_cta_55_variation_0 #cta_container input[type="submit"] {
        margin: auto;
        margin-left: 24.5%;
        margin-top: 10px;
        margin-bottom: 20px;
        font-size: 16px;
        padding: 5px 26px;
    }
    .content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container {
        text-align: center;
    }
    .content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container .text {
        position: inherit;
        margin: 20px auto 10px;
    }
    .content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container p {
        text-align: center;
    }
    .content-post #wp_cta_943_container #cta_container #cta-link {
        position: inherit;
    }
    .content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container .cta_button,
    .content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container input[type="button"],
    .content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container button[type="submit"],
    .content-post #wp_cta_943_container #wp_cta_943_variation_0 #cta_container input[type="submit"] {
        margin: 10px auto 20px;
    }
    .content-post .to-news-list {
        width: 40%;
        margin: 0 auto 20px;
    }
    .content-post .to-news-list a {
        padding: 10px 20px;
        font-size: 16px;
    }
    #sidebar {
        float: none;
        width: auto;
    }
    #sidebar .sidebar-wrapper:first-of-type {
        border-left: none;
        padding-left: 0;
    }
    #sidebar .sidebar-wrapper:first-of-type h4 {
        border-bottom: 1px solid;
    }
    #sidebar .sidebar-wrapper:last-of-type {
        margin-top: 30px;
        border-left: none;
        padding-left: 0;
    }
    #sidebar .sidebar-wrapper:last-of-type h4 {
        border-bottom: 1px solid;
    }
    .pagination {
        margin: 20px auto 25px
    }
    .pagination .wp-pagenavi a,
    .wp-pagenavi span {
        padding: 5px 15px;
        font-size: 18px;
    }
    #page-post .page-post h1 {
        margin-bottom: 30px;
        font-size: 32px;
    }
    .gran-line {
        margin: 25px 0 20px;
    }
    #page-post .page-post h2 {
        margin-bottom: 20px;
        font-size: 18px;
    }
    #page-post .page-post .s-block>img {
        margin-bottom: 20px;
    }
    #page-post .page-post p {
        font-size: 14px;
    }
    #page-post .page-post .pc-hide {
        display: block;
    }
    #page-post .page-post .sp-hide {
        display: none;
    }
    #page-post .page-post table {
        font-size: 15px;
    }
    #page-post .page-post table th {
        width: 23%;
    }
    #page-post .page-post table td {
        padding-bottom: 5px;
    }
    #page-post .page-post div.post-card {
        border: 2px solid #f1f1f1;
        padding: 5%;
        width: auto;
    }
    #page-post .page-post div.pc-hide {
        display: block;
    }
    #page-post .page-post div.post-card {
        padding: 3%;
    }
    #page-post .page-post div.post-card table {
        width: 85%;
        margin: 0 auto 10px;
    }
    #page-post .page-post div.post-card table th {
        width: 40%;
        vertical-align: middle;
    }
    #page-post .page-post div.post-card table h3 span {
        font-size: 24px;
    }
    #page-post .page-post div.post-card table td {
        padding-left: 20px;
        vertical-align: middle;
    }
    #page-post .page-post div.post-card table td h3 {
        font-size: 16px;
        font-weight: bold;
        line-height: 2;
    }
    #page-post .page-post table.sp-hide {
        display: none;
    }
    #page-post .page-post.about .gran-bg>div .hd-title {
        width: 100%;
        left: 0%;
    }
    #page-post .page-post .about-movie h3 {
        text-align: center;
        margin-top: 10px;
    }
    #page-post .page-post .about-movie>div div {
        width: 100%;
        margin-bottom: 20px;
        margin-right: 0;
    }
    #page-post .page-post .about-movie>div div iframe {
        height: auto;
    }
    #page-post .page-post.ioi-japan p.be-cri {
        padding-left: 5%;
    }
    #page-post .page-post.ioi-japan p.aft {
        padding-left: 5%;
    }
    #page-post .page-post.ioi-japan table td {
        padding-right: 15px;
    }
    #page-post .page-post.post-sponsor h2.mg {
        margin: 30px auto;
    }
    #page-post .page-post.post-sponsor h2 span {
        font-size: 10px;
    }
    #page-post .page-post.post-sponsor .mercari_hphoto {
        width: 100%;
    }
    #page-post .page-post.post-sponsor h3 {
        font-size: 16px;
        line-height: 1.5;
    }
    #page-post .page-post.post-sponsor img.set-left {
        width: 100%;
        margin-right: 0;
        float: none;
    }
    #page-post .page-post.post-sponsor img.set-right {
        width: 100%;
        margin-left: 0;
        float: none;
    }
    #page-post .page-post.post-sponsor .sps-contact {
        padding: 40px 2.5% 30px;
    }
    #page-post .page-post.post-sponsor .s-block table img.pc-hide {}
    #page-post .page-post.post-sponsor table th {
        padding-right: 0;
        position: relative;
    }
    #page-post .page-post.post-sponsor table.sps-menu img.pc-hide {
        position: absolute;
        top: 15px;
        right: 0;
        width: 45%;
    }
    #page-post .page-post.post-sponsor table.sps-menu h3 {
        margin-top: 3px;
        font-size: 16px;
        width: 56%;
        line-height: 1.5;
    }
    #page-post #post-sponsor div.diamonts img {
        height: auto;
    }
    #page-post #post-sponsor div {
        padding: 0;
        text-align: left;
    }
    #page-post #post-sponsor div img {
        width: 100%;
    }
    #page-post #post-sponsor div>img {
        width: 100%;
        margin-left: 0;
        margin-top: 10px;
        padding-bottom: 10px;
    }
    #page-post #post-sponsor div h3 {
        font-size: 17px;
        width: auto;
    }
    #page-post #post-sponsor div h3::before {
        top: 15%;
    }
    #page-post #post-sponsor div ul li {
        margin-right: 5%;
    }
    #page-post #post-sponsor div.support ul li {
        font-size: 12px;
        padding: 10px 0;
        padding-right: 10px;
    }
    #page-post #post-sponsor div.support ul,
    #page-post #post-sponsor div table {
        text-align: left;
    }
    #page-post #post-sponsor div.golds h3::before,
    #page-post #post-sponsor div.silvers h3::before,
    #page-post #post-sponsor div.bronze h3::before,
    #page-post #post-sponsor div.support h3::before {
        left: 0;
    }
    #page-post #post-sponsor div ul {
        padding: 10px 0 0px;
        margin-left: 6%;
    }
    #page-post #post-sponsor div.support ul {
        padding: 0px;
    }
    #page-post #post-sponsor div.diamonts ul li {
        width: 48%;
    }
    #page-post #post-sponsor div.golds ul li {
        width: 24%;
        margin-right: 3%;
    }
    #page-post #post-sponsor div.golds ul li.sp-lg {
        width: 48%;
    }
    #page-post #post-sponsor div.silvers ul li {
        width: 24%;
    }
    #page-post #post-sponsor div.bronze ul li {
        width: 20%;
        margin-right: 3%;
    }
    #page-post #post-sponsor div.bronze ul li.c1 {
        width: 24%;
    }
    #page-post #post-sponsor div.bronze ul li.c2 {
        width: 18%;
    }
    #page-post #post-sponsor div.bronze ul li.c3 {
        width: 23%;
    }
    #page-post #post-sponsor div.bronze ul li.c4 {
        width: 18%;
    }
    #page-post #post-sponsor div.bronze ul li.c6 {
        width: 22%;
    }
    #page-post #post-sponsor div.silvers ul li.c7 {
        width: 12%;
        margin-right: 2%;
    }
    #page-post #post-sponsor div.add ul li {
        width: 24%;
    }
    #page-post .page-post.post-support .sps-contact {
        padding: 40px 0 30px;
    }
    #page-post .page-post.post-support .wrap .s-block {
        margin-top: 30px
    }
    #page-post .page-post.post-support img.set-left {
        width: 55%;
        margin: 0 auto 20px;
        float: none;
    }
    #page-post .page-post.post-support img.set-right {
        width: 55%;
        margin: 0 auto 20px;
        float: none;
    }
    #page-post .page-post.post-support .h2 {
        font-size: 20px;
        margin-bottom: 15px;
    }
    #page-post .page-post.post-support .h3 {
        font-size: 18px;
        margin-bottom: 10px;
    }
    #page-post .page-post.post-support div.pc-hide {
        width: 100%;
    }
    #page-post .page-post.post-support div.pc-message-right {
        margin-left: 0;
    }
    #page-post .page-post.post-support div.pc-message-left {
        margin-right: 0;
    }
    #page-post .page-post.management div.profile-card {
        width: 48%;
        float: left;
        margin-right: 4%;
    }
    #page-post .page-post.management div.profile-card:nth-of-type(3n) {
        margin-right: 4%;
    }
    #page-post .page-post.management div.profile-card:nth-of-type(2n) {
        margin-right: 0;
    }
    #page-post .page-post.management div.float-right {
        margin-left: 0%
    }
    #page-post .page-post.management p.h2 {
        margin-top: 15px;
        font-size: 16px;
        margin-bottom: 0;
    }
    #page-post .page-post.management p .h2strong {
        font-size: 20px;
        font-weight: bold;
    }
    #page-post .page-post.management img.set-left {
        margin-bottom: 20px;
    }
    #page-post .page-post.management table th {
        white-space: nowrap;
        width: auto;
    }
    #page-post .page-post.management table td {
        white-space: normal;
        padding-left: 15px;
    }
    #page-post .page-post.sitemap {
        margin: 0 10%;
    }
    #page-post #post-sponsor div.official ul li {
        width: 35%;
        margin-right: 0;
    }
    #page-post #post-sponsor div.official img {
        margin: auto;
        width: 100%;
    }
    #page-post #post-sponsor div.special ul li {
        width: 100%;
        margin-right: 0;
        padding: 20px 0;
    }
    #page-post #post-sponsor div.special img {
        margin: auto;
        width: 25%;
    }
    #page-post #post-sponsor h3 {
        text-align: center;
        padding: 15px 0;
    }
    #page-post #post-sponsor>h3 {
        margin: 10px auto 0;
        text-align: center;
        font-size: 17px;
        margin-bottom: 20px;
    }
    #page-post #post-sponsor>h3 br {
        display: block
    }
    #page-post #post-sponsor>h3 span {
        font-size: 14px;
    }
    #page-post #post-sponsor div h4 {
        font-size: 17px;
        text-align: left;
        padding-left: 9%;
        width: auto;
    }
    #page-post #post-sponsor div h4::before {
        left: 0;
        top: 0%;
    }
    #page-post #post-sponsor div.diamonts h4::before {
        top: -10%;
    }
    #page-post #post-sponsor div.golds h4::before {
        left: 0%;
    }
    #page-post #post-sponsor div.silvers h4::before {
        left: 0%;
    }
    #page-post #post-sponsor div.bronze h4::before {
        left: 0%;
    }
    #page-post #post-sponsor div.support h4::before {
        left: 0%;
    }
    #page-post .page-post.post-sponsor .s-block>a {
        width: 40%;
    }
    #page-post .volunteer .wrap {
        padding-bottom: 40px;
    }
    #page-post .volunteer h1 {
        margin-bottom: 30px;
        font-size: 32px;
    }
    #page-post .volunteer h2 {
        font-size: 16px;
    }
    #page-post .volunteer h2 span {
        font-size: 26px;
    }
    #page-post .volunteer .w-block.w-2 h3 {
        font-size: 15px;
    }
    #page-post .volunteer .w-block.w-2 h3 label {
        font-size: 13px;
        vertical-align: 1px;
        padding: 1px 5px;
    }
    #page-post .volunteer .w-block {
        float: none;
        width: 100%;
        padding: 0;
    }
    #page-post .volunteer .w-block.w-2 {
        margin-top: 30px;
        border-left: 0;
    }
    #page-post .volunteer .w-block.w-1 p.c-tel {
        margin-bottom: 20px;
    }
    #page-post .volunteer .p-wrap {
        padding: 30px 0 25px;
    }
    #page-post .volunteer .p-wrap h2 {
        font-size: 16px;
    }
    #page-post .volunteer .p-wrap h3 {
        font-size: 15px;
    }
    #page-post .volunteer .w-block.w-2 a.to-con {
        font-size: 16px;
        padding: 5px 0;
        width: 195px;
    }
    #page-post .volunteer .s-block table {
        margin: 20px auto;
    }
    #page-post .volunteer .s-block table th,
    #page-post .volunteer .s-block table td {
        padding: 10px 15px;
        font-size: 14px;
    }
    #page-post .volunteer .s-block table td {
        font-size: 12px;
    }
    #page-post .page-post.contact-page .wrap .s-block {
        padding: 0;
    }
    #page-post .page-post.contact-page .wrap .s-block table th {
        font-size: 16px;
    }
    #page-post .page-post.contact-page .wrap .s-block table select {
        padding: 8px 10px;
        font-size: 18px
    }
    #page-post .page-post.contact-page .wrap .s-block table textarea {
        padding: 8px 10px;
        font-size: 18px
    }
    #page-post .page-post.contact-page .wrap .s-block table input {
        padding: 8px 10px;
        font-size: 18px
    }
    #page-post .page-post.contact-page .wrap .s-block p input {
        width: 70%;
        height: 50px;
    }
    #page-post .page-post.contact-finish .wrap p {
        font-size: 16px;
        text-align: center;
    }
    #page-post .page-post.contact-finish .wrap p.red {
        font-size: 12px;
        text-align: center;
        margin: 25px auto;
    }
    #page-post .page-post.contact-finish .wrap table th {
        font-size: 14px;
        display: block;
        padding-top: 20px;
    }
    #page-post .page-post.contact-finish .wrap table td {
        font-size: 14px;
        display: block;
        padding: 20px 0
    }
    #page-post .post-donation h1 {
        margin-top: 20px;
        margin-bottom: 30px;
        font-size: 32px;
    }
    #page-post .donation h2 {
        font-size: 18px;
        margin-bottom: 20px;
    }
    #page-post .donation h2 span {
        font-size: 26px;
    }
    #page-post .post-donation p,
    #page-post .donation p {
        font-size: 14px;
    }
    #page-post .donation .s-block>div {
        padding: 0 2.5%;
    }
    #page-post .donation .crowf-font,
    #page-post .donation .dona-font {
        float: none;
    }
    #page-post .donation .r-block {
        width: 60%;
        margin: 0;
        margin: auto;
        padding: 10px 2.5%;
        margin-top: 10px;
        float: none;
        height: auto;
    }
    #page-post .donation .r-block a {
        display: block;
        width: 100%;
        height: 100%;
        line-height: 1;
        font-size: 14px;
        padding: 10px 30px;
    }
    #page-post .donation .crowf-img a {
        line-height: 26px;
    }
    #page-post .donation .r-block p.strong-font {
        font-size: 14px;
        line-height: 1;
        margin: 0;
    }
    #page-post .donation img {
        float: left;
        margin-right: 10px;
        width: 100%;
        margin-top: 0;
    }
    #page-post .donation p.crowf-font {
        margin-top: 10px;
        padding-top: 0;
    }
    #contact {
        text-align: center;
        padding: 35px 0;
    }
    .contact {
        font-size: 18px;
        width: 60%;
        height: auto;
        padding: 15px 0;
    }
    #page-post .crowdfunding .readyfor-side {
        float: none;
        width: 60%;
        position: relative;
        height: 100%;
        margin: auto;
    }
    #page-post .crowdfunding .readyfor-side div {
        margin-top: 30px;
    }
    #page-post .crowdfunding .readyfor-side img {
        width: 100%;
    }
    #page-post .crowdfunding .return {
        width: 100%;
        float: none;
        margin-top: 30px;
        margin-left: auto;
    }
    #page-post .donation-page h2,
    #page-post .crowdfunding .s-block h2 {
        font-size: 18px;
    }
    .dona-center {
        margin-top: 30px;
    }
    #page-post .name-list {
        margin-top: 20px;
    }
    #page-post .donation-page .dona-page-fro {
        width: 95%;
    }
    #page-post .name-list table {
        margin-top: 30px;
    }
    #page-post .name-list td:first-of-type {
        padding-left: 25px;
    }
    #page-post .name-list td:last-of-type {
        padding-right: 25px;
    }
    #page-post .crowdfunding .readyfor-side a {
        padding: 1%;
        width: 100%;
    }
    #page-post .crowdfunding .readyfor-side div a::after {
        content: '';
        width: 10px;
        height: 10px;
        border: 0px;
        border-top: solid 2px #f1000e;
        border-right: solid 2px #f1000e;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        top: 13%;
        right: 10%;
        margin-top: 1px;
        border-radius: 12%;
    }
    #page-post .crowdfunding .readyfor-side img.rf-logo {
        width: 70%;
        margin: 10px;
    }
    #page-post .crowdfunding .readyfor-side p {
        font-size: 13px;
    }
    header .number {
        display: none;
    }
    #page-post .donation-page .dona-page-fro a {
        font-size: 16px;
    }
    #page-post .donation-page .dona-page-fro p.s {
        font-size: 18px;
    }
}

@media screen and (max-width: 375px) {
    header .sp-menu .sp-menu-list>li {
        font-size: 18px;
        padding: 8px 0 8px 10%;
    }
    header .sp-menu .sp-menu-list>li a::before {
        width: 20px;
        height: 20px;
        font-size: 18px;
        top: 9px;
    }
    header .sp-menu .sp-menu-list>li ul li {
        font-size: 16px;
    }
    header .sp-menu-btn {
        width: 30px;
        height: 25px;
        top: 12px;
    }
    #news .news-content .news-card h3 {
        font-size: 12px;
    }
    #support h2 {
        margin-bottom: 20px;
    }
    #sponsor div h3 {
        font-size: 16px;
    }
    #sponsor div h3::before {
        width: 16px;
        height: 16px;
    }
    footer #footer p {
        font-size: 11px;
    }
    .single.wrap .content-post .sns-btn ul li:first-of-type {
        width: 28%;
    }
    .single.wrap .content-post .sns-btn ul li:first-of-type p {
        font-size: 14px;
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
        margin-right: 2%;
        width: 23%;
        font-size: 14px;
        padding-left: 2%;
        margin-left: 0;
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(3) {
        margin-left: 0;
    }
    .single.wrap .content-post .sns-btn ul li {
        width: 21%;
    }
    .single.wrap .content-post .sns-btn ul li .category {
        padding: 0px 8px;
    }
    .single.wrap .content-post h1 {
        font-size: 22px;
    }
    .single.wrap .content-post h2 {
        font-size: 20px;
        margin-bottom: 15px;
    }
    .single.wrap .content-post h3 {
        font-size: 18px;
        margin-top: 15px;
        margin-bottom: 10px;
    }
    .single.wrap .content-post h4 {
        font-size: 14px;
    }
    .single.wrap .content-post .post .under-sns-btn {
        bottom: 310px;
        left: 26%;
    }
    .content-post #wp_cta_55_variation_0 #cta_container .cta_button,
    .content-post #wp_cta_55_variation_0 #cta_container input[type="button"],
    .content-post #wp_cta_55_variation_0 #cta_container button[type="submit"],
    .content-post #wp_cta_55_variation_0 #cta_container input[type="submit"] {
        font-size: 14px;
        padding: 5px 25px;
    }
    .content-post .to-news-list a {
        font-size: 14px;
        padding: 5px 0px;
    }
    .content-post #wp_cta_55_variation_0 #cta_container #main-headline {
        padding-top: 5px;
        padding-bottom: 5px;
    }
    #page-post .page-post h1 {
        font-size: 24px;
        margin-bottom: 20px;
    }
    #page-post .page-post h1 br {
        display: block;
    }
    #page-post .page-post h2 {
        font-size: 16px;
    }
    #page-post .page-post h3 {
        font-size: 16px;
        font-weight: 450;
    }
    #page-post .page-post p {
        font-size: 14px;
    }
    #page-post .page-post table {
        font-size: 15px;
    }
    #page-post .page-post div.post-card table th {
        width: 40%;
    }
    #page-post .page-post div.post-card table td h3 {
        font-size: 14px;
    }
    #page-post .page-post div.post-card table h3 span {
        font-size: 22px;
    }
    #page-post .page-post.about .gran-bg>div .hd-title p {
        font-size: 18px;
    }
    #page-post .page-post.about .gran-bg>div h2 {
        font-size: 20px;
    }
    #page-post .page-post.ioi-japan p.be-cri::before {
        top: 5px;
    }
    #page-post .page-post.ioi-japan ul li {
        font-size: 14px;
    }
    #page-post .page-post.ioi-japan table.schedule {
        font-size: 14px;
    }
    #page-post .page-post.post-sponsor h2.mg {
        margin: 20px auto;
    }
    #page-post .page-post.post-sponsor table.sps-menu h3 {
        margin-top: 0px;
        font-size: 14px;
    }
    #page-post .page-post.post-support .h2 {
        font-size: 18px;
    }
    #page-post .page-post.post-support .h3 {
        font-size: 16px;
        margin-bottom: 5px;
    }
    #page-post .page-post.management p.h2 {
        font-size: 14px;
    }
    #page-post .page-post.management div.profile-card p.h3 {
        font-size: 10px;
    }
    #page-post .volunteer h1 {
        margin-bottom: 20px;
        font-size: 28px;
    }
    #page-post .volunteer h2 {
        font-size: 14px;
    }
    #page-post .volunteer h2 span {
        font-size: 24px;
    }
    #page-post .volunteer .w-block.w-2>p {
        font-size: 11px;
        margin-bottom: 15px;
    }
    #page-post .volunteer .w-block>p {
        margin-bottom: 15px;
    }
    #page-post .volunteer .w-block.w-2 h4 {
        font-size: 13px;
    }
    #page-post .volunteer .p-wrap h2 {
        font-size: 14px;
        margin-bottom: 10px;
    }
    #page-post .volunteer .p-wrap h3 {
        font-size: 13px;
    }
    #page-post .volunteer .s-block table th,
    #page-post .volunteer .s-block table td {
        padding: 5px 10px;
        font-size: 12px;
    }
    #page-post .donation h2 {
        font-size: 14px;
        margin-bottom: 20px;
    }
    #page-post .donation h2 span {
        font-size: 24px;
    }
    #page-post .donation p.strong-font {
        font-size: 16px;
    }
    #page-post .donation-page .zeikin .dona-zei td:first-of-type {
        padding-right: 15px;
    }
    #page-post .donation .r-block a {
        padding: 10px 20px;
    }
}

@media screen and (max-width: 360px) {
    #news h2,
    #pick-up h2,
    #support h2,
    #sponsor h2 {
        font-size: 16px;
    }
    .single.wrap .content-post .sns-btn ul li:first-of-type {
        margin-left: 0;
        width: auto;
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
        margin-left: 0;
        width: auto;
        margin-right: 40%;
        margin-bottom: 5px;
    }
    .single.wrap .content-post .sns-btn ul li {
        width: auto;
        margin-left: 1%;
    }
    #page-post .page-post div.post-card table h3 span {
        font-size: 21px;
    }
    #page-post .page-post.about .gran-bg>div .hd-title p {
        font-size: 17px;
    }
    #page-post .page-post.about .gran-bg>div h2 {
        font-size: 18px;
    }
    #page-post .page-post.post-support .sp-profile p {
        font-size: 12px;
    }
    #page-post .page-post.management div.profile-card p.h4,
    #page-post .page-post.management div.profile-card p {
        font-size: 12px;
    }
    #page-post #post-sponsor div h4 {
        font-size: 16px;
    }
    #page-post .volunteer .s-block table td {
        font-size: 11px;
    }
    #page-post .donation-page .zeikin .dona-zei td:first-of-type {
        padding-right: 5px;
    }
}

@media screen and (max-width: 320px) {
    header .sp-menu .sp-menu-list>li {
        font-size: 16px;
    }
    .out-link a {
        font-size: 80%;
    }
    #news .slick-dots li {
        margin: 0 5px
    }
    .single.wrap .content-post .sns-btn ul li {
        margin-top: 5px;
        margin-left: 3%
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(2) {
        margin-right: 40%;
    }
    .single.wrap .content-post .sns-btn ul li:nth-of-type(3) {
        margin-left: 0;
    }
    header #header .sns-sponsor {
        margin-top: 1%;
        margin-right: 12%;
    }
    header #header .sns-sponsor .acer-logo {
        height: 10px;
    }
    header .sp-menu-btn {
        width: 18px;
        height: 15px;
        top: 15px;
    }
    #support h2 {
        font-size: 16px;
    }
    #sponsor div h3 {
        font-size: 14px;
    }
    #sponsor div h3::before {
        width: 14px;
        height: 14px;
    }
    footer #footer p {
        font-size: 10px;
    }
    #page-post .page-post h1 {
        font-size: 22px;
    }
    #page-post .page-post h2 {
        font-size: 14px
    }
    #page-post .page-post p.red {
        font-size: 120%
    }
    #page-post .page-post div.post-card table {
        width: 95%;
    }
    #page-post .page-post.about .gran-bg>div .hd-title p {
        font-size: 15px;
    }
    #page-post .page-post.ioi-japan p {
        font-size: 12px;
    }
    #page-post .page-post.ioi-japan p.be-cri::before {
        top: 3px;
        width: 12px;
        height: 12px;
    }
    #page-post .page-post.ioi-japan table th p {
        padding: 5px;
        font-size: 12px;
    }
    #page-post .page-post.ioi-japan ul li {
        font-size: 11px;
    }
    #page-post .page-post.ioi-japan table.schedule th {
        font-size: 12px;
    }
    #page-post .page-post.ioi-japan table.schedule td {
        font-size: 11px;
    }
    #page-post #post-sponsor div h3 {
        font-size: 15px
    }
    #page-post #post-sponsor div h3::before {
        width: 15px;
        height: 15px;
        top: 0%
    }
    #page-post .page-post.post-sponsor table.sps-menu h3 {
        font-size: 12px;
    }
    #page-post .page-post.post-support .h2 {
        font-size: 16px;
    }
    #page-post .page-post.post-support .sp-profile p {
        font-size: 11px;
    }
    #page-post .page-post.management p.h2 {
        font-size: 12px;
    }
    #page-post #post-sponsor div h4 {
        font-size: 15px;
    }
    #page-post .volunteer h1 {
        font-size: 22px;
    }
    #page-post .volunteer h2 {
        font-size: 12px;
    }
    #page-post .volunteer h2 span {
        font-size: 18px;
    }
    #page-post .volunteer .w-block.w-1 div {
        padding: 20px 10px;
    }
    #page-post .volunteer .w-block.w-1 p.p-mail {
        font-size: 12px;
    }
    #page-post .volunteer .w-block.w-1 p.c-mail {
        font-size: 18px;
        padding-left: 22px;
    }
    #page-post .volunteer .w-block.w-1 p.c-mail::before {
        width: 20px;
        height: 16px;
        top: 20%;
        left: 0;
    }
    #page-post .volunteer .w-block.w-2 h3 {
        font-size: 12px;
    }
    #page-post .volunteer .w-block.w-2 h3 label {
        font-size: 11px;
    }
    #page-post .volunteer .w-block.w-2 h4 {
        font-size: 11px;
        padding-left: 17px;
    }
    #page-post .volunteer .w-block.w-2 h4::before {
        width: 8px;
        height: 8px;
    }
    #page-post .volunteer .w-block.w-2 div {
        padding: 10px 0;
        font-size: 11px;
    }
    #page-post .volunteer .w-block.w-2 a.to-con {
        font-size: 14px;
        width: 55%;
    }
    #page-post .volunteer .p-wrap h2 {
        font-size: 12px;
    }
    #page-post .volunteer .p-wrap h3 {
        font-size: 11px;
    }
    #page-post .volunteer .s-block table th,
    #page-post .volunteer .s-block table td {
        font-size: 10px;
    }
    #page-post .page-post.contact-finish .wrap p {
        font-size: 14px;
        text-align: center;
    }
    #page-post .page-post.contact-finish .wrap p.red {
        font-size: 11px;
        text-align: center;
        margin: 25px auto;
    }
    #page-post .page-post.contact-finish .wrap table th {
        font-size: 12px;
        display: block;
        padding-top: 20px;
    }
    #page-post .page-post.contact-finish .wrap table td {
        font-size: 12px;
        display: block;
        padding: 20px 0
    }
    #page-post .donation .r-block a {
        font-size: 12px;
    }
    #page-post .donation .r-block p.strong-font {
        font-size: 12px;
    }
    #page-post .crowdfunding .readyfor-side div a::after {
        content: '';
        width: 8px;
        height: 8px;
        top: 14%;
    }
    #page-post .donation .r-block a {
        padding: 10px;
    }
}

@media print {
    a[href]::after {
        content: none !important;
    }
}

.enter a {
    font-size: 18px;
    display: block;
    line-height: 1;
    background-color: #e50039;
    color: #fff;
    padding: 11px 0;
    margin-top: 10px;
    margin-right: 10px;
    width: 120px;
    text-align: center;
    border: 2px solid #e50039;
}

.enter a:hover {
    background-color: #fff;
    color: #e50039
}

.mypage a {
    font-size: 18px;
    display: block;
    line-height: 1;
    background-color: #e50039;
    color: #fff;
    padding: 11px 0;
    margin-top: 10px;
    margin-right: 20px;
    width: 120px;
    text-align: center;
    border: 2px solid #e50039;
}

.mypage a:hover {
    background-color: #fff;
    color: #e50039
}

@media screen and (max-width: 768px) {
    header #header .sns-sponsor {
        margin-left: auto;
        margin-right: auto;
        float: none;
        text-align: center;
    }
    .new-l {
        margin: 10px auto 0;
        float: none;
        display: none;
    }
    .enter a {
        margin-top: 0;
        font-size: 14px;
        padding: 6px 0;
        width: 120px;
    }
    .mypage a {
        margin-right: 0;
        margin-top: 0;
        font-size: 14px;
        padding: 6px 0;
        width: 120px;
    }
    footer .footer div.ft-logo {
        margin-top: 5px;
        width: 250px;
        float: none;
        margin: auto;
    }
    footer .footer div.ft-logo div.fi {
        width: 34px;
        margin-right: 5px;
    }
    footer .footer .ft-sns {
        margin-top: 15px;
        margin-left: 0;
        width: 100%;
        text-align: center;
        float: none
    }
    footer .footer>div:first-of-type img {
        width: auto;
    }
    footer .footer div.se {
        width: auto;
        height: auto;
        margin-bottom: 0;
    }
    footer .footer>div:first-of-type p {
        font-size: 13px;
        padding: 3px 0;
    }
    footer .footer>div:first-of-type p span {
        position: static;
        font-size: 10px;
    }
    footer .footer>div:first-of-type span {
        display: inline-block;
        position: relative;
        top: 0;
        right: 0;
    }
}

#page-post .page-post.ioi-japan table.be-ta {
    font-size: 16px;
}

#page-post .page-post.ioi-japan table.be-ta th {
    width: 125px;
    font-weight: normal;
    vertical-align: top;
    line-height: 1.5;
    background-color: transparent;
}

#page-post .page-post.ioi-japan table.be-ta td {
    vertical-align: top;
    line-height: 1.5;
    padding: 0 0 10px;
}

@media screen and (max-width: 600px) {
    #page-post .page-post.ioi-japan table.be-ta {
        font-size: 15px;
    }
    #page-post .page-post.ioi-japan table.be-ta th {
        width: 100px;
    }
    #page-post .page-post.ioi-japan table.be-ta td {
        padding-bottom: 5px;
    }
}

.slider01 .slick-dots {
    bottom: -30px;
}

@media screen and (max-width: 600px) {
    .top .slick-dotted.slick-slider {
        margin-bottom: 30px;
    }
}

.add-ab {
    margin-bottom: 60px;
}

.add-ab p {
    font-size: 20px;
}

.add-ab p a {
    color: #e50039;
}

@media screen and (max-width: 600px) {
    .add-ab {
        margin-bottom: 40px;
    }
    .add-ab p {
        font-size: 16px;
    }
}

.ctt {
    margin-top: 50px;
}

#page-post .post-donation .ctt p {
    font-size: 14px;
}

.ctt br {
    display: none;
}

@media screen and (max-width: 600px) {
    .ctt br {
        display: block;
    }
}

.wpcf7 form.sent .wpcf7-response-output {
    border: 2px solid #e50039;
}

#page-post .page-post .s-block>img.fl-i {
    float: left;
    width: 250px;
}

#page-post .page-post p.fl-t {
    float: left;
    padding-left: 30px;
    width: calc(100% - 250px);
}

#page-post .page-post p.fl-t img {
    display: inline-block;
    margin-bottom: 5px;
    width: auto;
}

@media screen and (max-width: 1024px) {
    #page-post .page-post .s-block>img.fl-i {
        float: none;
        display: block;
        margin: auto;
        margin-bottom: 30px;
    }
    #page-post .page-post p.fl-t {
        float: none;
        width: 100%;
        padding-left: 0;
    }
}

@media screen and (max-width: 800px) {
    #page-post .page-post .s-block>img.fl-i {
        width: 150px;
    }
}

.add_tm {
    width: 900px;
    max-width: 95%;
    margin: 20px auto;
    font-size: 0;
    border: 1px solid #b9b9b9;
    padding: 30px 50px
}

.add_tm div {
    display: inline-block;
    vertical-align: middle;
}

.add_tm div:first-of-type {
    margin-right: 70px;
}

#page-post .post-donation .add_tm div img {
    width: 160px;
    margin: auto
}

@media screen and (max-width: 1000px) {
    .add_tm {
        width: 70%;
        padding: 20px 40px;
    }
    .add_tm div {
        display: block;
    }
    .add_tm div:first-of-type {
        margin-right: 0;
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 600px) {
    .add_tm {
        width: 100%;
        padding: 20px;
    }
    #page-post .post-donation .add_tm div img {
        width: 120px;
        margin: auto
    }
}

.sp-profile {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
}

.movie-item {
    width: calc(100% / 2 - 20px);
    margin-right: 40px;
    margin-bottom: 30px;
}

.movie-item:nth-of-type(2n) {
    margin-right: 0;
}

.movie-item iframe {
    width: 100%;
    height: 250px;
    display: block;
}

#page-post .page-post .movie-item p {
    margin-top: 10px;
    font-size: 20px;
    font-weight: bold;
}

@media screen and (max-width: 800px) {
    .movie-item iframe {
        height: 200px
    }
    #page-post .page-post .movie-item p {
        font-size: 16px;
    }
}

@media screen and (max-width: 600px) {
    .sp-profile {
        display: block;
    }
    .movie-item {
        width: 100%;
    }
    .movie-item iframe {
        height: 53vw;
    }
    #page-post .page-post.post-support .sp-profile p {
        line-height: 1.6
    }
}


/* 2022 */


/* 06-07 */

.flex {
    display: flex;
}

header #menu p.menu-ttl {
    background-color: #e50039;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    padding: 1.3em 60px;
    margin: 0;
    text-align: left;
    margin-bottom: 20px;
}

.down-menu {
    text-align: left;
}

.down-menu div.flex div:not(:last-of-type) {
    margin-right: 40px;
}

.down-menu div.flex div.menu-1 {
    width: calc((100% - 270px) / 3);
}
.down-menu div.flex div.menu-2 {
    width: 150px;
}
.down-menu div.flex div.menu-3 {
    width: calc((100% - 80px) / 3);
}

.down-menu p.ttl-a {
    font-size: 16px;
    padding: 10px 0;
    border-bottom: 1px solid #c8c8c8;
    font-weight: 700;
    margin-bottom: 10px;
}

.down-menu p.ttl-a a[href]:hover {
    color: #e50039;
}

.down-menu ul.flex {
    flex-wrap: wrap;
    justify-content: space-between;
}

.down-menu ul.flex li {
    width: 50%;
    text-align: left;
    padding-right: 9%;
}

.down-menu div.flex li a {
    font-size: 16px;
    line-height: 1.5;
    padding: 8px 0;
    display: inline-block;
}

.down-menu a[href] {
    position: relative
}

.down-menu a[href]::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    transform: translate(100%, 0%);
    right: -8px;
    bottom: 4px;
    background-image: url(img/2020/arrow.svg)
}

.down-menu li a[href]::after {
    bottom: inherit;
    top: 13px;
}

.down-menu li a.no-link {
    opacity: .7;
    cursor: inherit;
    color: #c8c8c8;
}

header #menu>ul li div ul li a.no-link:hover {
    color: #c8c8c8;
}

.down-menu-2 .down-menu p.ttl-a {
    margin-right: 40px;
    max-width: 240px;
    width: 100%;
    margin-bottom: 0;
}

.ft-menu_item {
    width: calc(100% / 4);
    padding-left: 30px;
}
.ft-menu_item:not(:last-of-type) {
    border-right: 1px solid #c8c8c8;
}

.ft-menu_item li a.no-link {
    opacity: .7;
    cursor: inherit;
    color: #c8c8c8;
}

@media screen and (max-width: 1210px) {
    footer .footer h4 {
        font-size: 12px;
    }
    footer .footer div ul li {
        font-size: 12px;
    }
    .ft-menu_item:not(:last-of-type) {
        margin-right: 30px;
    }
}

@media screen and (max-width: 1000px) {
    footer .footer h4 {
        font-size: 1.3vw;
    }
    footer .footer div ul li {
        font-size: 1.3vw;
    }
    .ft-menu-2.flex {
        display: block;
    }
}

@media screen and (max-width: 768px) {
    .sp-hide.flex {
        display: none;
    }
    .down-menu li a[href]::after {
        bottom: 4px;
        top: inherit;
    }
    header .sp-menu a.link {
        position: relative;
    }
    header .sp-menu .sp-menu-list>li ul li.d-menu {
        padding-left: 10%;
    }
    header .sp-menu .sp-menu-list>li ul li a.ttl {
        font-weight: 700;
    }
}


/* 06-11 */

.step-blk {
    display: flex;
    width: 800px;
    margin: 100px auto 200px;
}

.step {
    width: 25%;
    text-align: center;
    position: relative;
}

.dt {
    width: 25px;
    height: 25px;
    background-color: #c8c8c8;
    margin: 0 auto 20px;
    border-radius: 50%;
}

.st-line::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #c8c8c8;
    top: 12px;
    left: 50%;
    z-index: -1;
}

.arrow {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    bottom: -50px;
    left: 50%;
    transform: translateX(-50%) rotate(-45deg);
}

.active .dt {
    background-color: #e50039
}

#page-post .page-post .step p {
    font-size: 18px;
}

.active p {
    color: #e50039
}

.step a {
    cursor: pointer;
}

.step a:hover p {
    opacity: .7;
}

.flex_2022 {}

@media screen and (max-width: 868px) {
    .step-blk {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .step-blk {
        width: 100%;
        margin: 60px auto 100px;
    }
    .arrow {
        width: 20px;
        height: 20px;
        bottom: -20px;
    }
    .dt {
        width: 20px;
        height: 20px;
        margin: 0 auto 10px;
    }
    .st-line::after {
        top: 9px;
    }
    #page-post .page-post .step p {
        font-size: 12px;
    }
}

#page-post .page-post .info_blk table {
    width: 100%;
    border-spacing: 0;
    border: 1px solid #000;
    border-collapse: collapse;
}

#page-post .page-post .info_blk table th,
#page-post .page-post .info_blk table td {
    border: 1px solid #000;
    padding: 15px;
    line-height: 1.5;
    font-size: 16px;
}

#page-post .page-post .info_blk table th {
    background-color: #f1f1f1;
    font-weight: 700;
}

#page-post .page-post .info_blk table th:not(:first-of-type) {
    text-align: center;
}

#page-post .page-post .info_blk table th:first-of-type {
    width: 200px
}

#page-post .page-post .info_blk table th:nth-of-type(2) {
    width: 70px;
}

#page-post .page-post .info_blk table th:nth-of-type(3) {
    width: 470px;
}

#page-post .page-post .info_blk table th:last-of-type {
    width: 70px;
}
#page-post .page-post .info_blk table th.th-2 {
    width: 200px;
    text-align: left;
    padding-right: 0;
}

#page-post .page-post .info_blk table td.td-img {
    vertical-align: middle;
}

#page-post .page-post .info_blk table td:last-of-type {
    vertical-align: middle;
    text-align: center;
}

#page-post .page-post .info_blk table img {
    width: 20px;
    margin: auto;
}

.sp-view {
    display: none;
}

#page-post .page-post .info_blk table a:hover img {
    opacity: .7;
}

@media screen and (max-width: 768px) {
    .pc-view {
        display: none;
    }
    .sp-view {
        display: block;
    }
    #page-post .page-post .info_blk_sp table {
        width: 100%;
        border-spacing: 0;
        border: 1px solid #000;
        border-collapse: collapse;
    }
    #page-post .page-post .info_blk_sp table th,
    #page-post .page-post .info_blk_sp table td {
        border: 1px solid #000;
        padding: 15px;
        line-height: 1.5;
        font-size: 14px;
    }
    #page-post .page-post .info_blk_sp table th {
        background-color: #f1f1f1;
        font-weight: 700;
    }
    #page-post .page-post .info_blk_sp table th:first-of-type {
        width: 60%;
    }
    #page-post .page-post .info_blk_sp table th:nth-of-type(2) {
        width: 20%;
        text-align: center;
    }
    #page-post .page-post .info_blk_sp table th:last-of-type {
        width: 20%;
        text-align: center;
    }
    #page-post .page-post .info_blk_sp table td:nth-of-type(2) {
        vertical-align: middle;
    }
    #page-post .page-post .info_blk_sp table td:last-of-type {
        vertical-align: middle;
        text-align: center;
    }
    #page-post .page-post .info_blk_sp table img {
        width: 20px;
        margin: auto;
    }
}

header #menu>ul li div.down-menu.active {
    display: block;
    transition: all 0.5s;
}

.yt_blk {
    width: 100%;
    max-width: 700px;
    margin: 50px auto 100px;
}

.yt_blk h3 a {
    text-decoration: underline;
}

.yt_blk .r_date {
    margin-bottom: 10px;
}

.yt_blk iframe {
    width: 100%;
    height: 450px;
}

a.pdf_dl {
    color: #f00;
    text-align: center;
    display: block;
    margin-top: 20px;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .yt_blk {
        margin: 40px auto 60px;
    }
    .yt_blk iframe {
        height: 250px;
    }
}

header #menu .clk-menu p.menu-ttl {
    font-size: 16px;
    padding: 10px 0;
    border-bottom: 1px solid #c8c8c8;
    color: #000;
    background-color: transparent;
    cursor: pointer;
}

header #menu .clk-menu p.menu-ttl span {
    position: relative;
    cursor: pointer;
    padding-right: 30px;
}

header #menu .clk-menu p.menu-ttl span::after {
    content: "";
    position: absolute;
    background-image: url(img/accordion_button.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
}

header #menu .clk-menu p.menu-ttl.down-menu-open span::after {
    transform: translateY(-50%) rotate(180deg);
}

.down-menu .sub-menu div.flex {
    padding: 0px;
}

.post ul {
    font-size: 16px;
}
.post ul li{
    line-height: 1.6;
}
.sub-menu {
    display: none;
}

.news-item {
    margin-bottom: 20px;
}
.news-item_head {
    display: flex;
}
.news-tt {
    margin-top: 15px;
}
#page-post .page-post p.news-times {
    line-height: 30px;
}
#page-post .page-post h3.news-ttl {
    margin: 0;
    line-height: 30px;
    margin-left: 25px;
    width: calc(100% - 145px);
}
#page-post .page-post h3.news-ttl a {
    font-weight: bold;
    text-decoration: underline;
}
@media screen and (max-width: 600px) {
    .post ul {
        font-size: 14px;
    }
    #page-post .page-post h3.news-ttl {
        width: 100%;
    }
}

.notice {
    padding-bottom: 35px;
}
.notice h3 {
    text-align: center;
    font-weight: bold;
}
.notice-blk {
    width: 100%;
    max-width: 1100px;
    margin: auto;
    padding: 20px 40px;
    border: 1px solid #c8c8c8;
}
.notice-blk li {
    display: flex;
    border-bottom: 1px solid #c8c8c8;
    margin-bottom: 20px;
    padding-bottom: 15px;
}
.notice_content.notice-blk li {
    margin-bottom: 40px;
}
.notice-blk li:last-child {
    margin-bottom: 0;
}
.notice-blk li p.news-times {
    line-height: 28px;
    margin: 0;
    margin-right: 30px;
    font-weight: bold;
    width: 120px;
}
.notice-blk li h4.news-ttl {
    line-height: 28px;
    margin: 0;
    width: calc(100% - 150px);
    font-size: 16px;
}
.notice-blk li h4.news-ttl a {
    text-decoration: underline;
}
#page-post .page-post .notice-blk li p.news-times {
    margin-right: 30px;
}

@media screen and (max-width: 767px) {
    .notice-blk {
        padding: 20px;
    }
    .notice-blk li {
        display: block;
        margin-bottom: 20px;
        padding-bottom: 10px;
    }
    .notice_content.notice-blk li {
        margin-bottom: 30px;
    }
    .notice-blk li p.news-times {
        width: 100%;
        margin-bottom: 5px;
        line-height: 1;
    }
    .notice-blk li h4.news-ttl {
        line-height: 1.6;
        width: 100%;
    }
}

.search {
    position: relative;
}
.search input {
    height: 30px;
    border: 1px solid #c8c8c8;
    border-radius: 20px;
    padding: 0 10px;
}
.search button {
    position: absolute;
    right: 10px;
    border: 0;
    background: #fff;
    top: 8px;
}
.search img {
    width: 16px;
}
.sp-news {
    display: flex;
    justify-content: center;
    margin: 20px 0;
}
.sp-news a {
    padding: 0 20px;
}
.sp-news a:not(:last-of-type) {
    border-right: 1px solid ;
}
.pc-news {
    display: flex;
    justify-content: flex-end;
    margin-top: 5px;
}
.pc-news a {
    padding: 0 10px;
    line-height: 1.2;
}
.pc-news a:not(:last-of-type) {
    border-right: 1px solid ;
}
@media screen and (max-width: 768px) {
    .search {
        display: inline-block;
    }
}

.past-blk {
    padding-bottom: 50px;
}
#page-post .page-post .past-blk h2 {
    background: #e50039;
    color: #fff;
    padding: 0 20px;
    line-height: 50px;
    margin-top: 0;
    margin-bottom: 30px;
    font-size: 24px;
}
.past-info {
    margin-bottom: 40px;
}
.past-info>li {
    border-bottom: 1px solid #c8c8c8;
    padding-bottom: 20px;
}
#page-post .page-post .past-blk h3 {
    font-size: 24px;
    margin-bottom: 0;
}
.joi-item {
    display: flex;
    margin-top: 25px;
}
.joi-item li {
    padding-right: 20px;
    margin-right: 40px;
}
.joi-item li:last-child {
    margin-right: 0px;
}

.past-info a {
    position: relative;
}
.past-info a::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    transform: translate(100%, 0%);
    right: -15px;
    bottom: 4px;
    background-image: url(img/2020/arrow.svg)
}
.past-info h3 a::after {
    bottom: 7px;
}
a.more-past {
    color: #e50039;
    text-decoration: underline;
}
@media screen and (max-width: 600px) {
    #page-post .page-post .past-blk h2 {
        font-size: 20px;
        line-height: 40px;
        margin-bottom: 20px;
    }
    #page-post .page-post .past-blk h3 {
        font-size: 20px;
        line-height: 1.8;
    }
    .joi-item {
        margin-top: 15px;
    }
    .joi-item li {
        padding-right: 15px;
        margin-right: 25px;
    }
    .past-info a::after {
        right: -10px;
    }
}


#page-post .page-post table.shiteikou {
	border-collapse: collapse;
	text-align: left;
	line-height: 1.5;
	border: 1px solid #000;
	margin-left: auto;
	margin-right: auto;
}

#page-post .page-post table.shiteikou thead th {
	padding: 10px;
	font-weight: bold;
	text-align: center;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	background: #dcdcd1;
}
#page-post .page-post table.shiteikou th:first-of-type {
    width: 10px;
}
#page-post .page-post table.shiteikou thead th:nth-of-type(2) {
    width: 100px;
}
#page-post .page-post table.shiteikou thead th:nth-of-type(3) {
    width: 450px;
}
#page-post .page-post table.shiteikou thead th:last-of-type {
    width: 150px;
}
#page-post .page-post table.shiteikou tbody th {
	padding: 10px;
	font-weight: bold;
	vertical-align: top;
	text-align: center;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	background: #ececec;
}
#page-post .page-post table.shiteikou td {
	padding: 10px;
	vertical-align: top;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}
#page-post .page-post table td.w {
    width: 50%;
    max-width: 250px;
    border: 1px #f8db56 solid;
    padding: 7px 12px 7px 12px;
    font-size: 0.86em;
    line-height: 1.6;
}
#page-post .page-post table th.c {
    width: 50%;
    max-width: 250px;
    border: 1px #f8db56 solid;
    padding: 7px 12px 7px 12px;
    background-color: #ffe25a5c;
}
@media screen and (max-width: 600px) {
    table.shiteikou thead th {
        padding: 5px;
    }
    #page-post .page-post table.shiteikou th:first-of-type {
        width: 5%;
    }
    #page-post .page-post table.shiteikou thead th:nth-of-type(2) {
        width: 20%;
    }
    #page-post .page-post table.shiteikou thead th:nth-of-type(3) {
        width: 50%;
    }
    #page-post .page-post table.shiteikou thead th:last-of-type {
        width: 25%;
    }
    #page-post .page-post table.shiteikou td {
        padding: 5px;
    }
}

header #menu.joi2022-h>ul {
    display: flex;
    justify-content: center;
}
header #menu.joi2022-h>ul>li {
    width: auto;
}
header #menu.joi2022-h>ul>li>a {
    padding: 0 25px;
}

.joi2022-f ul {
    display: flex;
    justify-content: center;
}
.joi2022-f ul li {
    margin-right: 20px;
}
.joi2022-f ul li:last-child {
    margin-right: 0;
}
@media screen and (max-width: 768px) {
    .joi2022-f  {
        display: none;
    }
}

.ytb {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
}
.ytb .yt_blk {
    width: calc((100% - 40px) / 3);
    margin: 0 0 50px;
    position: relative;
    padding-bottom: 30px;
    margin-right: 20px;
}
.ytb .yt_blk:nth-of-type(3n) {
    margin-right: 0;
}
.ytb .yt_blk div {
    overflow: hidden;
    height: 200px;
}
.ytb .yt_blk div img {
    position: relative;
    left: 50%;
    transform: translate(-50%,-50%);
    top: 50%;
}
#page-post .page-post .yt_blk .r_date {
    margin-bottom: 10px;
}
.ytb .yt_blk iframe {
    width: 100%;
    height: 200px;
}
#page-post .page-post .ytb .yt_blk h3 {
    line-height: 1.6;
}
.ytb a.pdf_dl {
    position: absolute;
    left: 0;
    bottom: 0;
}
a.link-btn-01 {
    display: block;
    background-color: #e50039;
    font-size: 18px;
    color: #fff;
    border: 2px solid #e50039;
    transition: all .4s ease-in-out;
    text-align: center;
    width: 300px;
    margin: 40px auto 50px;
    line-height: 40px;
}
a.link-btn-01:hover {
    color: #e50039;
    background-color: #fff;
    transition: all .4s ease-in-out;
}
#page-post .page-post .seminar h2 {
    font-weight: 700;
}
#page-post .page-post .seminar h2 span {
    font-size: 20px;
}
@media screen and (max-width: 1100px) {
    .ytb .yt_blk {
        width: calc((100% - 20px) / 2);
    }
    .ytb .yt_blk:nth-of-type(3n) {
        margin-right: 20px;
    }
    .ytb .yt_blk:nth-of-type(2n) {
        margin-right: 0px;
    }
}
@media screen and (max-width: 768px) {
    .ytb .yt_blk {
        width: 100%;
        margin-right: 0;
        padding-bottom: 0;
    }
    .ytb .yt_blk:nth-of-type(3n) {
        margin-right: 0px;
    }
    .ytb a.pdf_dl {
        position: static;
        text-align: left;
    }
    #page-post .page-post.seminar h2 span {
        font-size: 14px;
    }
}

#page-post .page-post table.c-info th {
    width: 150px;
    padding: 10px 20px;
    background-color: #f1f1f1;
    font-weight: bold;
    border: 1px solid #c8c8c8;
}
#page-post .page-post table.c-info td {
    padding: 10px 20px;
    border: 1px solid #c8c8c8;
}
#page-post .page-post table.c-info tr:last-of-type td a {
    color: #db0000;
    text-decoration: underline;
}
@media screen and (max-width: 768px) {
    #page-post .page-post table.c-info th {
        width: 100%;
        display: block;
        padding: 10px;
    }
    #page-post .page-post table.c-info td {
        display: block;
        padding: 10px;
    }
}
#page-post .page-post p.sear-ttl {
    font-size: 14px;
    padding-bottom: 15px;
    border-bottom: 1px solid;
    color: #787878;
    margin-bottom: 20px;
}
.search-item {
    margin-bottom: 15px;
}
.search-item a {
    font-weight: 700;
    text-decoration: underline;
}
.nos {
    margin: 60px auto;
}
#page-post .nos img {
    width: 200px;
    margin: auto;
}
#page-post .page-post  .nos p {
    font-size: 20px;
    text-align: center;
    font-weight: 700;
}

@media screen and (max-width: 768px)  {
    #page-post .page-post p.sear-ttl {
        margin-top: 20px;
        padding-bottom: 10px;
        margin-bottom: 15px;
    }
    .search-item {
        margin-bottom: 10px;
    }
    .search-item a {
        line-height: 1.6;
        font-size: 14px;
    }
    .nos {
        margin: 40px auto;
    }
    #page-post .nos img {
        width: 100px;
        margin: auto;
    }
    #page-post .page-post  .nos p {
        font-size: 16px;
        text-align: center;
        font-weight: 700;
        line-height: 1.6;
    }
    .c-ul li {
        text-indent: -4.2em;
        padding-left: 4.2em;
    }
}

.sl-img {
    display: none;
    position: fixed;
    top: 0;
    background: rgba(0,0,0, .5);
    left: 0;
    padding: 30px 0px;
    height: 100vh;
    overflow: hidden;
    width: 100vw;
    z-index: 1000;
}
.sl-img-in {
    height: calc(100vh - 60px);
    overflow-x: scroll;
    width: 100%;
    padding: 0px 20px;
}
#page-post .sl-img-in img {
    height: 100%;
    width: auto;
    max-width: initial;
    overflow: auto;
}

.int {
    display: flex;
    margin-top: 40px;
}
.int_item {
    width: calc((100% - 40px) / 3);
    margin-right: 20px;
    margin-bottom: 40px;
}
.int_item:nth-of-type(3n) {
    margin-right: 0px;
}
.int_item img {
    border: 1px solid #969696;
}
.int_item h3 {
    line-height: 1.6;
}
.int_item a.pdf_dl {
    text-align: left;
}
@media screen and (max-width: 768px) {
    .int {
        margin-top: 30px;
    }
    .int_item {
        width: 100%;
        margin-right: 0px;
        margin-bottom: 30px;
    }
}

.sitemp {
    display: flex;
}
.sitemap_item {
    width: calc(100% / 3);
}
.sitemp ul {
    padding-left: 30px;
}
.sitemp h2 {
    margin: 1.5em auto 1em;
}
.sitemp h3 {
    padding-left: 15px;
}

@media screen and (max-width: 1200px) {
    .sitemp {
        display: flex;
        flex-wrap: wrap;
    }
    .sitemap_item {
        width: calc(100% / 2);
    }
}
@media screen and (max-width: 768px) {
    .sitemp {
        display: block;
    }
    .sitemap_item {
        width: 100%;
    }
}

.top-sns {
    cursor: pointer;
}
.top-sns:hover {
    opacity: .6;
}
.modal-sns {
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,.5);
    top: 0;
    left: 0;
    z-index: 1;
    display: none;
}
.modal-in {
    width: 80%;
    margin: auto;
    max-width: 800px;
    background: #fff;
    padding: 70px 100px;
    display: flex;
    justify-content: space-between;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.sns-close {
    position: absolute;
    right: 15px;
    top: 15px;
    border-radius: 50%;
    background: #e50039;
    width: 25px;
    height: 25px;
    cursor: pointer;
}
.sns-close::before {
    content: "";
    width: 15px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    transform: translate(-50%, -50%) rotate(45deg);
    top: 50%;
    left: 50%;
    position: absolute;
}
.sns-close::after {
    content: "";
    width: 15px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    transform: translate(-50%, -50%) rotate(-45deg);
    top: 50%;
    left: 50%;
    position: absolute;
}
.sns-close:hover {
    opacity: .6;
}
.sns-item {
    width: calc((100% - 30px) / 2);
    border: 1px solid #b4b4b4;
}
.sns-item a {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    padding: 50px 0 20px;
}
.sns-item a:hover {
    opacity: .6;
}
.sns-item img {
    width: 80px;
    margin-bottom: 50px;
}
.sns-item p {
    margin: 0;
    font-size: 20px;
}

@media screen and (max-width: 768px) {
    .modal-in {
        padding: 50px 30px;
        height: 400px;
        flex-direction: column;
        justify-content: space-between;
    }
    .sns-close {
        right: 10px;
        top: 10px;
    }
    .sns-item {
        width: 100%;
    }
    .sns-item a {
        padding: 30px 0 20px;
    }
    .sns-item img {
        width: 50px;
        margin-bottom: 15px;
    }
    .sns-item p {
        font-size: 16px;
    }
}
#page-post .page-post p.ps {
    font-size: 14px;
}
.page-post p a {
    text-decoration: underline;
}
#page-post .page-post.ioi-japan table.ioi-tb01 {
    width: 100%;
    margin: 40px 0 20px;
}
#page-post .page-post.ioi-japan table.ioi-tb01 td {
    width: auto;
    padding: 5px;
    text-align: center;
    border: 1px solid;
}
#page-post .page-post.ioi-japan table.ioi-tb01 th {
    border: 1px solid;
    text-align: center;
    font-weight: bold;
}
#page-post .page-post.ioi-japan table.ioi-tb01 tr:first-of-type td {
    text-align: center;
}
#page-post .page-post.ioi-japan table.ioi-tb01 td:first-of-type {
    text-align: center;
}
#page-post .page-post.ioi-japan table.ioi-tb01 td a {
    text-decoration: underline;
}
#page-post .page-post.ioi-japan table.ioi-tb01 th a {
    text-decoration: underline;
}
#page-post .page-post.ioi-japan ul {
    margin-left: 2rem;
}
#page-post .page-post.ioi-japan ul a {
    text-decoration: underline;
}
#page-post .page-post.ioi-japan ul.ioi-ul01 {
    margin: 20px auto;
    margin-left: 2rem;
}
#page-post .page-post.ioi-japan table.ioi-tb02 {
    width: 100%;
    margin: auto;
}
#page-post .page-post.ioi-japan table.ioi-tb02 th {
    padding: 0 5px;
}
#page-post .page-post.ioi-japan table.ioi-tb02 td {
    padding: 5px;
}
#page-post .page-post.ioi-japan table.ioi-tb02 td a {
    text-decoration: underline;
}
#page-post .page-post.ioi-japan table.ioi-tb02 th a {
    text-decoration: underline;
}
div.problem {
    border: 1px solid #888888;
    border-radius: 2px;
    margin-bottom: 1em;
    padding: 0.8em;
    background-color: #FEFEFE;
}
div.problem h3 {
    border: 0;
    margin: 0;
    margin-top: 0.4em;
    padding: 0;
    font-size: x-large;
}
div.problem h4 {
    border: 0;
    padding: 0;
    font-size: large;
    font-weight: bold;
}
div.testcase {
    font-family: monospace;
    line-height: 140%;
    border: 1px solid #888888;
    border-radius: 4px;
    margin-bottom: 1em;
    padding: 0.8em;
    background-color: #EEEEEE;
}
div.program {
    margin-bottom: 1em;
    text-align: center;
}
a.card {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 680px;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
    text-decoration: none;
    margin-top: 20px;
    margin-bottom: 40px;
}
a.card:hover{
    box-shadow: 0 10px 15px 0 rgba(0, 0, 0, .5);
  }
a.card div.title {
    padding: 12px;
    font-size: larger;
    font-weight: bold;
    background-color: #ff8844;
    color: white;
}
a.card div.img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-fit: cover;
    max-height: 200px;
}
.y-img {
    margin: 20px auto 0;
}
.y-img img {
    width: 100%;
    max-width: 320px;
    display: inline-block;
}
#page-post .page-post.ioi-japan table.ioi-tb03 th {
    text-align: center;
}
#page-post .page-post.ioi-japan table.ioi-tb03 td img {
    width: 35px;
    margin: auto;
}
#page-post .page-post.ioi-japan table.ioi-tb03 td a {
    text-decoration: underline;
}
#page-post .page-post.ioi-japan table.ioi-tb03 th a {
    text-decoration: underline;
}
.addbtn a {
    display: inline-block;
    padding: 20px;
    border-radius: 10px;
    background-color: #db0000;
    border-color: #db0000;
    color: #fff;
    opacity: 1;
}

@media screen and (max-width: 768px) {
    #page-post .page-post.ioi-japan table th p {
        white-space: break-spaces;
    }
    #page-post .page-post.ioi-japan table.ioi-tb01 td {
        font-size: 10px;
    }
    #page-post .page-post.ioi-japan table.ioi-tb01 th a {
        font-size: 13px;
        padding: 0 5px;
    }
}

#page-post .page-post p.pdf-i span {
    font-size: 12px;
    background: #e50039;
    display: inline-block;
    line-height: 18px;
    padding: 0 7px;
    color: #fff;
    border-radius: 3px;
}


.camp-list {
    margin-bottom: 40px;
}
.camp-list li {
    line-height: 2;
}
.camp-list li a {
    text-decoration: underline;
}

#page-post .page-post.seminar .s-block > p {
    margin-bottom: .6em;
}
#page-post .page-post.seminar .s-block > ul li {
    line-height: 1.8;
}

.balloonL {
    width: 100%;
    margin: 1em 0;
    overflow: hidden;
}
.balloonL .faceicon {
    float: left;
    margin-right: -70px;
    width: 60px;
}
.balloonL .faceicon img {
    width: 100%;
    height: auto;
    border-radius: 50%;
}
.balloonL .chatting {
    width: 100%;
}
.says {
    display: inline-block;
    position: relative;
    margin: 5px 0 0 100px;
    padding: 14px 13px;
    border-radius: 12px;
    background: #f1f1f1;
}
.says:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 18px;
    left: -24px;
    border: 12px solid transparent;
    border-right: 12px solid #f1f1f1;
}
.seminar dt {
    position: relative;
    font-weight: 500;
    padding-left: 24px;
    font-size: 16px;
}
.seminar dt::before {
    position: absolute;
    left: 0;
    content: 'Q. ';
    color: #c80021;
}
.seminar dd {
    position: relative;
    padding-left: 24px;
    font-size: 16px;
}
.seminar dd::before {
    position: absolute;
    left: 0;
    content: 'A. ';
    color: #0085C8;
}
@media screen and (max-width: 768px) {
    #page-post .page-post.seminar h3 {
        font-weight: bold;
    }
    .seminar dt,
    .seminar dd {
        font-size: 14px;
    }
    #page-post .page-post.seminar table {
        font-size: 14px;
        border-spacing: 0;
        border: 1px solid #333;
        border-bottom: 0;
    }
    #page-post .page-post.seminar table th {
        display: block;
        width: 100%;
        padding: 15px;
        border: 0;
        border-bottom: 1px solid #333;
    }
    #page-post .page-post.ioi-japan table th p {
        padding: 0;
    }
    #page-post .page-post.seminar table td {
        display: block;
        width: 100%;
        padding: 15px;
        border: 0;
        border-bottom: 1px solid #333;
    }
    #page-post .page-post.seminar ul li,
    #page-post .page-post.seminar ol li {
        font-size: 14px;
    }
    .seminar .contact {
        line-height: 1.5;
    }
}

.ceremony_ttl {
    line-height: 1.5;
}
.ceremony_ttl span {
    font-size: 32px;
}
#page-post .page-post h1.ceremony_ttl br {
    display: block;
}
#page-post .page-post h1.ceremony_ttl br.sp-view {
    display: none;
}
.ceremony-s-block {
    margin-top: 60px;
}
.ceremony-s-block h2 {
    font-weight: bold;
    margin-top: 15px;
}
.ceremony_img-content {
    display: flex;
    flex-wrap: wrap;
}
.ceremony_img-item {
    cursor: pointer;
    width: calc((100% - 90px) / 4);
    margin-bottom: 35px;
    margin-right: 30px;
}
.ceremony_img-item:nth-of-type(4n) {
    margin-right: 0;
}
.ceremony_img-item img {
    margin-bottom: 15px;
}
.ceremony_img-item p {
    font-weight: bold;
}
.photo_model {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    width: 100vw;
    height: 100vh;
}
.model_box {
    width: 100%;
    max-width: 920px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#page-post .page-post .model_box p {
    font-size: 20px;
    color: #fff;
    margin-bottom: 10px;
    font-weight: bold;
}
.model-close {
    width: 32px;
    height: 32px;
    position: absolute;
    top: 50px;
    right: 60px;
    cursor: pointer;
}
.model-close::before {
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    transform: rotate(45deg);
}
.model-close::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    transform: rotate(-45deg);
}

@media screen and (max-width: 768px) {
    #page-post .page-post h1.ceremony_ttl {
        font-size: 24px;
    }
    #page-post .page-post h1.ceremony_ttl br.sp-view {
        display: block;
    }
    .ceremony_ttl span {
        font-size: 16px;
    }
    .ceremony-s-block {
        margin-top: 35px;
    }
    .ceremony-s-block h2 {
        font-weight: bold;
        margin-top: 10px;
    }
    .ceremony_img-item {
        width: calc((100% - 25px) / 2);
        margin-bottom: 20px;
        margin-right: 25px;
    }
    .ceremony_img-item:nth-of-type(2n) {
        margin-right: 0;
    }
    #page-post .page-post .model_box p {
        font-size: 14px;
        padding: 0 5%;
    }
    .model-close {
        top: 20px;
        right: 5%;
    }
}

#add {
    text-align: center;
}
#add h2 {
    margin: 35px auto 25px;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
}
#add div {
    background-color: #fff;
}
.tiktok-embed {
    border-left: 0;
}
#add .news-lists {
    text-align: center;
    font-size: 18px;
    padding: 30px 0 35px;
}
#add .news-lists a {
    border-bottom: 1px solid;
}
@media screen and (max-width: 768px) {
    #add h2 {
        margin: 30px auto 20px;
    }
}
@media screen and (max-width: 600px) {
    #add h2 {
        font-size: 18px;
    }
    #add .news-lists {
        text-align: right;
        font-size: 12px;
        padding: 11px 3% 20px;
        position: relative;
        z-index: 5;
    }
}