@charset "utf-8";





/* Footer Fix
------------------------------------------------------------- */

footer {
	bottom: 0;
}



/* Title
------------------------------------------------------------- */

h2 {
	margin: 70px 0 20px 0;
	height: 140px;
	font-size: 3rem;
}

h2::before {
	height: 132px;
}

h2 span.ti_main {
	margin-top: -32px;
}

h3 {
	margin: 80px 0 20px 0;
	font-size: 3rem;
}

h4 {
	margin: 30px 0 20px 0;
	font-size: 2.2rem;
}

h5 {
	margin: 30px 0 20px 0;
	font-size: 2rem;
}

h6 {
	margin: 20px 0 10px 0;
	font-size: 1.8rem;
}

.h3_box, .h4_box {
	margin-bottom: 100px;
	padding-left: 15px;
}

.h5_box, .h6_box {
	margin-bottom: 50px;
	padding-left: 15px;
}



/* Index List
------------------------------------------------------------- */

ul.cate_index_list {
	margin: 70px 20px 90px 20px;
}



/* Anchor Menu
------------------------------------------------------------- */

.anchor_menu_box {
	margin-bottom: 60px;
	padding-left: 30px;
}

.anchor_menu_btn {
	display: none;
}

.anchor_menu {
	margin: 0;
	padding: 15px 0 0 0;
	list-style-type: none;
	list-style-position: outside;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.anchor_menu li {
	margin: 0 30px 15px 0;
	padding: 0;
	line-height: 1;
	font-size: 1.3rem;
}

.anchor_menu li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 5px 0;
	margin: 0;
	color: #000;
	position: relative;
}

.anchor_menu li a:hover,
.anchor_menu li a:active {
	text-decoration: none;
	background-color: transparent;
}

.anchor_menu li a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background-color: #103fb4;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .15s;
}

.anchor_menu li a:hover::after {
	transform-origin: left top;
	transform: scale(1, 1);
}

.anchor_menu li.current_menu a::after {
	transform: scale(1, 1);
}




/* Footer
------------------------------------------------------------- */

footer address {
	text-align: left;
}

footer address dl {
	margin: 0 0 10px 0;
}

.copyright_box {
	border-bottom: 0;
}

.copyright_box p {
	font-size: 1.3rem;
}


/*Banner*/

footer .banner_box ul li {
	width: calc(33.3333% - 20px);
}



/* PageTop Button
------------------------------------------------------------- */

p.btn_pagetop {
	width: 70px;
	height: 70px;
	display: none;
	position: fixed;
	bottom: 60px;
	left: auto;
	right: 30px;
	z-index: 10000;
}

p.btn_pagetop a {
	opacity: 0.7;
	background-color: #aaa;
	border: 1px solid #fff;
/*
	box-shadow: 0px 2px 6px -2px rgba(0,0,0,0.5);
*/
}

p.btn_pagetop a span {
	font-size: 1rem;
}

p.btn_pagetop a:hover {
	opacity: 0.7;
	background-color: #9ab3f0;
/*
	transform: translateY(1px);
	box-shadow: 0px 1px 5px -2px rgba(0,0,0,0.5);
*/
}




/* Link Button
------------------------------------------------------------- */

.btn_txt_c {
	width: 50%;
	min-width: 360px;
	max-width: 480px;
	clear: both;
}

.btn_txt {
	display: inline-block;
	width: auto;
	min-width: 240px;
	clear: both;
}

.btn_txt_r {
	display: inline-block;
	width: auto;
	min-width: 240px;
	float: right;
	clear: both;
}

.btn_txt a, .btn_txt_c a {
	padding: 12px 45px;
}

.btn_txt_r a {
	padding: 12px 40px 12px 20px;
}



/* Data List, Form List
------------------------------------------------------------- */

dl.data_list.long_dt > dt {
	width: 15em;
}

dl.data_list.long_dt > dt br {
	display: inline;
}

dl.data_list.long_dt > dd {
	width: calc(100% - 15em);
}

dl.form_list > dt {
	padding: 20px 10px 0 10px;
	width: 11em;
	float: left;
}

dl.form_list > dd {
	padding: 15px 0 15px 11em;
}



/* Geppou
------------------------------------------------------------- */

.geppou_box {
	margin-bottom: 60px;
	display: flex;
}

.geppou_box > div {
	margin-bottom: 0;
	width: calc(50% - 20px);
	margin-right: 40px;
}

.geppou_box > div:nth-child(even) {
	margin-right: 0;
}

.geppou_box > div p.txt_link {
	clear: left;
}



/* Youtube
------------------------------------------------------------- */

h2.ti_youtube {
	margin: 70px 0 20px 0;
}

ul.movie_list li {
	width: calc(33.3333% - 20px);
}

ul.movie_list li:nth-child(even) {
	margin-right: 30px;
}

ul.movie_list li:nth-child(3n) {
	margin-right: 0;
}

/* Movie Iframe-type*/

.movie_iframe ul.movie_list {
	display: flex;
	flex-wrap: wrap;
}

.movie_iframe ul.movie_list li {
	width: calc(50% - 15px);
	margin-right: 30px;
}

.movie_iframe ul.movie_list li:nth-child(even) {
	margin-right: 0;
}



/* Jr.Internship
------------------------------------------------------------- */

h2.ti_jr-intern {
	margin: 70px 0 20px 0;
}
