@charset "UTF-8";
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none;}html{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}


/*=======================================================================================================================

デバイス共通

======================================================================================================================= */
body {
	background: url("../img/bg_abstract.jpg") no-repeat left center;
	background-size: cover;
	background-attachment: fixed;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	}
/*body {
	background: url("../img/bg_sand.jpg") repeat left center;
	background-size: 500px 500px;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	}*/
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	}
ul {margin-block-start: 0;margin-block-end: 0;padding-inline-start: 0px;}
ul li {list-style: none;}
section {display: block;}
main {font-size: 15px;}
footer {
	text-align: center;
	background-color: #1f1f1f;
	color: #CCC;
	font-size: 11px;
	letter-spacing: 1px;
	padding: 20px 0;
	}
a {text-decoration: none;}
#c01 a,#c02-2 a,#c04 a {text-decoration: underline;color: #b69a38;word-break: break-all;}
#c01 a:hover,#c02-2 a:hover,#c04 a:hover {text-decoration: none;}
#c01 a::after,#c02-2 a::after,#c04 a::after,p.url::after {
    content: "";
    display: inline-block;
    background: url(../img/ico_blank.svg) no-repeat center center;
    width: 20px;
    height: 20px;
    background-size: contain;
    fill: #b69a38!important;
    vertical-align: middle;
}
/*---SCROLL ANIMATION---*/
.slide-up {transition: all 400ms linear;transform: translate(0,100px);opacity: 0;}
.slide-up.is-show {transition: all 400ms linear;transform: translate(0,0);opacity: 1;}
.slide-RtoL {transition: all 500ms .8s ease;transform: translate(-45%,-100px);opacity: 0;}
.slide-RtoL.is-show {transition: all 500ms .8s ease;transform: translate(-45%,0);opacity: 1;}


/*=======================================================================================================================

PC用

======================================================================================================================= */

@media screen and (min-width: 991px) {#demo1 {display: none!important;}}
/*---------------- ▼ g_nav（PC） ▼ ----------------*/

#g_nav {
    display: none;
	width: 100%;
    position: fixed;
    padding: 0;
    z-index: 11;
    margin-top: -3px;
    background-color: rgba(255,255,255,1);
	}
#g_logo {
	float: left;
    width: 260px;
    margin: 18px 0 -7px 15px;
    transition: all 0.2s ease 0s;
	}
#g_logo:hover {
	opacity: .6;
	}
#content_wrap {
	width: 100%;
    height: 100vh;
	/*background: rgba(0,0,0,0.8);*/
    position: fixed;
    z-index: 10;
	}
#g_nav nav {
	display: flex;
    font-size: 15px;
    margin:3px 0 0 auto;
    align-items: center;
    z-index: 10;
    float: right;
	}
#g_nav nav li a {
    padding: 23px 0 19px;
	color: #888;
	text-shadow: none;
	}
    #g_nav nav li a:hover {color: #000;}
    #g_nav nav li:not(:last-child) a::after {
        display: inline-block;
        content: "";
        width: 100%;
        height: 2px;
        background-color: #b69a38;
        transition: all .3s ease;
        transform: scale(0,1);
        transform-origin: left top;
        }
        #g_nav nav li:not(:last-child) a:hover::after {
        transform: scale(1,1);
        height: 2px;
        }
#g_nav nav li.register a {
	color: #000;
	background-color: #b69a38;
    padding: 23px 15px 19px 15px;
	}
#g_nav nav li.register a:hover {
	color: #FFF;
	background-color: #a88f41;
	}

/*---------------- ▼ 00_ファーストビュー（PC） ▼ ----------------*/

#top_main {
	position: relative;
	text-align: center;
    min-height: 950px;
    height: 100vh;
	color: #FFF;
	overflow: hidden;
	}
    .bg_main01 {
        position: absolute;
        top: 0;
        left: 0;
        background: url("../img/mainimage03.jpg") no-repeat center top;
        background-size: cover;
        background-attachment: fixed;
        width: 100vw;
        height: 100vh;
        min-height: 950px;
        z-index: -1;
        animation: imageAnimation 20s linear infinite 0s;
        }
        @keyframes imageAnimation {
            0% {opacity: 1;}
            45% {opacity: 1;}
            50% {opacity: 0;}
            95% {opacity: 0;}
            100% {opacity: 1;}
        }
    .bg_main02 {
        position: absolute;
        top: 0;
        left: 0;
        background: url("../img/mainimage04.jpg") no-repeat center top;
        background-size: cover;
        background-attachment: fixed;
        width: 100vw;
        height: 100vh;
        min-height: 950px;
        z-index: -2;
        }
#h_logo {
	width: 280px;
	z-index: 10;
	transition: all 0.2s ease 0s;
	}
#h_logo:hover {
	opacity: .75;
	}
.ml_-30 {
	margin-left: -30px;
	}
header {
        transition: all 300ms linear;
        transition-delay: 0.5s;
        opacity: 0;
        }
header {
	display: flex;
	padding: 18px 0 18px 10px;
	opacity: 1;
	}
nav {
	display: flex;
	margin: -16px 0 0 auto;
    padding-right: 16px;
	align-items: center;
	z-index: 10;
	}
nav li {
	list-style: none;
	margin-left: 20px;
	}
nav li a {
    display: inline-flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	text-decoration: none;
    padding: 26px 0 28px;
	color: rgba(255,255,255,.8);
	font-weight: bold;
	letter-spacing: 2px;
	transition: all .3s ease;
	}
    nav li a:hover {color: #FFF;}
    nav li:not(:last-child) a::after {
        display: inline-block;
        content: "";
        width: 100%;
        height: 2px;
        background-color: #b69a38;
        transition: all .3s ease;
        transform: scale(0,1);
        transform-origin: left top;
        }
    nav li:not(:last-child) a:hover::after {
        transform: scale(1,1);
        height: 2px;
        }

nav li.register a {
	color: #FFF;
    background-color: #b69a38;
    padding: 26px 20px 28px 20px;
    letter-spacing: 1px;
    margin-top: -2px;
	}
nav li.register a:hover {
	color: #312209;
	text-shadow: none;
	background-color: #b69a38;
	}
#mainarea_content {
    position: absolute;
    margin: 0 auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    }
    #emblem {
        position: relative;
        background-size: contain;
        height: 45px;
        margin: 0 auto;
        }
    #emblem p {
        position: absolute;
        top: 48%;
        left: 51%;
        transform: translate(-50%,-50%);
        font-size: 60px;
        font-weight: bold;
        letter-spacing: 3px;
        display: inline-block;
        margin: 0 !important;
        width: 100%;
    }
#top_main h2 {
    width: 950px;
    margin: 4% 0 2% 1%;
    padding-bottom: 3%;
    border-bottom: solid 1px rgba(255,255,255,.7);
    }

.date_txt01 {font-size: 2.7rem;}
.date_txt02 {font-size: 4.7rem;}
.date_txt03 {
    width: 32px;
    height: 32px;
    display: inline-block;
    font-size: 1.3rem;
    font-weight: bold;
    color: #004;
    position: relative;
    margin: 0 10px 0 5px;
    background-color: #FFF;
    border-radius: 25px;
    top: -5px;
    transform: translateY(-2px);
    }
#online {
    font-size: 1.4rem;
    font-size: 1.3rem;
    letter-spacing: 2px;
    margin-top: 10px;
    }
#online::before {
    display:inline-block;
    content: "";
    background: url(../img/ico_PC.png) no-repeat left top;
    background-size: contain;
    width: 42px;
    height: 26px;
    margin-right: 14px;
    transform: translateY(4px);
    }
#btn_main_entry a {
    position: relative;
    display: inline-block;
    color: #FFF;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 2px;
    margin: 50px 0 60px 0;
    padding: 26px 100px;
    border: 2px solid #b69a38;
    border-radius: 50px;
    background-color: #b69a38;
    transition: all .2s ease;
    }
    #btn_main_entry a::after {
        position: absolute;
        content: "";
        background: url(../img/ico_arrow-down_fff.png) no-repeat right top;
        background-size: contain;
        width: 23px;
        height: 15px;
        top: 50%;
        right: 30px;
        transform: translateY(-50%);
        }
#btn_main_entry a:hover {
    color: #312209;
    background-color: #b69a38;
    transition: all .2s ease;
    }
    #btn_main_entry a:hover::after {
        background: url(../img/ico_arrow-down_black.png) no-repeat right top;
        background-size: contain;

        }
#scroll {
    position: absolute;
    background-color: #999;
    width: 1px;
    height: 60px;
    z-index: 10;
    transition-delay: 2.6s;
    bottom: 150px;
    left: 50%;
    }
    @keyframes scrollline {
        0% {
            transform: scale(1,1)translate(-3px,0);
        }
        100% {
            transform: scale(1,1)translate(-3px,60px);
        }
    }
    #scrollline {
        position: absolute;
        display: block;
        background-color: #b69a38;
        content: "";
        width: 7px;
        height: 7px;
        margin: 0 auto;
        border-radius: 4px;
        animation: scrollline 2s ease infinite;
    }

/*---------------- ▼ 01_CONCEPT（PC） ▼ ----------------*/
#c01 {
    position: relative;
    background: url(../img/map_white.svg) no-repeat center 20%;
    background-size: contain;
    background-attachment: fixed;
    background-color: #f5f5f5;
    }
#c01 #c01_inner {
    display: flex;
    justify-content: space-between;
    }
.c01_txtarea {
    width: 67vw;
    max-width: 1150px;
    margin: 0 auto;
    padding: 8rem 6rem 5rem 9rem;
    }
.c01_copyarea {
    position: relative;
    width: 33vw;
    background: url(../img/map_gold.svg) no-repeat center 20%;
    background-size: contain;
    background-attachment: fixed;
    background-color: #b69a38;
    /*background-color: rgba(220,0,0,0.6);*/
    }
/*.bg_red {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #cd0a13;
    z-index: 1;
}*/
.c01_txtarea h2.ttl_en {
    transform: translateX(-6px);
    -webkit-transform: translateX(0);
    }
h2.ttl_en {
    font-size: 9rem;
    font-family: 'Secular One', sans-serif;
    letter-spacing: -.15rem;
    line-height: .85;
    margin-bottom: 20px;
    word-wrap: anywhere;
    }
h2.ttl_ja {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 50px;
    letter-spacing: .2rem;
    font-feature-settings: "palt";
    }
#c01 h3 {
    position: absolute;
    left: 50%;
    top: 9rem;
    color: #FFF;
    font-size: 4rem;
    line-height: 1.4em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 0 auto;
    z-index: 2;
    }
#c01 h3 .copy_h3_to {
    font-size: 1.7rem;
    font-weight: normal;
    letter-spacing: 3px;
    }
#c01 h3 .copy_h3_s1 {display: inline-block;font-size: 2.6rem;margin: 7px 0;}
#c01 h3 .copy_h3_s2 {display: inline-block;font-size: 2.6rem;margin: -14px 0 16px 0;}
#concept p {
    margin-bottom: 40px;
    line-height: 1.9em;
    }
#link_highlight a {
    position: relative;
    display: inline-block;
    position: relative;
    color: #000;
    font-weight: bold;
    letter-spacing: 2px;
    font-feature-settings: "palt";
    margin: 0 0 5px 0;
    padding: 0 30px 10px 0;
    border-bottom: solid 2px #000;
    }
#link_highlight a:hover {
    border-bottom: none;
    border-bottom: solid 2px #FFF;
    }
    #link_highlight a::after {
        position: absolute;
        bottom: -2px;
        left: 0;
        display: inline-block;
        content: "";
        width: 100%;
        height: 2px;
        background-color: #CC0000;
        transition: all .3s ease;
        transform: scale(0,1);
        transform-origin: left top;
        }
        #link_highlight a:hover::after {
        transform: scale(1,1);
        height: 2px;
        }
#link_highlight a::before {
    position: absolute;
    display: block;
    content: "";
    background: url(../img/ico_arrow-right_black.png) no-repeat right top;
    background-size: auto;
    background-size: contain;
    width: 8px;
    height: 12px;
    z-index: 2;
    right: 6px;
    top: 38%;
    transform: translateY(-50%);
    transition: all .3s ease;
    }
    #link_highlight a:hover::before {right: 2px;}

/*---------------- ▼ PHOTO GALLERY ▼ ----------------*/
.photoContainer {
    max-width: 1110px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1rem;
    padding-left: 1rem;
}

.photoList {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

@media screen and (max-width: 767px) {
    .photoList_MobileHidden {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .photoList {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media screen and (min-width: 1024px) {
    .photoList {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}
/*---------------- ▼ 02_PROGRAM（PC） ▼ ----------------*/
#cphoto_inner, #c02_inner {padding: 9rem 0 0 0;text-align: center;}
#cphoto_inner h2, #c02_inner h2,#c03_inner h2,#c04_inner h2,#c05_inner h2 {text-align: center;}
.program_box {position: relative;margin-bottom: 20px;}
.mask {
    position: absolute;
    top: -40px;
    width: 100%;
    background: url(../img/mask.png) no-repeat center top;
    background-size: 3000px auto;
    height: 100px;
    }
.program_part {
    width: 100%;
    max-width: 1110px;
    margin: 0 auto 3rem auto;
    font-size: 25px;
    font-weight: bold;
    padding: 0.5rem 1rem;
    color: #b69a38;
    border: solid 2px #b69a38;
    }
.paty_time {margin: -1rem 0 2rem;font-size: 18px;font-weight: bold;}
.party {
    width: 100%;
    max-width: 1110px;
    margin: 0 auto;
    }
.party.flex div {width: 32%;}

.program_box::before {
    position: absolute;
    content: "";
    width: 100%;
    /*height: 50vw;
    max-height: 600px;*/
    top: 0;
    left: 0;
    background-color: #000;
    z-index: -1;
    }
.gradation {position: absolute;z-index: -1;width: 100%;}
.gradation canvas {width: 100%;height: 50vw;}
.program_box.No01 .gradation canvas {max-height: 520px;}
.program_box.No02 .gradation canvas {max-height: 420px;}
.program_box.No03 .gradation canvas {max-height: 520px;}

.program_box h3 {
    font-weight: bold;
    text-align: center;
    padding-top: 15px;
    }
.program_box.No01 h3 {color: #f88686;margin: 2em 0 3em 0;}
.program_box.No02 h3 {color: #5bd5e7;margin: 2em 0 3em 0;}
.program_box.No03 h3 {color: #d4d5cb;margin: 2em 0 3em 0;}
.program_box .time {
    display: block;
    padding: 3px 20px;
    margin: -10px auto 0 auto;
    color: #000;
    font-size: 1.05rem;
    font-weight: bold;
    text-align: center;
    border-radius: 20px;
    width: 190px;
    }
.program_box.No01 .time {background-color: #f88686;}
.program_box.No02 .time {background-color: #5bd5e7;}
.program_box.No03 .time {background-color: #d4d5cb;}
.program_box.No02 {/*margin-top: 50px;*/margin-top: -40px;}
.program_number {
    display: inline-block;
    font-size: 5rem;
    vertical-align: middle;
    transform: translateY(-4px);
    margin: 0 10px;
    }
.program_box h4 {
    color: #f7f7f7;
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    margin: 30px 0 -10px 0;
    }
.program_box .ttl_small {color: #f7f7f7;font-size: .9rem;letter-spacing: .04rem;margin: 1em 0 -2em;}
.program_sttl {font-size: 1.5rem;}
.program_box ul {
    display: flex;
    justify-content: center;
    padding: 0 6rem;
    margin-top: 3rem;
    margin-bottom: 1rem;
    }
.program_box.No01 ul li {width: 275px;margin: 0 40px;}
.program_box.No02 ul li {width: 275px;margin: 0 40px;}
.program_box.No03 ul li {width: 275px;margin: 0 40px;}
.panelist {position: relative;overflow: hidden;}
.No01 .panelist {}
.No02 .panelist {}
.panelist a img {transition: all .2s ease;}
.panelist a:hover img {opacity: .9;}
.label {position: absolute;width: 103px;height: 31px;top: 0;left: 0;z-index: 2;}
.label.red_p {background: url(../img/label_panelist_red.png) no-repeat left top;background-size: contain;}
.label.red_m {background: url(../img/label_moderator_red.png) no-repeat left top;background-size: contain;}
.label.blue_p {background: url(../img/label_panelist_blue.png) no-repeat left top;background-size: contain;}
.label.blue_ps {background: url(../img/label_panelist-gray.png) no-repeat left top;width: 170px;background-size: contain;}
.label.blue_mp {background: url(../img/label_moderator-panelist_blue_0306.png) no-repeat left top;background-size: contain;width: 200px;}
.label.blue_m {background: url(../img/label_moderator_blue.png) no-repeat left top;background-size: contain;}
.panelist_info {text-align: center;margin: 15px 0;}
.panelist_company {
    font-size: .9rem;
    letter-spacing: .04rem;
    margin-bottom: 5px;
    font-feature-settings: "palt";
    }
.panelist_name {font-size: 1.7rem;font-weight: bold;}
.mr {font-size: 1rem;font-weight: normal;}
.panelist_btn a {
    background: url(../img/ico_popup.png) no-repeat 94% center;
    background-size: 14px;
    display: block;
    color: #222;
    font-size: .88rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: .08rem;
    margin-top: 15px;
    padding: 8px 0;
    border-radius: 3px;
    background-color: rgba(125, 125, 125, .17);
    transition: all .3s ease;
    }
.panelist_btn a:hover {background-color: rgba(255, 255, 255,.9);}
/*モーダル*/
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
	left: 0;
    width: 100%;
	z-index: 20;
	}
.modal_bg{
    background: rgba(31,31,31,0.97);
    height: 100vh;
    position: absolute;
    width: 100%;
	cursor: pointer;
	}
.modal_content{
    background-color: #FFF;
    left: 50%;
    padding: 4rem 3rem 4rem 4rem;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 85%;
	max-width: 1040px;
    max-height: 640px;
    border-radius: 20px;
    overflow-y: scroll;
    display: flex;
	}
.modal_bg::before {
	position: absolute;
	display: block;
    content: '';
    width: 1px;
    top: 5%;
    right: 5%;
    height: 50px;
    background-color: #FFF;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
	}
.modal_bg::after {
	position: absolute;
	display: block;
    content: '';
    width: 1px;
    top: 5%;
    right: 5%;
    height: 50px;
    background-color: #FFF;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
	}
.profile_img {width: 30%;}
.profile_info {width: 73%;margin-left: 3rem;line-height: 1.9em;text-align: left;}
.company {margin-bottom: 15px;font-size: 1.1rem;letter-spacing: .05rem;}
.name {font-size: 2rem;font-weight: bold;letter-spacing: .05rem;margin-bottom: 5px;}
.profile_info .mr {font-size: 1.1rem;font-weight: normal;}
.url a {color: #a88f41;text-decoration: underline;letter-spacing: .05rem;}
.url a:hover {text-decoration: none;}
.txt {margin-top: 2rem;font-size: .88rem;}

.archive-container {
    padding-top: 3rem;
    padding-bottom: 6rem;
}

.archive-container-heading {
    position: relative;
    margin-bottom: 4rem;
    font-size: 1.6rem;
}

.archive-container-heading::after {
    content: "";
    position: absolute;
    bottom: -1.75rem; 
    left: 50%;  
    width: 8rem; 
    height: 0.5rem; 
    background-color: #b69a38;
    transform: translateX(-50%);
}

.archive-article-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    max-width: 1110px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1rem;
    padding-left: 1rem;
}

.archive-article {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);
    background-color: white;
    border-radius: 8px;
    transition: all 0.15s;
    color: #000;
}

.archive-article:hover {
    opacity: 0.85;
}

.archive-article-image {
    border-radius: 4px 4px 0 0;
}

.archive-article-body {
    padding-top: 0.25rem;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    text-align: left;
}

.archive-article-heading {
    margin-bottom: 0.875rem;
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.25;
}

.archive-article-speaker {
    font-size: 0.625rem;
    color: #333;
}

.archive-article-icon {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    text-align: right;
}

.archive-article-icon img {
    display: inline;
}

@media screen and (min-width: 768px) {
    .archive-article-container {
        gap: 1.6rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .archive-article-speaker {
        font-size: 0.75rem;
    }
}


/*---------------- ▼ 02-2_PLACE（PC） ▼ ----------------*/
#c02-2_inner {padding: 9rem 3rem 0 3rem;text-align: center;}
#c02-2_inner ul {padding-top: 1em;}
#c02-2_inner ul li {text-indent: -1em;padding-left: 1em;}
.flex {display: flex;justify-content: space-between;align-items:center;}
.flex div {width: 50%;text-align: left;}
#c02-2_inner .flex div:last-child {padding-left: 3rem;}
.flex h3 {font-size: 30px;}
.flex p {margin-top: 2rem;}

/*---------------- ▼ 03_SPONSOR（PC） ▼ ----------------*/
#c03_inner,#c04_inner,#c05_inner {padding: 9rem 3rem 0 3rem;text-align: center;}
.white_box {
    background-color: #FFF;
    border-radius: 20px;
    max-width: 1100px;
    padding: 3rem 6rem;
    margin: 0 auto;
    box-shadow: 0 0 40px rgba(135, 147, 154, .12);
    }
#c03_inner h3 {
    position: relative;
    text-align: center;
    font-size: 1.2rem;
    font-weight: normal;
    letter-spacing: .5rem;
    margin-top: 2rem;
    z-index: 2;
    }
#c03_inner h3::before {
    position: absolute;
    display: block;
    content: "";
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    z-index: -1;
    background-color: #eee;
    }
#c03_inner h3 .rank {
    color: #666;
    background-color: #FFF;
    padding: 0 1em;
    }
#c03_inner .logo {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    }
#c03_inner .logo li {
    margin: 24px 16px;
    max-width: 270px;
    }
#c03_inner .logo li a {position: relative;display: block;}
#c03_inner .logo li a:hover {opacity: .8;}
#c03_inner .logo li a .tooltip {
    position: absolute;
    display: inline-block;
    background-color: #333;
    border-radius: 4px;
    padding: 10px 25px;
    color: #FFF;
    font-size: 0.9rem;
    top: 115%;
    left: 50%;
    opacity: 0;
    transition: all .2s ease;
    white-space: nowrap;
    transform: translateX(-50%);
    }
#c03_inner .logo li a .tooltip::before {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    left: 50%;
    width: 15px;
    height: 15px;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #333;
    border-left: 15px solid transparent;
    opacity: 1;
    z-index: 3;
    transform: translate(-15px,-50%);
    }
#c03_inner .logo li a:hover .tooltip {
    display: inline-block;
    top: 105%;
    opacity: 1;
    }

/*---------------- ▼ 04_OUTLINE（PC） ▼ ----------------*/
#c04 dl {
	margin: 0 auto;
	overflow: hidden;
	border-top: solid 1px #DDD;
	}
#c04 dt {
	background: url("../img/ico_circle.png") no-repeat 7px 20px;
	background-size: 12px;
	width: 230px;
	float: left;
    padding: 15px 0 0 33px;
    font-weight: bold;
    text-align: left;
    letter-spacing: 2px;
	}
#c04 dl dd {
	text-align: left;
    padding: 15px 0 15px 230px;
    border-bottom: solid 1px #DDD;
    letter-spacing: .02rem;
	}
.f_13 {
	display: inline-block;
    font-size: 13px;
	margin-top: 7px;
    letter-spacing: .05rem;
    text-indent: -1em;
    padding-left: 1em;
	}
#c04 ul li {
	font-size: 15px;
	margin-bottom: 5px;
	padding-left: 1em;
	text-indent: -1em;
	}

/*---------------- ▼ 05_FORM（PC） ▼ ----------------*/
#c05 {
    padding-bottom: 10rem;
    }
.form_caution {
    text-align: center;
    line-height: 1.9em;
    margin: -10px 0 40px 0;
    }
.must {text-align: right;font-size: .9rem;}
.must::first-letter {color: #fd8282;}
#c05 .form_box {padding: 0 0 40px 0;text-align: left;}
#c05 .form_box dl {
	display: flex;
	justify-content: flex-start;
	flex-wrap: nowrap;
	align-items: center;
    font-size: 14px;
	border-top: solid 1px #d9d9d9;
	}
#c05 .form_box dl.flex-start {align-items: flex-start;border-bottom: solid 1px #d9d9d9;}
#c05 .form_box dl.flex-start dt {align-self: stretch;}
#c05 .form_box dl.flex-start dd {margin: 12px 0;}
#c05 .form_box dl dt {
	position: relative;
	min-width: 27%;
	font-size: 15px;
	font-weight: bold;
	padding: 22px 20px;
    background-color: #f6f5f2;
	}
#c05 .form_box dl dt.join {
    padding: 0;
    }
#c05 .form_box dl dt.paTB {padding: 10px 0;}
#c05 .form_box dl dd label {margin-right: 15px;}
#c05 .form_box dl:nth-child(2) dt::after,
#c05 .form_box dl:nth-child(3) dt::after,
#c05 .form_box dl:nth-child(4) dt::after,
#c05 .form_box dl:nth-child(5) dt::after,
#c05 .form_box dl:nth-child(6) dt::after,
#c05 .form_box dl:nth-child(7) dt::after,
#c05 .form_box dl:nth-child(8) dt::after,
#c05 .form_box dl:nth-child(9) dt::after,
#c05 .form_box dl:nth-child(14) dt::after,
#c05 .form_box dl:nth-child(18) dt::after,
#c05 .form_box dl:nth-child(19) dt::after {
	content: "★";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translate(0, -50%);
	color: #fd8282;
	font-size: 13px;
	}
#c05 .form_box dl dd {
	min-width: 73%;
	padding: 0 0 0 20px;
	}
    .flex {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
#c05 .form_box dl dd input,
#c05 .form_box dl dd textarea,
#c05 .form_box dl dd select{
	padding: 8px 14px;
	border: solid 1px #CCC;
    border-radius: 5px;
    box-sizing: border-box;
	}
#c05 .form_box dl dd input[type="text"], #c05 .form_box dl dd input[type="email"] {width: 100%;max-width: 450px;}
#c05 .form_box dl dd textarea {width: 100%;max-width: 570px;}
#c05 .form_box dl dd input.error {border: 2px solid #ff9999!important;background-color: #ffefef!important;}
input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,select:focus,textarea:focus {
	box-shadow: 0 0 0 1px #cae1ff, 0 0 0 5px #cae1ff;
	outline: none;
	}
input::placeholder {color: #b8b8b8;}
#c05 .form_box dl dd input.seimei {width: 48.5%;}
#c05 .form_box p:first-child {color: #666;margin: 0 0 10px 0;}
#c05 .form_box p.errors {
	background: #fd8282 !important;
    color: #fff !important;
    margin-bottom: 1em !important;
    padding: 10px 20px !important;
    font-size: 16px;
    font-weight: bold;
	text-align: center;
	}
.first_half {
    display: inline-block;
    width: 40%;
    padding: 26px 0;
    border-right: solid 1px #ccc;
    }
.mem .first_half {
    text-align: center;
    border-top: solid 1px #f6f5f2;
    border-bottom: solid 1px #f6f5f2;
    margin: -1px 0;
    padding: 36px 0;
    }
.mem02 .first_half {padding: 30px 0;}
.last_half {
    display: inline-block;
    width: 60%;
    padding: 0 0 0 20px;
    }
.form_txt_small {font-size: .7rem;color: #666;margin-top: 5px;}
.form_txt_small_red, .error {font-size: .8rem;color: #f00000;margin-top: 5px;}
.last_caution {margin: 2rem 0;font-size: .8rem;padding-left: 1em;text-indent: -1em;}


#c05 .permission-box {
	height: 220px;
	margin: 20px auto 30px;
	padding: 1.7rem 3rem;
	border: 1px solid #CCC;
	background: #fff;
	font-size: 14px;
	overflow-y: scroll;
    }
#c05 .permission-box h2 {
	width: auto;
	margin-bottom: 1.5em;
	font-size: 16px;
	text-align: center;
    }
#c05 .permission-box h3 {
	margin-top: 2em;
	margin-bottom: 0.5em;
	font-size: 14px;
    }
.form-item-agreement {
    margin-top: 2rem;
    margin-bottom: 2rem;
    text-align: center;
    font-size: 1.05rem;
    }
.form-item-agreement input[type="checkbox"] {
    width: 20px;
    height: 20px;
    transform: translateY(1px);
    }
.form-item-agreement input,
.form-item-agreement label:hover {cursor: pointer;}
.btn_submit {
    display: block;
    background: url("../img/ico_arrow-right_white.png") no-repeat 94% 48%;
    background-size: 8px 13px;
    width: 100%;
    max-width: 430px;
    margin: 0 auto;
    padding: 20px 0;
    background-color: #b69a38;
    border: none;
    border-radius: 6px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1px;
    color: #FFF;
    transition: all 0.2s ease 0s;
    }
#btn_black a:hover,
.btn_back a:hover,
.btn_submit:hover {
    cursor: pointer;
    background: url("../img/ico_arrow-right_white.png") no-repeat 95% 48%;
    background-size: 8px 13px;
    background-color: #ee1c27;
    }
.thankyou_box {padding: 2rem;}
.thankyou_box h3 {font-size: 1.8rem;margin-bottom: 2rem;}
.thankyou_box p {line-height: 1.9em;}
.btn_back a {
    display: block;
    background: url("../img/ico_arrow-right_white.png") no-repeat 94% 48%;
    background-size: 8px 13px;
    margin: 2rem auto 0 auto;
    width:70% ;
    max-width: 430px;
    padding: 20px 0;
    background-color:  #b69a38;
    border: none;
    border-radius: 6px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #FFF;
    transition: all 0.2s ease 0s;
    }

#pagetop a {
    position: fixed;
    width: 60px;
    height: 90px;
    right: 30px;
    bottom: 65px;
    transition: all .15s ease;
}
#pagetop a:hover {
    opacity: .6;
}
@media screen and (max-width: 1350px) {
    #h_logo {width: 250px;}
    .c01_txtarea {width: 77vw;padding: 8rem 4rem 6rem 6rem;}
    .c01_txtarea h2.ttl_en {font-size: 11vw;}
    #concept {font-size: 14px;}
    #c04 dl {font-size: 14px;}
    #c04 ul li {font-size: 13px;}
}
@media screen and (max-width: 1300px) {
    .program_box ul {padding: 0 2rem;margin-top: 3rem;}
    #c01 h3 {font-size: 3.3rem;}
    #c01 h3 .copy_h3_s1 {display: inline-block;font-size: 2.2rem;margin: 7px 0;}
    #c01 h3 .copy_h3_s2 {display: inline-block;font-size: 2.2rem;margin: -14px 0 16px 0;}
    .c01_txtarea h2.ttl_en {transform: translateX(0);}
}
/*=======================================================================================================================

タブレット用

======================================================================================================================= */
@media screen and (min-width: 990px) {.more_btn{display: none;}}
@media screen and (max-width: 990px) {

/* SECTION（SP）
================================================== */
.section_demo {margin: 12.5% 0 0 0;width: 100%;}
.section_demo1 {display: none;}
.section_demo1 .target {background-color: #b69a38;}
.section_demo1 .target .active a {background-color: #161b1d;}
.section_demo1 .target .active a:hover {background-color: #2c363a !important;}
.section_demo1 .target .active a:before {background-color: #b69a38 !important;}
.section_demo1 .active a {background-color: #FFF;}
.section_demo1 .active a:hover {background-color: #FFF !important;}
.section_demo_list {margin-bottom: -1px;background-color: #b69a38;}
.section_demo_list .target {background-color: #f3f3f3;}
.section_demo .trigger {z-index: 0;line-height: 3em;background-color: #fff;}
.section_demo a {position: relative;display: block;line-height: 1.5em;padding: 1em 0;font-size: 4.5vw;color: #111;text-align: center; text-decoration: none;opacity: 1;-webkit-transition: .2s all ease;transition: .2s all ease;}
.section_demo li a:hover {background-color: #FFF;opacity: 1;}
.section_demo .trigger a:before, .section_demo .trigger a:after {
	position: absolute;
	display: block;
    content: '';
    width: 1px;
    background-color: #999;
    -webkit-transition: .25s all ease;
    transition: .25s all ease;
    border-radius: 10px;
	}
.section_demo .trigger a:before {
	top: 1em;
    right: 6%;
    height: 12px;
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
	}
.section_demo .trigger a:after {
	top: 1em;
    right: 6%;
    height: 12px;
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
	}
.section_demo .target {
	z-index: 1;
    display: none;
    margin: 0 auto;
    padding: 10px 0;
    color: #fff;
	}
.section_demo .target .target a {background-color: #2c363a;}
.section_demo .target .target a:hover {background-color: #374449;}
.section_demo .target .trigger a {background-color: #161b1d;}
.section_demo .target .trigger a:before, .section_demo .target .trigger a:after {background-color: #fff;}
.section_demo .target .trigger a:before {top: .5em;right: 16px;}
.section_demo .target .trigger a:after {top: .85em;right: 16px;}
.section_demo .target .active a {
	/* 子階層のアクティブ箇所 */
	padding-left: 1.5em;
	padding-right: 1.5em;
	color: #fff;
	}
.section_demo .target .active a:hover {background-color: #2c363a;}
.section_demo .target .active a:before, .section_demo .target .active a:after {
	-ms-transform: rotate(0);
	-webkit-transform: rotate(0);
	transform: rotate(0);
	}
.section_demo .target .active a:before {
	top: .65em;
	left: 1em;
	width: 3px;
	height: 12px;
	}
.section_demo .target .active a:after {display: none;}
.section_demo .target ul li a {padding: 0.7em 1em 0.7em 2em;line-height: 1em;}
.section_demo .target a {
	display: block;
	color: #888;
	font-size: 3.3vw;
	-webkit-transition: .2s all ease;
	transition: .2s all ease;
	}
.section_demo .active a:hover {background-color: #2c363a;}
.section_demo .active a:before, .section_demo .active a:after {background-color: #999;}
.section_demo .active a:after {
	top: 1em;
	right: 6%;
	height: 12px;
	-ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(90deg);
	}
.section_demo > ul > li {border-bottom: 1px #b69a38 solid;background-color: #b69a38;}
.section_demo > ul > li:last-of-type {border-bottom: 0;}
.section_demo > ul > li:nth-child(3) a:after {
	background: url(../img/common/arrow_sp_kotohajime.svg) no-repeat right center;
    background-size: 10px;
    opacity: 0.7;
    position: absolute;
    display: block;
    content: '';
    width: 16px;
    height: 16px;
    right: 5%;
    top: 34%;
	}
/* BUTTON（SP）
================================================== */
.btn_hamburger {
	position: absolute;
    top: 0;
    right: 5%;
    margin: 0 0 0 auto !important;
    width: 30px;
    padding: 4.4% 0 0 0;
	}
.btn_hamburger a {
    position: relative;
    display: block;
    height: 16px;
    -webkit-transition: all .4s;
    transition: all .4s;
    box-sizing: border-box;
	}
.btn_hamburger span {
    position: absolute;
    display: inline-block;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #161b1d;
    border-radius: 2px;
    -webkit-transition: all .4s;
    transition: all .4s;
    box-sizing: border-box;
	}
.btn_hamburger span:nth-of-type(1) {
    top: 0;
	}
.btn_hamburger span:nth-of-type(2) {
    top: 7px;
	}
.btn_hamburger span:nth-of-type(3) {
    bottom: 0;
	}
.btn_hamburger span:nth-of-type(2)::after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background-color: #161b1d;
    border-radius: 2px;
    -webkit-transition: all .4s;
    transition: all .4s;
	}
.btn_hamburger .active span:nth-of-type(2) {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
	}
.btn_hamburger .active span:nth-of-type(2)::after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
	}
.btn_hamburger .active span:nth-of-type(1) {
    -webkit-transform: translateY(20px) scale(0);
    -ms-transform: translateY(20px) scale(0);
    transform: translateY(20px) scale(0);
	}
.btn_hamburger .active span:nth-of-type(3) {
    -webkit-transform: translateY(-20px) scale(0);
    -ms-transform: translateY(-20px) scale(0);
    transform: translateY(-20px) scale(0);
	}
header {display: none;}
#g_nav {
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	}
#g_logo {
    width: 45%;
    margin: 2% 0 0 0;
    padding: 1% 0 2.5% 3%;
	}
#g_nav nav {display: none;}
#top_main {min-height: auto;}
#top_main #mainarea_content {width: 85%;}
#emblem p {font-size: 3rem;}
#top_main h2 {width: auto;}
.date_txt01 {font-size: 5vw;}
.date_txt02 {font-size: 9.7vw;}
#btn_main_entry a {font-size: 3vw;padding: 1.7rem 0;width: 100%;}
#scroll {bottom: 50px;}


.c01_copyarea {width: 30vw;}
#c01 h3 {position: absolute;left: 50%;top: 4rem;color: #FFF;font-size: 6vw;}
#c01 h3 .copy_h3_to {font-size: 3vw;letter-spacing: 2px;}
#c01 h3 .copy_h3_s1 {font-size: 4.5vw;}
#c01 h3 .copy_h3_s2 {font-size: 5vw;}
.c01_txtarea {width: 70vw;padding: 6rem 2rem 5rem 3rem;}
.more_btn {
    text-align: center;
    padding: 7px;
    border: solid 1px #666;
    letter-spacing: 1px;
    display: block;
    margin: -5px auto 0 auto;
    margin-bottom: 40px !important;
    width: 60%;
    border-radius: 40px;
    }
.more_btn:hover {cursor: pointer;opacity: .7;}

h2.ttl_en {font-size: 6rem;}
.white_box {padding: 3rem;}

.gradation canvas {height: 60vw;}
.program_box h4 {padding: 0 2rem;margin: 35px 0;}
.program_part {width: 90%;margin: 0 auto 3rem auto;}
.party {padding: 0 3rem;}

#c03 .white_box {padding: 2rem 2rem;}
#c03_inner .logo {margin-bottom: 60px;}
#c03_inner .logo li {max-width: 230px;}
#c03_inner .logo li a .tooltip {display: none;}

#c04 {position: relative;}
#c04 dl {margin: 0 auto;overflow: hidden;font-size: 3vw;border-top: solid 1px #DDD;}
#c04 dt {background: url(../img/ico_circle.png) no-repeat left 85%;
    background-size: 2.9vw;width: 100%;float: left;padding: 5% 0 0 6%;font-weight: bold;letter-spacing: 1px;}
#c04 dl dd {text-align: left;padding: 14% 0 5% 0%;color: #333;font-size: 3vw;border-bottom: solid 1px #DDD;}
#c04 ul li {font-size: 15px;margin-bottom: 5px;padding-left: 1em;text-indent: -1em;}

#c05 .form_box dl dt {min-width: 32%;font-size: 15px;}
#c05 .form_box dl dd {min-width: 68%;}

}

#c05 .form-alert {
    padding: 1rem;
    border: 2px solid #ff9999;
    background-color: #ffefef;
    text-align: center;
}

#c05 .form-alert p {
    margin-bottom: 0 !important;
    color: #f00000 !important;
}

@media screen and (max-width: 767px) {
    #c05 .form-alert {
        margin-right: 20px;
        margin-left: 20px;
    }
}

/*=======================================================================================================================

スマホ用

======================================================================================================================= */
@media screen and (min-width: 768px) {
    .No01 .panelist_company {
        margin-right: -2rem;
        margin-left: -2rem;
    }

    #c05 .form_box dl.sp_member {display: none;}
    .sp_must {display: none;}
}

@media screen and (max-width: 767px) {
    .program_box {background-color: #000;padding-bottom: 1rem;}
    .program_box h4 {padding: 0 1rem;font-size: 1.6rem;margin: 35px 0;}
    .program_box .ttl_small {margin: -1em 0 -0.5em;}
    .program_box.No02 h4 {margin: 35px 0 -3rem 0;}
    .program_box ul {display: block;padding: 0 1.5rem;}
    .program_box.No01 ul li,.program_box.No02 ul li,.program_box.No03 ul li {display: flex;justify-content: space-between;width: 100%;margin: 0 0 2rem 0;}
    .program_box.No02 {margin-top: 2rem;}
    .program_box::before {display: none;}
    .program_box.No01 {background: url(../img/sp_bg_program_red.jpg) no-repeat center center;background-size: cover;}
    .program_box.No02 {background: url(../img/sp_bg_program_blue.jpg) no-repeat center center;background-size: cover;}
    .program_box.No03 {background: url(../img/sp_bg_program_gray.jpg) no-repeat center center;background-size: cover;}
    .gradation {display: none;}
    .panelist {width: 32%;}
    .panelist_info {text-align: left;margin: 0;width: 63%;color: #e1e1e1;}
    .panelist_name {font-size: 1.5rem;}
    .panelist_btn a {background-color: rgba(255, 255, 255, .5);}
    #c02 .label {top: 100%;left: 0;transform: translateY(-100%);width: 100%;height: 21%;}
    .label.red_p {background: url(../img/label_panelist_red_sp.gif) no-repeat left top;background-size: contain;}
    .label.red_m {background: url(../img/label_moderator_red_sp.gif) no-repeat left top;background-size: contain;}
    .label.blue_p {background: url(../img/label_panelist_blue_sp.gif) no-repeat left top;background-size: contain;}
    .label.blue_ps {background: url(../img/label_panelist-sponsor_gray.gif) no-repeat left top;background-size: contain;}
    .label.blue_mp {background: url(../img/label_moderator-panelist_blue_sp_0306.gif) no-repeat left top;background-size: contain;height: 29%!important;}
    .label.blue_m {background: url(../img/label_moderator_blue_sp.gif) no-repeat left top;background-size: contain;}


    #c05 h2.ttl_en {font-size: 3.4rem;}
    #c05 .white_box {padding: 2rem;}
    #c05 iframe {height: 500px;}
    #c05 .form_box p:first-child {padding-right: 1rem;}
    #c05 .form_box dl {flex-wrap: wrap;border-top:none;}
    #c05 .form_box dl dt {width: 100%;padding: 12px 20px;}
    #c05 .form_box dl dd {padding: 25px 20px 25px 20px;}
    .first_half {display: none;}
    .sp_member {display:block;margin-bottom: 10px;}
    .sp_member dd {display: none;}
    #c05 .form_box dl dt.join {background-color: #FFF;}
    #c05 .form_box dl dt.join+dd {padding: 5px 20px 15px 20px;}
    .last_caution {margin: 2rem 3rem;}
    #c05 .form_box dl dd label {margin-right: 15px;display: block;margin-bottom: 15px;}
    #c05 .permission-box {margin: 2rem 3rem;}
    #c05 .form_box dl:nth-child(2) dt::after,
    #c05 .form_box dl:nth-child(3) dt::after,
    #c05 .form_box dl:nth-child(4) dt::after,
    #c05 .form_box dl:nth-child(5) dt::after,
    #c05 .form_box dl:nth-child(6) dt::after,
    #c05 .form_box dl:nth-child(7) dt::after,
    #c05 .form_box dl:nth-child(8) dt::after,
    #c05 .form_box dl:nth-child(9) dt::after,
    #c05 .form_box dl:nth-child(14) dt::after,
    #c05 .form_box dl:nth-child(18) dt::after,
    #c05 .form_box dl:nth-child(19) dt::after {display: none;}
    .sp_must {color: #fd8282;padding-left: 5px;font-size: 14px;}
}

@media screen and (max-width: 640px) {
    .modal_bg {background: rgba(15,15,15,0.97);}
    .modal_content {
        width: 85vw;
        background: none;
        height: 80vh;
        max-height: 80vh;
        padding: 0;
        border-radius: 0;
        display: block;
    }
    .modal_bg::before {top: 3%;right: 7%;width: 2px;height: 30px;}
    .modal_bg::after {top: 3%;right: 7%;width: 2px;height: 30px;}
    .profile_info {width: 100%;margin-left: 0;line-height: 1.9em;color: #eee;}
    .profile_img {width: 50%;margin: 0 auto 1.5rem auto;}
    .url a {color: #a88f41;}
    .txt {color: #999;}
    #c05 .white_box {padding: 2rem 1rem;}
    #c05 iframe {height: 600px;}
}

@media screen and (max-width: 460px) {
    .slide-up {transition: all 200ms linear;transform: translate(0,50px);opacity: 0;}
    #g_logo {width: 55%;}
    .section_demo {margin: 13.5% 0 0 0;}
    #btn_main_entry a {font-size: 5vw;padding: 1.3rem 0;}
    #emblem p {font-size: 2.0rem;}
    .date_txt03 {top: -2px;transform: translateY(-2px);transform: scale(0.7);}

    .c01_txtarea {width: 100%;padding: 4rem 2rem 2rem 2rem;z-index: 1;position: relative;}
    #concept p {margin-bottom: 30px;}
    .accordion:first-child {padding-right: 26vw;}

    #c01 {background: url(../img/map_white.svg) no-repeat center 20%;background-size: contain;background-attachment: fixed;background-color: #f5f5f5;}
    #c01 #c01_inner {display: block;}
    .c01_copyarea {width: 30vw;height: 115vw;float: right;margin: 0 0 0 20px;display: block;position: absolute;top: 0;right: 0;}
    .c01_copyarea::before {background-image:none;background-color:rgba(228, 0, 11, 0.8);}
    #c01 h3 .copy_h3_s1 {margin: 4px 0;}
    #c01 h3 .copy_h3_s2 {margin: -4px 0 6px 0;}

    #c02_inner {padding: 5rem 0 0 0;}
    #c02-2 .flex {display: block;}
    #c02-2 .flex div {width: 100%;}
    #c02-2_inner .flex div:last-child {padding-left: 0;}
    #c02-2 h3 {margin: 1rem 0 -1rem 0;font-size: 1.5rem;}

    #c02-2_inner,#c03_inner, #c04_inner, #c05_inner {padding: 4rem .7rem 0 .7rem;}
    .white_box {padding: 2rem 1.4rem 2rem 1.4rem;border-radius: 10px;}
    h2.ttl_en {font-size: 3.8rem;margin-bottom: 10px;}
    h2.ttl_ja {margin-bottom: 25px;}
    .program_part {width: 90%;margin: 0 auto 3rem auto;font-size: 1rem;}
    .party.flex div {width: 90%;margin: 0 auto 1rem auto;}

    #c03 .white_box {padding: .1rem .5rem .7rem .5rem;}
    #c03_inner .logo {margin-bottom: 2.5rem;}
    #c03_inner .logo li {max-width: 42%; margin: 12px 10px;}

    #c04 dl {font-size: 4vw;}
    #c04 dl dt {background: url(../img/ico_circle.png) no-repeat left 80%;background-size: 3.2vw;}
    #c04 dl dd {font-size: 3.9vw;}

    #c05 {padding-bottom: 5rem;}
    .form_caution {text-align: center;line-height: 1.9em;margin: 0 0 30px 0;font-size: 3.3vw;}
    .last_caution {margin: 2rem 1rem;}
    #c05 .permission-box {margin: 2rem;padding: 1.7rem 1rem;font-size: 3.4vw;}
    .btn_submit {width: 80%;padding: 15px 0;font-size: 4.5vw;}
    #c05 .form_box dl dd {min-width: 100%;}

    #pagetop a {position: fixed;width: 45px;height: 60px;right: 10px;bottom: 65px;}

}
@media screen and (max-width: 375px) {
    .profile_img {width: 70%;}
    .company {font-size: .9rem;line-height: 1.6em;margin-bottom: .7rem;}
    .name {font-size: 1.85rem;}
    .txt {margin-top: 1.7rem;font-size: .8rem; line-height: 1.9em;}
    .url a {font-size: .9rem;}
}

@media screen and (max-width: 360px) {
#c02 .label {top: 85%;}
}


/*========= 流れるテキスト ===============*/
/*全共通*/
.slide-in {overflow: hidden;display: inline-block;}
.slide-in_inner {display: inline-block;}

/*左右のアニメーション*/
.leftAnime{opacity: 1;/*事前に透過0にして消しておく*/}

.slideAnimeLeftRight {animation-name:slideTextX100;animation-duration:.8s;animation-fill-mode:forwards;opacity: 1;}

@keyframes slideTextX100 {
  from {
	transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 1;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
	animation-name:slideTextX-100;
	animation-duration:.8s;
	animation-fill-mode:forwards;
    opacity: 1;
    }


@keyframes slideTextX-100 {
  from {
	transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 1;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}
