@charset "utf-8";

/* CSS Document */


/*WEB-------------フォント-------------*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');
* {
    font-family: 'Noto Sans JP', sans-serif, "Font Awesome 5 Free";
}

body {
    font-family: 'Noto Sans JP', sans-serif, "Font Awesome 5 Free";
    font-size: 14px;
    color: #333631;
    background-color: transparent;
    overflow-x: hidden;
    line-height: 2;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
td,
li {
    font-family: 'Noto Sans JP', sans-serif, "Font Awesome 5 Free";
}


/*-------------アンカー・ボタン アウトラインなし-------------*/

a.active.focus,
a.active:focus,
a.focus,
a:active.focus,
a:active:focus,
a:focus,
button.active.focus,
button.active:focus,
button.focus,
button:active.focus,
textarea:active:focus,
textarea:focus,
button:active:focus,
button:focus,
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus {
    outline: 0;
    outline-color: transparent;
    outline-width: 0;
    outline-style: none;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
}


/*----文字にアンカー-----------------------*/

.text_link {
    color: #526698;
    text-decoration: none;
    background-color: transparent;
}

.text_link:hover {
    color: #7a4171;
    text-decoration: none;
    background-color: transparent;
}

.container {
    padding: 0;
    /* line-height: 2.5; */
}

.bg_transparent {
    background: rgba(255, 255, 255, 0.7);
    border-radius: 5px;
}

.bg_nav_transparent {
    background: rgba(255, 255, 255, 0.8);
    border-radius: 5px;
}

.contents_title {
    padding-left: 1rem;
    font-size: 24px;
    color: #1c1c1c;
    padding: 5rem 1rem 5rem;
}

@media (max-width: 992px) {
    .contents_title {
        padding: 3rem 1rem 3rem;
        font-size: 22px;
        line-height: 1.5;
    }
}

.mt_80 {}

@media only screen and (max-width: 768px) {
    .mt_80 {
        padding-top: 80px;
    }
}

.text_purple {
    color: #b15b9b;
    line-height: 30px;
}

.line_height_15 {
    line-height: 1.5;
}


/*-----フォントサイズ--------------------------*/

.f12 {
    font-size: 12px;
}

.f14 {
    font-size: 14px;
}

.f16 {
    font-size: 16px;
}

.f18 {
    font-size: 18px;
}

.f20 {
    font-size: 20px;
}

.f24 {
    font-size: 24px;
}


/*-------------　PC・SP画像切り替え------------- */

.toggle-pc {
    display: block;
}

.toggle-sp {
    display: none;
}

@media only screen and (max-width: 768px) {
    .toggle-pc {
        display: none;
    }
    .toggle-sp {
        display: block;
    }
}


/*-----ナビバー--------------------------*/


/*----dropdown　hoverで開く----*/

.dropdown:hover .dropdown-menu {
    display: block;
}


/*----トグル閉じるボタン----*/

button[aria-expanded="true"]>span {
    position: relative;
    display: none;
}

button[aria-expanded="true"]::after {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 28px;
    content: "×";
}


/*----ハンバーガーの枠線を消す-----------*/

.navbar-light .navbar-toggler {
    border-color: rgba(0, 0, 0, 0);
}

.navbar {
    padding: 0;
}

.navbar-light .navbar-nav .nav-link {
    color: #666;
    margin-left: 1.5rem;
}

.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
    color: #9f428e;
}

.nav-link {
    padding: 0;
    margin-top: 0px;
}

.sns {}

@media (max-width: 992px) {
    .sns {
        padding-bottom: 1rem;
    }
}

.list-inline {
    line-height: 1.7;
}


/*-------参加登録ボタン-----------------------------*/

.list-inline-item:not(:last-child) {
    margin-right: 0;
}

.mark_sakura {
    background-image: url(../img/list_sakura.png);
    background-repeat: no-repeat;
    background-position: left center;
    margin: 0 0.5rem;
    padding-left: 50px;
    font-size: 18px;
    line-height: 30px;
    color: #b15b9b;
    border-bottom: 3px dotted #f2e2e8;
}

@media only screen and (max-width: 768px) {
    .mark_sakura {
        margin: 0;
    }
}

.bg_pink {
    background: rgba(247, 231, 218, 0.5);
    border-radius: 10px;
    color: #666;
    font-size: 16px;
}

.bg_white {
    background: rgba(253, 254, 230, 0.5);
    border-radius: 10px;
    color: #666;
    font-size: 16px;
}

.bg_blue {
    background: rgba(230, 253, 254, 0.5);
    border-radius: 10px;
    color: #666;
    font-size: 16px;
}

.bg_gray_100 {
    background-color: #F3F4F6;
}

* {
    margin: 0;
    padding: 0;
}


/*.bg_contents{
padding:5%;
z-index:-10;
}
.bg_contents::before {
content:"";
display:block;
position:fixed;
top:0;
left:0;
z-index:-10;
width:100%;
height:100vh;
background-repeat:no-repeat;
background-position: center top;
background-image:url(../img/bg_contents.png);
background-size:100% auto;
min-height: 300px;
}*/

@media only screen and (max-width: 768px) {
    .bg_contents {
        padding: 0;
        z-index: -10;
    }
    .bg_contents::before {
        background-image: url(../img/bg_contents_sp.png);
        z-index: -10;
    }
}


/*.bg_contents{
  background-image: url(../img/bg_contents.png);
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size:100% auto;
  background-position: center top;
  min-height: 300px;
  margin-top: 80px;
}
@media only screen and (max-width: 768px){
.bg_contents{
  background-image: url(../img/bg_contents_sp.png);
}
}*/


/*-------footer-----------------*/

.footer_color {
    background: rgba(51, 51, 51, 0.7);
    color: #fff;
    text-align: center;
    padding: 2px 0;
    font-size: 14px;
}


/*-------開催概要の項目名-----------------*/

.outline_detaile_title {
    background-color: #e6e6fa;
    border-bottom: 1px solid #fff;
    line-height: inherit;
    font-weight: bold;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}


/*-------開催概要の詳細-----------------*/

.outline_detaile {
    border-bottom: 1px dotted #e6e6fa;
    line-height: inherit;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

@media only screen and (max-width: 768px) {
    .outline_detaile {
        border-bottom: 0;
    }
}


/*-------Complication of the Year 2020-----------------*/

.header_circle {
    margin: 0;
    /* デフォルトCSS打ち消し */
    font-size: 20px;
    /* 文字サイズ指定 */
    font-weight: bold;
    position: relative;
    /* 位置調整 */
    display: inline-block;
    /* インラインブロックにする */
    padding-top: 10px;
    /* 余白指定 */
    padding-left: 30px;
    /* 余白指定 */
    padding-bottom: 10px;
    /* 余白指定 */
}

.header_circle:before {
    content: '';
    /* 空白の要素を作る */
    background-color: #b0b314;
    /* 背景色指定 */
    display: block;
    /* ブロック要素にする */
    position: absolute;
    /* 位置調整 */
    left: 0;
    /* 位置調整 */
    height: 40px;
    /* 高さ指定 */
    width: 40px;
    /* 幅指定 */
    border-radius: 50%;
    /* 丸くする */
    top: 0;
    /* 位置調整 */
    z-index: -1;
    /* 重なり調整 */
}

.header_circle_p {
    padding-left: 10px;
    font-size: 16px;
    z-index: 5;
}

.card-body {
    padding: 0.5rem;
}

.card_width {
    max-width: 800px;
}

.card_text_sm {
    font-size: 16px;
    line-height: 1.5;
}

.card_border {
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
}


/*------ボタン--------------*/

section {
    max-width: 300px;
    margin-left: 20px;
}

a.recruit_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50px;
    box-sizing: border-box;
    background: repeating-linear-gradient(45deg, #ffffff, #ffffff 1px, #e5e750 1px, #e5e750 30px);
    color: #333;
    font-size: 16px;
    letter-spacing: 0.1em;
    text-decoration: none;
    position: relative;
}

a.recruit_btn span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50px;
    background: #fff;
    border: 1px solid #b0b314;
    box-sizing: border-box;
    position: absolute;
    top: -4px;
    left: -4px;
    transition-duration: 0.2s;
}

a.recruit_btn:hover span {
    left: -1px;
    top: -1px;
}


/*------ボタン_参加登録-------------*/

a.btn-radius-solid {
    padding: 10px 20px;
    background: #fff;
    background: -webkit-gradient(linear, left top, left bottom, from(#f19ecb), to(#eed3f1));
    background: -webkit-linear-gradient(top, #f19ecb 0%, #eed3f1 100%);
    background: linear-gradient(to bottom, #f19ecb 0%, #eed3f1 100%);
    border-radius: 5px;
    color: #7418ae;
}

a.btn-radius-solid:hover {
    background: -webkit-gradient(linear, left bottom, left top, from(#f19ecb), to(#eed3f1));
    background: -webkit-linear-gradient(bottom, #f19ecb 0%, #eed3f1 100%);
    background: linear-gradient(to top, #f19ecb 0%, #eed3f1 100%);
    text-decoration: none;
    color: #f2148e;
}

a.btn--shadow {
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

#summary_output .text {
    white-space: pre-wrap;
}

.ondemand_frame {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.ondemand_frame iframe {
    width: 100%;
    height: 100%;
}


/*------配信画面ページ-------------*/

/****要更新****/
/***各ルームのカラー***/
:root{
	--room_a: #AB2C2F;
	--room_b: #6D63A1;
	--room_c: #ACA33E;
	--room_d: #439F88;
	--room_e: #58A9D6;
	--room_f: #D7730B;
}

/***以下更新不要***/
/*今いるルーム*/
.btn_room_a.current_room.active {
	background-color: var(--room_a);
	border-color: var(--room_a);
}

.btn_room_b.current_room.active {
	background-color: var(--room_b);
	border-color: var(--room_b);
}

.btn_room_c.current_room.active {
	background-color: var(--room_c);
	border-color: var(--room_c);
}

.btn_room_d.current_room.active {
	background-color: var(--room_d);
	border-color: var(--room_d);
}

.btn_room_e.current_room.active {
	background-color:var(--room_e);
	border-color: var(--room_e);
}

.btn_room_f.current_room.active {
	background-color:var(--room_f);
	border-color: var(--room_f);
}

/*今いるルーム以外*/
.btn_room_a.other_room.active {
	color:var(--room_a);
	border-color: var(--room_a);
}

.btn_room_a.other_room.active:hover {
	background-color: var(--room_a);
}

.btn_room_b.other_room.active {
	color: var(--room_b);
	border-color:  var(--room_b);
}

.btn_room_b.other_room.active:hover {
	background-color:  var(--room_b);
}

.btn_room_c.other_room.active {
	color:  var(--room_c);
	border-color: var(--room_c);
}

.btn_room_c.other_room.active:hover {
	background-color: var(--room_c);
}

.btn_room_d.other_room.active {
	color: var(--room_d);
	border-color: var(--room_d);
}

.btn_room_d.other_room.active:hover {
	background-color: var(--room_d);
}

.btn_room_e.other_room.active {
	color: var(--room_e);
	border-color: var(--room_e);
}

.btn_room_e.other_room.active:hover {
	background-color: var(--room_e);
}

.btn_room_f.other_room.active {
	color: var(--room_f);
	border-color: var(--room_f);
}

.btn_room_f.other_room.active:hover {
	background-color: var(--room_f);
}

/**更新不要**/
/*共通*/
.room_btn {
	display: block;
	height: 100%;
	text-align: center;
	border-width: 1px 0;
}

/*今いるルーム*/
.current_room.active {
	color: #fff;
	cursor: default;
}

.current_room.active:hover {
	color: #fff;
	text-decoration: none;
}

/*今いるルーム以外*/
.other_room.active {
	background-color: #fff;
}

.other_room.active:hover {
	color: #fff;
	text-decoration: none;
}

/*非アクティブなルーム*/
.room_btn.inactive {
	color: #d1d5db;
	border-color: #d1d5db;
	cursor: default;
	text-decoration: none;
}

/*アイコンと文字の位置調整*/
.nav-icon {
	vertical-align: -1px;
}

/*動画のサイズ調整*/
.embed_video {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.embed_video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* チャットのサイズ調整 */
/*.video_comment {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.video_comment iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}*/