function getElementsByTagAndClassName(tag_name, class_name) {
	/*
	this is not a method but a function.
	This returns it as Array, when the corresponding elements are discovered.
	This returns false, when the corresponding tag name or class name is not able to be discovered.
	when you do not want to limit the kind of tag, you can use "*" for the 1st argument but it's so expensive.
	*/
	var return_array = new Array();

	if(!document.getElementsByTagName(tag_name)) {
		return false;
	}

	var tmp = document.getElementsByTagName(tag_name);

	for (var i = 0, l = tmp.length; i < l; i++) {
		var class_array = tmp[i].className.split(" ");

		for (var c = 0, m = class_array.length; c < m; c++) {
			if (class_array[c] == class_name) {
				return_array[return_array.length] = tmp[i];
			}
		}
	}

	if (return_array.length < 1) {
		return false;
	}

	return return_array;
}

/* ----- FAQ折りたたみ  ----- */

function expand(id) {

	var obj_style = document.getElementById(id).style;

	if (obj_style.display == 'none') {
		obj_style.display = 'block';

	} else {
		obj_style.display = 'none';
	}
}

function expandAll(src, n1, n2) {
	var a = getElementsByTagAndClassName('dd', 'answer');

	if (!n1) {
		for (var i = 0, l = a.length; i < l; i++){
			if (src == 'hide') {
				a[i].style.display = 'none';

			} else if (src == 'show') {
				a[i].style.display = 'block';
			}
		}

	} else {
		for (var i = n1 - 1; i < n2; i++) {
			if (src == 'hide') {
				a[i].style.display = 'none';

			} else if (src == 'show') {
				a[i].style.display = 'block';
			}
		}
	}
}

