@charset "utf-8";
/*
ページごとの設定や、位置調整、テキスト装飾などで使用する汎用的なものとを記述します。
Anything used for general purpose such as setting for every page, position adjustment, and text decoration will be written.

接頭辞はUtilityの頭文字を取って【u_】とします。
Prefix will take the "Utility" first letter and use it as "u_".

clearfixのみ、例外的に接頭辞をつけてません。
This not apply to "clearfix".

フォントサイズはremで指定します。
"rem" will be used for font-size.
*/

.u_mat0 { margin-top:0; }
.u_mat5 { margin-top:5px; }
.u_mat10 { margin-top:10px; }
.u_mat20 { margin-top:20px; }
.u_mat30 { margin-top:30px; }
.u_mat40 { margin-top:40px; }
.u_mat50 { margin-top:50px; }

.u_mab0 { margin-bottom: 0; }
.u_mab5 { margin-bottom: 5px; }
.u_mab10 { margin-bottom: 10px; }
.u_mab15 { margin-bottom: 15px; }
.u_mab20 { margin-bottom: 20px; }
.u_mab25 { margin-bottom: 25px; }
.u_mab30 { margin-bottom: 30px; }
.u_mab40 { margin-bottom: 40px; }
.u_mab50 { margin-bottom: 50px; }
.u_mab60 { margin-bottom: 60px; }
.u_mab100 { margin-bottom: 100px; }

.u_padding_01 { padding: 0 5%; }

.u_ALcenter { text-align: center; }
.u_ALright { text-align: right; }
.u_ALleft { text-align: left; }
.u_ALtop { vertical-align: top !important; }
.u_ALmiddle { vertical-align: middle !important; }
.u_ALbottom { vertical-align: bottom; }

.u_float_left { float: left; }
.u_float_right { float: right; }

.u_red { color: #F00; }
.u_black { color: #000; }
.u_white { color: #FFF; }
.u_yellow { color: #f8e187; }
.u_peach { color: #e56b51; }
.u_dark_peach { color: #cd563d; }
.u_orange { color: #fb8e4d; }

.u_bold { font-weight: bold; }
.u_underline { text-decoration: underline; }
.u_strike { text-decoration: line-through; }
.u_fw_normal { font-weight: normal; }

.u_img_floatL { float: left; margin-right: 20px; }
.u_img_floatR { float: right; margin-left: 20px; }

.u_fs11 { font-size: 1.1rem; }
.u_fs12 { font-size: 1.2rem; }
.u_fs13 { font-size: 1.3rem; }
.u_fs14 { font-size: 1.4rem; }
.u_fs15 { font-size: 1.5rem; }
.u_fs16 { font-size: 1.6rem; }
.u_fs17 { font-size: 1.7rem; }
.u_fs18 { font-size: 1.8rem; }
.u_fs19 { font-size: 1.9rem; }
.u_fs20 { font-size: 2.0rem; }
.u_fs21 { font-size: 2.1rem; }
.u_fs22 { font-size: 2.2rem; }
.u_fs23 { font-size: 2.3rem; }
.u_fs24 { font-size: 2.4rem; }
.u_fs36 { font-size: 3.6rem; }

.u_w20 { width: 20%; }
.u_w25 { width: 25%; }
.u_w30 { width: 30%; }
.u_w35 { width: 35%; }
.u_w40 { width: 40%; }
.u_w45 { width: 45%; }
.u_w50 { width: 50%; }
.u_w60 { width: 60%; }
.u_w70 { width: 70%; }
.u_w100 { width: 100%; }

.u_table { display: table; }
.u_block { display: block;	}
.u_inline { display: inline-block; }
.u_intable { display: inline-table; vertical-align: bottom; }

.u_del_red { color: #f00; }
.u_del_red span { color: #333; }

.u_disable { pointer-events: none; }

.u_sp_view { display: none; }

.u_pre_space { white-space: pre; }

/*----------------------------------------------
	.u_indent
---------------------------------------------*/
.u_indent_01 {
    text-indent: -1em;
    margin-left: 1em;
}
.u_indent_02 {
    text-indent: 0em;
    margin-left: 1em;
}
.u_indent_03 {
    text-indent: -0.75rem;
}
.u_indent_04 {
	margin-left: 7rem;
}

/*----------------------------------------------
	.u_spacing
---------------------------------------------*/
.u_spacing_01 {
	letter-spacing: -0.1px;
}


/*----------------------------------------------
	.u_subhead
---------------------------------------------*/
.u_subhead_01 {
	color: #e42e37;
	font-size: 2rem;
  font-weight: bold;
}

.u_subhead_02 {
	position: relative;
  margin-left: 1em;
	font-weight: bold;
}
.u_subhead_02::before {
	content: '●';
	color: #FF6E4D;
	font-size: 1rem;
	top: 8%;
	position: absolute;
   text-indent: -1.5em;
}

@media (max-width: 767px) {
 .u_subhead_02 {
  margin-left:2em;
}
}


/*----------------------------------------------
	.u_mail_list
---------------------------------------------*/
.u_mail_list {
    position: relative;
}
.u_mail_list::before {
    content: 'E-mail: ';
    text-indent: 2em;
}
.u_mail_list ul {
    position: absolute;
    top: 0;
    text-indent: 2.5em;
}
.u_mail_list ul li {
    margin-bottom: 0 !important;
}


/*----------------------------------------------
	#program
---------------------------------------------*/
#program .c_ttl_type03:before {
	content: '';
	margin: 0;
}
/*#program .u_img_floatR {
	display: none;
}*/
.u_program_box {
	margin-bottom: 10px;
}
.u_program_ph {
	float: right;
	margin-left: 20px;
	width: 100px;
}
.u_program_ph img {
	max-width: 100%;
}
@media (max-width: 767px) {
	.u_program_ph {
		float: none;
		width: auto;
		text-align: center !important;
		margin: 0 auto 10px;
	}
	.u_program_box {
		margin-bottom: 30px;
	}
}

/*----------------------------------------------
	.clearfix
---------------------------------------------*/
.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}

.u_greeting_president_detail {
  padding-top: 152px;
  margin-top: 0px;
}

@media (max-width: 767px) {
  .drawer-hamburger {
    padding: 18px 1.75rem 22px;
  }
}

#google_translate_element span {
}

/*----------------------------------------------
	.u_program_cont
---------------------------------------------*/
.u_workshop_box {
	border-bottom: 1px solid #ffbcac;
}
.u_workshop_box .u_btn_toggle {
	padding: 10px 30px 10px 10px;
	transition: all .2s ease;
	cursor: pointer;
	position: relative;
}
.u_workshop_box .u_btn_toggle:before {
	content: '';
	width: 20px;
	height: 20px;
	background-color: #e56b51;
	position: absolute;
	top: 0;
	right: 5px;
	bottom: 0;
	margin: auto;
}
.u_workshop_box .u_btn_toggle:after {
	display: inline-block;
	content: '+';
	width: 11px;
	height: 12px;
	color: #fff;
	font-weight: bold;
	font-size: 1.4rem;
	text-align: center;
	vertical-align: middle;
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	margin: auto;
	line-height: 1;
}
.u_workshop_box .u_btn_toggle.open:after {
	content: '-';
}
.u_workshop_box .u_btn_toggle.is_nolink {
	cursor: default;
}
.u_workshop_box .u_btn_toggle.is_nolink:before,
.u_workshop_box .u_btn_toggle.is_nolink:after {
	content: none;
}
.u_workshop_box .u_btn_toggle:hover {
	background-color: rgba(255,255,255,.5);
}
.u_program_summary {
	margin-top: 10px;
}
.u_program_summary .u_btn_toggle {
	display: inline-block;
	padding: 8px 50px 8px 10px;
	background-color: rgba(229,107,81,.2);
	color: #555;
	font-weight: bold;
	transition: all .2s ease;
	position: relative;
	cursor: pointer;
}
.u_program_summary .u_btn_toggle:hover {
	background-color: rgba(229,107,81,.4);
	box-shadow: 0 0 10px 0 rgba(228, 99, 70, 0.4);
}
.u_program_summary .u_btn_toggle:before {
	content: '';
	width: 35px;
	height: 100%;
	background-color: rgba(229,107,81,.4);
	position: absolute;
	top: 0;
	right: 0;
}
.u_program_summary .u_btn_toggle:after {
	display: inline-block;
	content: '+';
	width: 11px;
	height: 12px;
	color: #fff;
	font-weight: bold;
	font-size: 1.4rem;
	text-align: center;
	vertical-align: middle;
	position: absolute;
	top: 0;
	right: 12px;
	bottom: 0;
	margin: auto;
	line-height: 1;
}
.u_program_summary .u_btn_toggle.open:after {
	content: '-';
}
.u_summary {
	display: none;
	padding: 10px;
	background-color: rgba(229,107,81,.1);
	position: relative;
}
.u_summary:after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 7px 10px 7px;
	border-color: transparent transparent rgba(229,107,81,.1) transparent;
	position: absolute;
	top: -10px;
	left: 10px;
}

/*----------------------------------------------
	.accordion
---------------------------------------------*/

.accordion {
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 15px;
  transition: 0.4s;
}

.accordion.active .panel {
  padding: 10px 0;
}

.panel {
  padding: 0;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
