@charset "utf-8";
/* 
    Theme Name: 情報オリンピック
    Description: ioi 2018 japan
    Theme URI: 
    Author: JoJo
    Version: 0.1
*/
* {
    margin: 0;
    padding: 0;
}
img {
    display: block;
}
ul {
    font-size: 0;
}
ul li, ol li {
    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: 30%;
    float: left;
}
header #header h1 img {
    width: 100%;
    height: auto;
}
header #header .sns-sponsor {
    margin-top: 2%;
    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 .sns-sponsor .tw-btn {
    float: left;
    width: 30px;
    margin: 5px;
}
header #header .sns-sponsor .m-tw .tw-btn-on {
    display: none;
}
header #header .sns-sponsor .m-tw:hover .tw-btn {
    display: none;
}
header #header .sns-sponsor .m-tw:hover .tw-btn-on {
    display: block;
    float: left;
    width: 30px;
    margin: 5px;
}
header #header .sns-sponsor .acer-logo {
    float: left;
    height: 60px;
    margin: 5px;
    margin-left: 20px;
}
header #menu {
    background-color: #fff
}
header #menu>ul {
    margin: 0;
    display: table;
    width: 97%;
    margin: auto;
}
header #menu>ul>li {
    display: table-cell;
    font-size: 12px;
    width: auto;
    padding: 10px 0;
    text-align: center;
    position: relative;
    transition: all .4s ease-in-out;
    width: 12.5%;
    vertical-align: middle;
    border-left: 1px solid #b9b9b9;
}
header #menu>ul>li:last-of-type {
    border-right: 1px solid #b9b9b9;
}
header #menu>ul li:hover {
    background-color: #e50039;
    transition: all .4s ease-in-out;
}
header #menu>ul li.ltba:hover {
    background-color: #fff;
}
header #menu>ul li a {
    display: block;
    font-size: 12px
}
header #menu>ul li a:hover {
    text-decoration: none;
}
header #menu>ul li:hover>a{
    color: #fff;
}
header #menu>ul li.ltba:hover>a{
    color: #f1f1f1;
}
header #menu>ul li div {
    display: none;
    position: absolute;
    top: 54px;
    color: #000;
    left: 0;
    width: 100%;
    z-index: 10;
}
header #menu>ul li:hover div {
    border: 1px solid #e50039;
    border-top: none;
    box-sizing: border-box;
}
header #menu>ul li div ul {
    background-color: #fff;
    font-size: 0;
}
header #menu>ul li div ul li a {
    padding: 14px 0 15px;
}
header #menu>ul li div ul li {
    padding: 0 3%;
    font-size: 14px;
    color: #000;
    width: 100%;
    transition: all .4s ease-in-out;
}
header #menu>ul li div ul li:hover {
    background-color: #e50039;
    transition: all .4s ease-in-out;
}

.slider01 img {
    width: 100%;
}

#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;
}
#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/pickup_1.png);
    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: 550px;
    height: 270px;
    float: right;
    margin: 115px auto;
    background-color: #fff;
}
#pick-up .pick-up-2 {
    background: url(img/pickup_2.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 50%;
    float: left;
}
#pick-up .pick-up-2:hover {
    background-color: #fff;
    opacity: .75;
}
#pick-up .pick-up-2 .pick-up-content {
    width: 320px;
    height: 170px;
    float: right;
    margin: 65px auto;
}
#pick-up .pick-up-3 {
    background: url(img/pickup_3n.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 50%;
    float: left;
}
#pick-up .pick-up-3:hover {
    background-color: #fff;
    opacity: .75;
}
#pick-up .pick-up-3 .pick-up-content {
    width: 320px;
    height: 170px;
    float: right;
    margin: 65px auto;
}
#pick-up .pick-up-4 {
    background: url(img/pickup_4.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 33%;
    float: left;
}
#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-5 {
    background: url(img/pickup_5n.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 33%;
    float: left;
}
#pick-up .pick-up-5 .pick-up-content {
    width: 220px;
    height: 120px;
    margin: 90px auto;
}
#pick-up .pick-up-5:hover {
    background-color: #fff;
    opacity: .75;
}
#pick-up .pick-up-6 {
    background: url(img/pickup_6n.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 33%;
    float: left;
}
#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-1 .pick-up-content h3 {
    font-size: 39px;
}

#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: .8;
    text-align: center;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
}
#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%;
    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: #e50039;
    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-color: #e7ffff;
    border-radius: 50%;
}
#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 {
    text-align: center;
    margin-left: 0;
}
#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 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.golds ul li {
    width: 14%;
    margin-right: 6%;
}
#sponsor div.silvers ul li {
    width: 12%;
    margin-right: 6%;
}
#sponsor div.bronze ul li {
    width: 8%;
    margin-right: 4%;
}
#sponsor div.support ul li {
    display: inline-block;
    font-size: 14px;
    padding-right: 20px;
    width: auto;
    margin-right: 0;
}

#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:hover {
    background-color: #fff;
    color: #e50039;
    transition: all .4s ease-in-out;
}

footer {
    background-color: #fff;
}
footer .footer {
    width: 1220px;
    margin: auto;
    padding: 90px 0 45px;
}
footer .footer h4 {
    font-size: 16px;
}
footer .footer div {
    float: left;
}
footer .footer div:first-of-type {
    width: 27%;
    position: relative;
}
footer .footer div:first-of-type img {
    width: 75%;
    margin-top: 35px;
}
#page-post footer .footer div:first-of-type img {
    width: 75%;
    margin-top: 35px;
}
footer .footer>div:first-of-type .m-fb {
    position: absolute;
    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;
}
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;
}
footer .footer>div:first-of-type .m-fb:hover img.fb-btn-on {
    display: block;
    width: 30px;
    margin: 0;
}
footer .footer div:nth-of-type(2) {
    width: 19%;
    height: 128px;
}
footer .footer div:nth-of-type(3) {
    width:20%;
    height: 128px;
}
footer .footer div:nth-of-type(4) {
    width: 19%;
    height: 128px;
}
footer .footer div ul li {
    font-size: 14px;
    padding: 3px 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 #f1f1f1;
    padding: 25px 35px;
    margin: 2px;
    color: #f1f1f1;
    font-size: 32px;
}
.pagination .wp-pagenavi a:hover, .wp-pagenavi span.current {
    border-color: #f1f1f1;
    background-color: #f1f1f1;
    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;
}
#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 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 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%;
}
#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: 20px;
    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: 400px;
    margin: auto;
    position: relative;
    padding-left: 2%;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}
#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;
} 
#page-post #post-sponsor div h4::before {
    left: 0;
    top: 10%;
}
#page-post #post-sponsor div img {
    width: 70%;
    margin: 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 {
    content: "";
    width: 17px;
    height: 17px;
    position: absolute;
    background-color: #e7ffff;
    border-radius: 50%;
}
#page-post #post-sponsor div.golds h4::before {
    content: "";
    width: 17px;
    height: 17px;
    position: absolute;
    background-color: #ffcb00;
    border-radius: 50%;
    left: 5%;
}
#page-post #post-sponsor div.silvers h4::before {
    content: "";
    width: 17px;
    height: 17px;
    position: absolute;
    background-color: #e2e2e2;
    border-radius: 50%;
    left: 5%;
}
#page-post #post-sponsor div.bronze h4::before {
    content: "";
    width: 17px;
    height: 17px;
    position: absolute;
    background-color: #d06d2d;
    border-radius: 50%;
    left: 5%;
}
#page-post #post-sponsor div.support h4::before {
    content: "";
    width: 17px;
    height: 17px;
    position: absolute;
    background-color: #50abe2;
    border-radius: 50%;
    left: 5%;
}
#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.support ul {
    padding: 30px 0 20px;
}
#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.silvers ul li {
    width: 20%;
}
#page-post #post-sponsor div.bronze ul li {
    width: 13%;
}
#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 .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{
    min-height: 345px
}
#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;
}
#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: 70%;
    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-fro a {
    text-decoration: underline;
}
#page-post .donation-page .dona-page-fro td {
    font-size: 12px;
    padding-bottom: 5px;
    vertical-align: top;
}
#page-post .donation-page .dona-page-fro td:first-of-type {
    width: 100px;
}
#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;
    position: absolute;
    display: block;
    line-height: 1;
    top: 30%;
    right: 18%;
    transform: translateX(-50%);
}
.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 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 .sns {
        right: 29%
    }
    #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 0 30px;
    }
    footer .footer div:first-of-type img {
        margin-top: 25px;
    }
    footer .footer div:nth-of-type(2) {
        height: 110px;
        width: 15%;
    }
    footer .footer div:nth-of-type(3) {
        height: 110px
    }
    footer .footer div:nth-of-type(4) {
        height: 110px
    }
    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;
    }
}
@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 .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: 33%;
    }
    #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%;
    }
    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:first-of-type {
        width: 24%;
    }
    footer .footer div:nth-of-type(2) {
        height: 90px;
        padding-left: 5px;
    }
    footer .footer div:nth-of-type(3) {
        height: 90px;
        padding-left: 5px;
    }
    footer .footer div:nth-of-type(4) {
        height: 90px;
        padding-left: 5px;
    }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 0 20px;
    }
    
    #page-post .page-post h1 {
        margin-bottom: 40px;
    }
    .gran-line {
        margin: 35px 0 20px;
    }
    #page-post .page-post h3 {
        
    }
    #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%;
    }
}
@media screen and (max-width: 700px) {
    
    header .number {
        display: none;
    }
}
@media screen and (max-width: 414px) {
    .pc-hide{
        display: block;
    }
    .sp-hide {
        display: none;
    }
    #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: "";
    }
    #header h1 {
        margin: 0;
    }
    header #header h1 {
        width: 40%;
        margin-top: 0;
    }
    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: 50px;
        background-color: #fff;
        width: 100%;
        z-index: 5001;
        padding-bottom: 20px;
    }
    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;
    }
    header .sp-menu .sp-menu-list>li>a::before {
        content: "";
        position: absolute;
        background: url(img/sp_menu_right.png);
        background-repeat: no-repeat;
        background-size: cover;
        left: 5px;
        top: 10px;
        width: 24px;
        height: 24px;
    }
    header .sp-menu .sp-menu-list>li a:hover {
        color: #000;
    }
    header .sp-menu .sp-menu-list>li a.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-left: 5%;
        margin-top: 5px;
    }
    header .sp-menu .sns-btn img {
        float: left;
        margin: 5px;
        width: 30px;
    }
    .top .slick-dotted.slick-slider {
        margin-bottom: 0;
    }
    #news h2, #pick-up h2, #support h2, #sponsor h2 {
        font-size: 18px;
    }
    #news .news-content {
        width: 49%;
        margin: 0 .5% 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;
    }
    #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: 6%;
        font-size: 18px;
    }
    #sponsor div h3::before {
        top: 0;
    }
    #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.golds ul li {
        width: 20%;
    }
    #sponsor div.silvers ul li {
        width: 17%;
        margin-right: 3%;
    }
    #sponsor div.bronze ul li {
        width: 17%;
        margin-right: 3%;
    }
    #sponsor div.support ul li {
        font-size: 12px;
        padding: 10px 0;
        padding-right: 10px;
    }
    footer .footer {
        padding: 30px 0 15px;
    }
    footer .footer div:first-of-type {
        width: 100%;
        padding-left: 5%;
        position: relative;
    }
    footer .footer div:first-of-type img {
        width: 33%;
        margin: 0
    }
    #page-post 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;
    }
    
    .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 {
        padding: 0;
        text-align: left;
    }
    #page-post #post-sponsor div img {
        margin-left: 5%;
    }
    #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.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 ul li {
        width: 25%;
        margin-right: 8%;
    }
    #page-post #post-sponsor div.golds ul li {
        width: 24%;
    }
    #page-post #post-sponsor div.silvers ul li {
        width: 17%;
        margin-right: 3%;
    }
    #page-post #post-sponsor div.bronze ul li {
        width: 17%;
        margin-right: 3%;
    }
    
    #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 .sp-profile p {
        line-height: 1.3
    }
    #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 div.profile-card .pro-text {
        min-height: 280px;
    }
    #page-post .page-post.management div.profile-card:nth-of-type(2) .pro-text {
        min-height: 330px;
    }
    #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: 100%;
        margin-right: 0;
    }
    #page-post #post-sponsor div.official img {
        margin: auto;
        width: 25%;
    }
    #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 div h4 {
        font-size: 17px;
        text-align: left;
        padding-left: 6%;
        width: auto;
    }
    #page-post #post-sponsor div h4::before {
        left: 0;
        top: 0%;
    }
    #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;
    }
    .management-link {
        display: none;
    }
}
@media screen and (max-width: 375px) {
    header .sp-menu {
        top: 45px;
        padding-bottom: 20px;
    }
    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: 28px;
        margin-bottom: 20px;
    }
    #page-post .page-post h2 {
        font-size: 16px;
    }
    #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 .page-post.management div.profile-card:nth-of-type(2) .pro-text {
        min-height: 345px;
    }
    
    #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 .page-post.management div.profile-card .pro-text {
        min-height: 250px;
    }
    #page-post .page-post.management div.profile-card:nth-of-type(2) .pro-text {
        min-height: 310px;
    }
    #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) {
    .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;
    }
}
