@charset "utf-8";
/*----------------------------------------------
	BASE
---------------------------------------------*/

/*----------------------------------------------
	html
---------------------------------------------*/
html { font-size: 62.5%; }

/*----------------------------------------------
	body
---------------------------------------------*/
body {
  position: relative;
	color: #333;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 500;
  line-height: 1.6;
   /* フッターをブラウザ下部に */
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

@media screen and (max-width:750px){
	body {
		font-size: 1.5rem;
		line-height: 1.5;
		word-wrap: break-word; /*英語改行用*/
		-webkit-text-size-adjust: 100%;
	}
	}

/*----------------------------------------------
	a
---------------------------------------------*/
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	/*color: #0025ab;*/
}
a:hover {
	text-decoration: none;
}

/*----------------------------------------------
	table
---------------------------------------------*/
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/*----------------------------------------------
	h1,h2,h3,h4,h5,h6
---------------------------------------------*/
h1,h2,h3,h4,h5,h6{ margin: 0; }
/*----------------------------------------------
	img
---------------------------------------------*/
img {
  vertical-align: middle;
}
/*----------------------------------------------
	li
---------------------------------------------*/
li {
  list-style-type: none;
}
/*----------------------------------------------
	*
---------------------------------------------*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

select{
  border: 1px solid #D8D8D8;
  font-size: 1.6rem;
}

#organizer a { color: #274DB6; }
#user a { color: #4d5eb3; }
#administrator a { color: #1DAF18; }



/*----------------------------------------------
	.l_wrap
---------------------------------------------*/
.l_wrap {
	max-width: 1000px;
	width: 95vw;
	margin: 0 auto;
  /*overflow-wrap: break-word;*/
  overflow-wrap: anywhere;
}

@media screen and (max-width:750px){
	.l_wrap { padding: 0 20px; }
}

.l_wrap.is_large{
	max-width: 1200px;
}

/*----------------------------------------------
	.l_header
---------------------------------------------*/
 .l_header {
	padding: 40px 0;
	background: #aaa;
	background-size: cover;
	background-position: center;
  position: relative;
}

#organizer .l_header { background: #274DB6 !important; }
#user .l_header { background: #424866 !important; }
#administrator .l_header { background: #1DAF18 !important; }

.l_logout_box {
  position: absolute;
  top:20px;
  right: 15px;
  width: 180px;
  text-align: center;
}
.l_logout_box p {
  color: #fff;
  font-size: 1.3rem;
  line-height: 1.2;
  margin-bottom: 10px;
}
.l_header .c_btn_logout {
  position: absolute;
  /*top:60px;*/
  right: 15px;
	border: none;
  background: #fff;
	padding: 3px;
	font-weight: bold;
	cursor: pointer;
	text-decoration: none;
	text-align: center;
	max-width: 200px;
	width: 150px;
	border-radius: 50px;
  font-size: 1.6rem;
	transition: all 0.4s;
}

#organizer .l_header .c_btn_logout { background: #E8F0FF !important; color: #274DB6; }
#user .l_header .c_btn_logout { background: #f0f1f5 !important;  color: #4d5eb3; }
#administrator .l_header .c_btn_logout { background: #F4FFE8 !important;  color: #1DAF18; }

@media screen and (max-width:750px){
  .l_header { padding: 60px 0 20px 0; }
	.l_header .c_btn_logout { right: 15px; }
  .l_logout_box {
    width: 100%;
    text-align: right;
    top: 10px;
  }
  .l_header .c_btn_logout {
    right: 0;
    width: 120px;
    }
}


/*----------------------------------------------
	.l_top
---------------------------------------------*/
.l_top{
	position: relative;
	margin-bottom: -60px;
}

/*----------------------------------------------
	.l_top_flex
---------------------------------------------*/
.l_top_flex{
	display: flex;
	position: relative;
	margin-bottom: 30px;
}

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


/*----------------------------------------------
	.l_container *jsで設定
---------------------------------------------*/
.l_container {
	padding-bottom: 300px;
	/* overflow: hidden; */
	position: relative;
  flex: 1;
}

/* .l_container::before {
	position: absolute;
	top: -100px;
	content: "";
	background: url(../images/bg.jpg) no-repeat;
	width: 100%;
	height: 100%;
	background-size: cover;
	z-index: -200;
} */

.l_container.is_program {
	background: #fff;
}

.l_container.is_program::before {
	content: none;
}


/*----------------------------------------------
	.l_content
---------------------------------------------*/
.l_content {
	margin-top: 30px;
	padding: 40px;
	background: #fff;
}

/*----------------------------------------------
	.l_text
---------------------------------------------*/
.l_text{
	max-width: 80%;
	/* width: 100%; */
}

@media screen and (max-width: 750px) {
	.l_text {
		 margin-bottom: 10px;
		 max-width: 100%;
		 width: 100%;
		}
}


/*----------------------------------------------
	.pagetop
---------------------------------------------*/
#pagetop {
	position: fixed;
	bottom: -110px;
	right: 10px;
	z-index: 999;
}

#pagetop img {
	width: 60px;
	height: 60px;
}


/*----------------------------------------------
	.l_footer
---------------------------------------------*/
.l_footer {
	width: 100%;
	z-index: 99;
}
#organizer .l_footer, #user .l_footer { display: flex; justify-content: space-between;}
.l_footer a { color: #fff !important;}
.is_organizer, .is_user {
  display: none;
  text-align: center;
  font-size: 1.2rem;
  padding: 8px 15px 0 15px;
}
#organizer .is_organizer,
#user .is_user {
  display: block;
}

#organizer .l_footer{ background: #274DB6; }
#user .l_footer { background: #424866; }
#administrator .l_footer { background: #1DAF18; }

@media screen and (max-width:600px){
  #organizer .l_footer, #user .l_footer { display: block;}
}

/*----------------------------------------------
	.l_copyright
---------------------------------------------*/
.l_copyright {
	padding: 8px;
	font-size: 1.2rem;
  color: #fff;
  text-align: center;
}


/*----------------------------------------------
	.l_item
---------------------------------------------*/
.l_item {
	display: flex;
	align-items: flex-start;
}


/*----------------------------------------------
	.l_btn
---------------------------------------------*/
.l_double_btn {
  display: flex;
  gap: 0 30px;
  justify-content: center;
}

@media screen and (max-width:750px){
  .l_double_btn {
  display: block;
  gap: 0 !important;
  }
  .c_btn_type01,.c_btn_type02 { width: 100% !important; margin: 5px 0; }
}

/*----------------------------------------------
logo
---------------------------------------------*/
#logo_image{
  min-height: 100px;
  background: #fff;
  display: flex;
  justify-content: space-between;
}
#logo {
    margin: 0 0 6px 0;
    padding: 0;
    line-height: 100%;
    font-size: 24px;
    font-weight: normal;
}
#logo a {
    text-decoration: none;
}
#logo img {
    width: 160px;
    margin-top: 15px;
    margin-left: 10px;
}

.l_hp p {
  line-height: 100px;
  padding: 0 20px;
  font-weight: bold;
  font-size: 0.9em;
  right: 3rem;
  top: 40px;

  display: inline-block;
  padding-left: 20px;
  text-decoration: none;
}
.l_hp:before {
  /*content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
  transform: rotate(45deg);*/
  display: inline-block;
    position: absolute;
    width: 20px;
    height: 100px;
    background: url("../images/icon_arrow.svg") no-repeat center center;
    background-size: 20px 20px;
    content: "";
}

@media screen and (max-width:768px){
 /* #logo_image div {
    width: 100%;
    text-align: center;
    }
  #logo img {margin-left: 0;}*/
  #logo_image { display: block; }
  .l_hp {height: 50px;}
  .l_hp p { line-height: 50px; }
  .l_hp:before {
    height: 50px;
    background-size: 15px 15px;
  }
}



/*----------------------------------------------
l_home_menu
---------------------------------------------*/
.l_home_menu {
  margin-bottom: 50px;
}

.l_home_menu ul{
margin: 0 auto;
padding: 0;
width: 100%;
text-align: center;
display: flex;
  flex-wrap: wrap;
justify-content: center;
}
.l_home_menu ul li{
width: auto;
min-width: 120px;
margin: 3px;
font-size: 1.4rem;
}
.l_home_menu ul li a {
/*display: block;*/
width: 100%;
font-weight: bold;
background: #f0f1f5;
padding: 5px;
border-radius: 5px;

display: flex;
justify-content: center;
align-items: center;

}
.l_home_menu ul li a {
text-decoration: none;
}
.l_home_menu ul li.current a{
background-color: #4d5eb3;
  color: #fff !important;
}
.l_home_menu ul li a:hover{
background-color: #4d5eb3;
  color: #fff !important;
}

@media screen and (max-width:768px){
  .l_home_menu ul {
    padding-top: 17vw;
  }
  .l_home_menu ul li{
width: 100%;
  }
  .l_home_menu ul li a {
    padding: 2.6vw;
    font-size: 1.6rem;
  }
}