header {
	color: #3A4751;
	border-color: #3A4751;
}
footer {
	color: #fff;
	background: #3A4751;
}
.titlebar {
	background: #d7e2f5;
	color: #3A4751;
}
.sub-title {
	border-left: 4px solid #688dce;
	color: #688dce;
	padding-left: 10px;
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: bold;
	margin-top: 20px;
}
.mini-sub-title {
	border-left: 4px solid #688dce;
	color: #688dce;
	padding-left: 10px;
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: bold;
	margin-top: 20px;
}
.panel-default .panel-heading {
	background: #3A4751;
	color: #fff;
}
/* .gss-header-nav.navbar {
	background: #1385b0;
} */
.gss-header-nav.navbar a {
	color: #fff;
	width: 200px; 
	text-align: left;
}
.gss-header-nav .nav > li > a:hover,
.gss-header-nav .nav > li > a:focus {
  background-color: #5CB89E;
}
/* .gss-header-nav .nav .open > a, .nav .open > a:focus, .nav .open > a:hover {
	background: #69b6cf;
}  */
/* .gss-header-nav .nav > .dropdown > .dropdown-menu {
	background: #1385b0;
} */
/* .gss-header-nav .nav > .dropdown > .dropdown-menu > li > a:hover {
	background: #69b6cf;
} */



/* メニューのホバー効果を適用 */
.gss-header-nav .panel-group .panel-body ul li a:hover,
.gss-header-nav .panel-group .panel-body ul li a:focus {
    background-color: #5CB89E;
}
/* メニュー開閉時の背景適用 */
.gss-header-nav .panel-group .panel-heading{
    display: block;
    color: #fff;
    padding: 10px;
    text-align: left;
}
.gss-header-nav .panel-group .panel-heading:hover,
.gss-header-nav .panel-group .panel-heading:focus {
    background: #5CB89E;
}
.gss-header-nav .panel-group .panel-body {
    background: #3A4751;
	
}
/* メニューの幅を調整 */
.gss-header-nav .panel-group {
    width: 200px; /* 必要に応じて変更 */
    margin: auto; /* 中央揃え */
}
/* メニュー内のリストアイテムも調整 */
.gss-header-nav .panel-group .panel-body ul .panel-heading a{
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: left;
}
.panel-heading a{
	font-size: 15px;
	font-weight: 400;
	text-decoration: none;
	position: relative;
}
.list-unstyled {
    font-size: 15px;
}
.list-unstyled li:hover {
    color: #fff;
}



.modal-header {
	color: #1385b0;
	border-left: 4px solid #1385b0;
}
.nologin-border {
	width: 100%;
	border-top: 3px solid #3A4751;
}

.sub-heading {
	padding: 10px 15px;
	background: #1385b0;
	color: #fff;
}

.guest-step {
	position:relative;
	padding-left:18px;
	color: #578db6;
}
.guest-step:before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	border-top: 12px solid #578db6;
	border-bottom: 7px solid transparent;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
}

.gss-member-header {
	min-height: 20px;
	color: #3A4751;
	padding: 5px 5px;
	font-size: 16px;
	z-index: 100;
	text-align: center;
	margin-top: 20px;
}

/* -------------------------
JI�ǉ���
------------------------- */
/* �����ʁ� */
/* ClearBoth */
.cb {
clear: both;
}
/* ClearFix */
.cf:before, .cf:after {
content: "";
display: table;
}
.cf:after {
clear: both;
}
.cf {
zoom: 1;
}
/* �����ʁ� */

/* ���}�C�y�[�W�� */
.mypage-point {
	overflow:hidden;
	border: 1px solid #cccccc;
	width: 540px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 10px;
	padding-right: 40px;
	padding-left: 40px;
	margin-bottom: 20px;
}
.mypage-point-text {
	font-size: 16px;
	float: left;
}
.mypage-point-text02 {
	color:#D80000;
	text-align:center;
	/*float: left;*/
	font-size: 16px;
}
@media (max-width:767px){
.mypage-point {
	width: auto;
}
.mypage-point-text {
	float: none;
	text-align: center;
}
.mypage-point-text02 {
	float: none;
	text-align: center;
}
}
.mypage-point-text span {
	font-size: 22px;
}
.mypage-point-text02 span {
	font-size: 22px;
}
.mypage-news {
	float: left;
	margin-bottom: 30px;
}
@media (max-width:767px){
.mypage-news {
	float: none;
	width: auto;
}
}
.mypage-news ul {
	padding-left: 0;
	list-style: none;
}
.mypage-news ul li {
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px dotted #666666;
}
.mypage-link {
	text-align: right;
}
.mypage-info {
	float: right;
	width: 48%;
	border: 1px solid #0085B2;
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
	margin-bottom: 30px;
}
@media (max-width:767px){
.mypage-info {
	float: none;
	width: auto;
}
}
.mypage-info table {
	margin-bottom: 10px;
}
.mypage-info table tr th {
	white-space: nowrap;
}
.mypage-info table tr td {
	padding-left: 15px;
}
.mypage-content {
	width: 840px;
	/* margin-left: auto; */
	margin-right: auto;
}
@media (max-width:767px){
.mypage-content {
	width: auto;
}
}
@media (min-width: 768px){
.mypage-content {
	width: 720px;
}
}
@media (min-width: 992px){
.mypage-content {
	width: 840px;
}
}
.mypage-title02 {
	background-image: url(../img/member/mypage/icon_tit.gif);
	background-repeat: no-repeat;
	padding-left: 20px;
	background-position: left center;
	font-size: 16px;
	padding-bottom: 5px;
	border-bottom: 1px solid #333333;
	font-weight: bold;
	margin-bottom: 20px;
}
.mypage-menu {
	padding-left: 0;
}
.mypage-menu li {
	list-style-type: none;
	width: 48%;
	margin-bottom: 40px;
	border-radius: 10px;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#66b6d1+0,0085b2+100 */
	background: #66b6d1; /* Old browsers */
	background: -moz-linear-gradient(top,  #66b6d1 0%, #0085b2 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#66b6d1), color-stop(100%,#0085b2)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #66b6d1 0%,#0085b2 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #66b6d1 0%,#0085b2 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #66b6d1 0%,#0085b2 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #66b6d1 0%,#0085b2 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66b6d1', endColorstr='#0085b2',GradientType=0 ); /* IE6-9 */
}
.mypage-menu li:nth-child(odd) {
	float: left;
}
.mypage-menu li:nth-child(even) {
	float: right;
}
@media (max-width:767px){
.mypage-menu li {
	width: auto;
	margin-bottom: 20px;
}
.mypage-menu li:nth-child(odd) {
	float: none;
}
.mypage-menu li:nth-child(even) {
	float: none;
}
}
.mypage-menu li a {
	display: block;
	padding: 10px;
	text-align: center;
}
.mypage-menu li a:link {
	color: #fff;
}
.mypage-menu li a .title {
	font-size: 30px;
	margin-bottom: 0;
}
.mypage-menu li a .intro {
	font-size: 16px;
	border-top: 2px solid #fff;
	padding-top: 10px;
	margin-bottom: 0;
	padding-bottom: 60px;
	background-image: url(../img/member/mypage/icon_arrow.png);
	background-repeat: no-repeat;
	background-position: center bottom;
}
.mypage-menu li.sche a {
	background-image: url(../img/member/mypage/icon_sche.png);
	background-repeat: no-repeat;
	background-position: 80px center;
}
.mypage-menu li.sche a .title {
	background-image: url(../img/member/mypage/icon_arrow2.png);
	background-repeat: no-repeat;
	background-position: right center;
}
.mypage-menu li.basic a {
	background-image: url(../img/member/mypage/icon_basic.png);
	background-repeat: no-repeat;
	background-position: 80px center;
}
.mypage-menu li.basic a .title {
	background-image: url(../img/member/mypage/icon_arrow2.png);
	background-repeat: no-repeat;
	background-position: right center;
}
@media (max-width:997px){
.mypage-menu li.sche a {
	background-position: 15px center;
}
.mypage-menu li.basic a {
	background-position: 15px center;
}
}
/*���}�C�y�[�W��*/

/*���X�P�W���[����*/
.scheTit {
color: #0085B2;
border-bottom: 1px solid #0085B2;
padding-bottom: 5px;
font-size: 108%;
font-weight: bold;
margin-bottom: 20px;
padding-top: 20px;
}
.schedule {
padding-left: 0;
}
.schedule li {
float: left;
list-style-type: none;
margin-bottom: 50px;
}
@media (min-width:768px){
.schedule li {
width: 240px;
}
}

@media (min-width:992px){
.schedule li {
width: 313px;
}
}

@media (min-width:1200px){
.schedule li {
width: 380px;
}
}
.schedule li .stage {
margin-left: 70px;
text-align: center;
padding: 5px;
background-color: #0085B2;
color: #fff;
font-weight: bold;
line-height: 1.2;
}
.schedule li .stage span {
font-size: 16px;
}
.schedule li ul {
height: 781px;
margin-left: 70px;
background-color: #e5e5e5;
position: relative;
padding-left: 0;
border: 1px solid #000;
}
.schedule li ul li {
position: absolute;
width: 100%;
left: 0;
list-style-type: none;
background-color: #fff;
text-align: center;
}
.schedule li ul li .start {
position: absolute;
left: -40px;
top: -0.5em;
line-height: 1;
}
.schedule li ul li .end {
position: absolute;
left: -40px;
bottom: -0.5em;
line-height: 1;
}
.schedule li ul li .start,
.schedule li ul li .end {
margin-bottom: 0;
}
.schedule li ul li .title {
overflow: hidden;
padding: 10px;
margin-bottom: 0;
border-bottom: 1px solid #000;
border-top: 1px solid #000;
}
@media (max-width:767px){
.schedule li {
width: 85%;
float: none;
margin-bottom: 20px;
}
.schedule li ul li .title {
width: 100%;
}
}
@media (min-width:768px){
.schedule li {
width: 240px;
}
.schedule li ul li .title {
width: 168px;
}
}
@media (min-width:992px){
.schedule li {
width: 313px;
}
.schedule li ul li .title {
width: 241px;
}
}
@media (min-width:1200px){
.schedule li {
width: 380px;
}
.schedule li ul li .title {
width: 308px;
}
}
.schedule li ul li .title .time {
margin-bottom: 0;
font-size: 11px;
}
.schedule li ul li .title .title {
overflow: hidden;
padding: 0;
border: none;
width: auto;
font-weight: bold;
}
.schedule li ul li .title .title span {
font-size: 12px;
}
.schedule li ul li .title .other {
margin-bottom: 0;
}
.schedule li ul li.last {
top: 660px;
background-color: #FEBEBE;
}
/*���X�P�W���[����*/


.gss-header-nav {
    overflow: hidden;
	position: sticky;
}

.gss-header-nav .nav {
    overflow: hidden;
    flex-direction: column; /* 縦方向に配置 */
    align-items: flex-start; /* 左揃え */
    width: 220px; /* 必要に応じて幅を設定 */
    padding: 10px; /* 内側の余白を設定 */
	background: #3A4751;
}

.gss-header-nav .nav > li {
    margin: 5px 0; /* 上下のマージンを追加 */
    list-style: none; /* リストスタイルを削除 */
}

.navbar-toggler {
    display: flex;
    flex-direction: column;
    align-items: center;
    border: none;
    background-color: transparent;
    cursor: pointer;
}

.navbar-toggler-icon {
    display: inline-block;
    width: 30px;
    height: 3px;
    background-color: #3A4751;
    margin: 3px 0;
    transition: all 0.3s;
}

.menu-text {
    font-size: 18px; /* 大きめのフォントサイズに設定 */
    color: #3A4751;
}

.active-link {
    background-color: #5CB89E; /* アクティブなリンクの背景色 */
    color: #fff; /* アクティブなリンクのテキスト色 */
}



/* レスポンシブ化 */

/* スマホ画面用のスタイル */
@media (max-width: 768px) {
    .gss-header-nav {
        position: static; /* スマホ時にstickyを無効化 */
    }

    .gss-header-nav .navbar-toggler {
        display: block;
        position: fixed;
        top: 15px; /* ボタンを画面の上に移動 */
        left: 5px; /* ボタンを画面の左に移動 */
        z-index: 1050;
        transition: left 0.3s ease-in-out; /* アニメーションを追加 */
    }

    #navbarContent {
        position: fixed;
        top: 65px;
        left: 0;
        width: 220px;
        background-color: #3A4751;
        transition: transform 0.3s;
        z-index: 1040;
        overflow-y: auto;
        overflow-x: hidden; 
        max-height: calc(100vh - 65px); /* ビューポートの高さから上部の余白を引いた値 */
        padding-bottom: 20px; /* 下部にパディングを追加 */
    }

    /* スマホサイズのときのリンクの文字色を白に設定 */
    #navbarContent a {
        color: #fff !important;
    }

    .hide-on-mobile {
        display: none; /* スマホ時に非表示 */
    }

    /* スクロールバーのスタイリングを追加 */
    #navbarContent::-webkit-scrollbar {
        width: 5px;
    }

    #navbarContent::-webkit-scrollbar-track {
        background: #3A4751;
    }

    #navbarContent::-webkit-scrollbar-thumb {
        background: #55636e;
    }
}

.mobile-only {
    display: none; /* デフォルトでは非表示 */
}

@media (max-width: 768px) {
    .mobile-only {
        display: inline; /* モバイルデバイスのときに表示 */
    }
}

.head-text {
    display: block; /* デフォルトでは表示 */
}

@media (max-width: 768px) {
    .head-text {
        display: none; /* スマホ時に非表示 */
    }
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3); /* 薄いグレーのオーバーレイ */
    z-index: 999; /* メニューの下に表示されるように */
    display: none; /* デフォルトでは非表示 */
}

@media (max-width: 768px) {
    .overlay {
        display: block; /* スマホ時にオーバーレイを表示可能に */
    }
}


