/* 共通 */

html {
    scroll-behavior: smooth;
}

footer {
    display: none;
}

.pg_ttl {
    display: none;
}

.oc_field {
    display: none;
}

.oc_field-renew {
    display: none;
}

.sns_icon {
    display: none;
}

#fixedBtn {
    display: none;
}

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

.sp_only {
    display: none;
}

@media screen and (max-width:768px) {
    .sp_only {
        display: block;
    }
}

#page_top {
    display: none;
    visibility: hidden;
}

#fixed_floating {
    display: none;
    visibility: hidden;
}

/* 表示 */

.u-d-n {
    display: none
}

@media (min-width: 769px) {
    .u-pc-d-n {
        display: none
    }

    .u-pc-d-i {
        display: inline
    }
}

/* contents */
.wrapper {
    position: relative;
    z-index: 4;
    width: 600px;
    margin-left: auto;
    margin: 0 auto;
    padding-top: 0 !important;
    border: 5px solid #00a4c5;
    background-color: #fff;
}

@media screen and (min-width:769px) {
    .wrapper {
        margin-top: 90px;
    }
}

@media screen and (max-width:768px) {
    .wrapper {
        margin-top: 50px;
        width: 92%;
    }
}

.lp_bg {
    background: repeating-linear-gradient(-45deg, #0054a6, #0054a6 5px, #1a65af 5px, #1a65af 10px);
    background-color: #0054a6;
    s background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: 100%;
}

.btn_tokuten {
    margin: 1.5rem auto;
    padding: 0.5em;
    width: 460px;
    animation: move_a 2s infinite;
    transition: .3s all;
}

@keyframes move_a {
    0% {
        transform: translate(0px, 4px);
    }

    5% {
        transform: translate(0px, -4px);
    }

    10% {
        transform: translate(0px, 4px);
    }

    15% {
        transform: translate(0px, -4px);
    }

    20% {
        transform: translate(0px, 4px);
    }

    25% {
        transform: translate(0px, -4px);
    }

    30% {
        transform: translate(0px, 0px);
    }
}


.midashi {
    text-align: center;
    padding: 2em 1em 0;
    margin-top: 0;
    line-height: 1.8;
    font-size: 1.8rem;
}

.cont-midashi .btn_floating {
    margin: 0 auto;
    padding: 0.5em;
    width: 220px;
    animation: move_a 2s infinite;
    transition: .3s all;
}

@keyframes move_a {
    0% {
        transform: translate(0px, 4px);
    }

    5% {
        transform: translate(0px, -4px);
    }

    10% {
        transform: translate(0px, 4px);
    }

    15% {
        transform: translate(0px, -4px);
    }

    20% {
        transform: translate(0px, 4px);
    }

    25% {
        transform: translate(0px, -4px);
    }

    30% {
        transform: translate(0px, 0px);
    }
}

@media screen and (max-width:768px) {
    .btn_tokuten {
        width: auto;
    }

    .midashi-txt {
        font-size: 1.5rem;
        padding: 2rem 0.5em 5em;
    }

    .cont-midashi .btn_floating {
        font-size: 1.5rem;
    }
}

.cont-event_detail {
    background: #ffffff;
}

.btn_reversation {
    animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
    position: fixed;
    width: 130px;
    bottom: 8%;
    left: 65%;
    z-index: 1;
}

.fuwafuwa:hover {
    opacity: .5;
}

@keyframes floating-y {
    0% {
        transform: translateY(-10%);
    }

    100% {
        transform: translateY(10%);
    }
}


/* イベント詳細 */
.event_title {
    margin: .5em;
    position: relative;
}

.event_txt {
    text-align: center;
    font-weight: bold;
    font-size: 1.8rem;
    margin: 3rem auto;
    line-height: 3.2rem;
}

.summercam2025_detail {
    width: 95%;
    margin: 20px auto;
}

.summercam2025_detail h2 {
    width: 100%;
    margin-bottom: 20px;
    padding: 5px;
    border-radius: 0 0 20px 0;
    text-align: center;
    color: #fff;
    font-weight: bold;
}


/* 学科H2 */

.gd {
    background-color: #e50012;
}

.vi {
    background-color: #2ca253;
}

.il {
    background-color: #ea6133;
}

.ci {
    background-color: #7fbe26;
}

.mg {
    background-color: #efa91c;
}

.fid {
    background-color: #44babc;
}

.pd {
    background-color: #289ad7;
}

.id {
    background-color: #3b67a9;
}

.ad {
    background-color: #75539e;
}

.fad {
    background-color: #FA5CA6;
}

.tot {
    background-color: #e95550;
}

.event_course_tit {
    text-align: center;
    margin: 1.5rem auto;
    font-weight: bold;
    font-size: 2.2rem;
}

.event_course_tit.graphic {
    color: #e50012;
}

.event_course_tit.visual {
    color: #2ca253;
}

.event_course_tit.illust {
    color: #ea6133;
}

.event_course_tit.comic {
    color: #7fbe26;
}

.event_course_tit.manga {
    color: #efa91c;
}

.event_course_tit.figure {
    color: #44babc;
}

.event_course_tit.product {
    color: #289ad7;
}

.event_course_tit.interior {
    color: #3b67a9;
}

.event_course_tit.architects {
    color: #75539e;
}

.event_course_tit.fashion {
    color: #FA5CA6;
}

.event_course_tit.total {
    color: #e95550;
}

.event_content {
    position: relative;
    margin-bottom: 20px;
    padding: 5px;
}

.event_detail {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    text-align: justify;
}

.detail_text {
    width: 50%;
}

.date_figure {
    display: flex;
    flex-direction: row;
    justify-content: start;
    text-align: center;
    color: #fff;
    margin-top: 1.5rem;
}

.date_txt {
    background: #e00000;
    border-radius: 18px;
    margin-right: 15px;
    padding: 5px 20px;
}

.date_txt a {
    color: #fff;
}

.date_txt a:hover {
    text-decoration: underline;
}

.date_txt span {
    font-size: 1.2rem;
}

.detail_img {
    width: 48%;
    text-align: center;
}

.detail_img img {
    width: 100%;
}

.btn_application {
    position: relative;
    text-align: center;
    text-decoration: none;
    width: 385px;
    margin: 1em auto 0;
    color: #fff;
    display: block;
    animation: move_a 2s infinite;
    transition: .3s all;

}

.btn_application:hover {
    transform: translateY(-5px);
    transition-duration: .3s;
}

.dot_line {
    margin-top: 30px;
    height: 16px;
    background-image: repeating-radial-gradient(circle,
            #0054a6 0px,
            #0054a6 3px,
            transparent 3px,
            transparent 15px);
    background-size: 15px 100%;
    background-repeat: repeat-x;
}

@media screen and (max-width:768px) {
    .btn_reversation {
        width: 100px;
        left: 79%;
    }

    .event_txt {
        font-size: 1.6rem;
        margin: 2rem auto;
        line-height: 2.8rem;
    }

    .summercam2025_detail h2 {
        font-size: 1.8rem;
    }

    .event_course_tit {
        font-size: 1.8rem;
    }

    .event_detail {
        flex-direction: column;
    }

    .detail_text {
        width: 100%;
        margin-bottom: 20px;
    }

    .detail_img {
        width: 100%;
        max-width: 325px;
    }

    .date_figure {
        justify-content: center;
    }

    .btn_application {
        width: auto;
    }
}


/* 交通費特典 */

.cont-koutsuhi h2 {
    width: 98%;
    text-align: center;
    margin: 2em auto 1em;
}

@media screen and (max-width:768px) {
    .cont-koutsuhi h2 {
        width: 100%;
    }
}

@media (min-width: 769px) {
    .anchor {
        display: block;
        padding-top: 70px;
        margin-top: -70px;
    }
}

.cont-access .caution {
    font-size: 1.5rem;
    font-weight: bold;
    color: #ff1475;
    margin-bottom: 0;
}

.cont-access .caution:after {
    content: none;
}

.cont-koutsuhi,
.cont-access {
    margin: 0 1em 2em;
    text-align: center;
}

.cont-koutsuhi {
    position: relative;
}

.cont-koutsuhi table {
    border-collapse: collapse;
    position: relative;
}

.cont-koutsuhi th,
td {
    padding: 20px;
    box-sizing: border-box;
    line-height: 1.3;
}

.cont-koutsuhi input {
    width: 100%;
    padding: 10px;
    border: 1px solid #EEE;
    box-sizing: border-box;
}

.cont-koutsuhi .tatemi {
    width: 100%;
    margin-top: 2em;
}

.cont-koutsuhi th {
    border: 1px solid #DDD;
    background: #FFF9E6;
    padding: 20px;
    width: 50%;
}

.cont-koutsuhi td {
    border: 1px solid #DDD;
    padding: 20px;
    background: #fff;
}

.cont-koutsuhi td span {
    font-size: 2.4rem;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .cont-koutsuhi th {
        width: 50%;
    }

    .cont-koutsuhi .tatemi {
        margin-top: 3em;
    }
}


/* ご利用にいただくにあたって */
.cont-attention {
    max-width: 600px;
    padding: 1em;
    overflow: hidden;
    margin-bottom: 4rem;
}

.cont-attention_header {
    background-color: #0054a6;
    border-radius: 10px 10px 0 0;
    color: #fff;
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.cont-attention_content {
    background-color: #e5f4f9;
    padding: 20px;
}

.cont-attention_content ul {
    list-style-type: none;
    padding: 0;
}

.cont-attention_content li {
    margin-bottom: 10px;
    margin-left: 10px;
    text-indent: -14px;
    text-align: justify;
}

.cont-attention_content li::before {
    content: "\2022";
    color: #0054a6;
    font-weight: bold;
    margin-right: 6px;
}