@charset "utf-8";

body {
	background: #FFF;
}
#contents {
	position: absolute;
    left: 0;
    right: 0;
    top: 100%;
	background-color: #fff;
}

@media screen and (max-width:640px){
	img {
    	max-width: 100%;
   	 	height: auto;
    	width /***/:auto;　
	}
}

/************************************************
	
	Header

*************************************************/
/*トップページ*/
#top #header {
	width: 1100px;
	margin: 0px auto;
	padding: 15px 0;
}
/*下層ページ*/
#lower #header {
	width: 1100px;
	margin: 0;
	padding: 2.5em 0;
	visibility: hidden;
	height: 0;
}
/*共通*/
	#header #logo {
		float: left;
		margin: 0;
		padding: 0 10px 0 0;
	}
	#header nav {
		float: right;
		padding-top: 10px;
		position: relative;
	}
	#header nav ul#top_nav li {
		float: left;
		margin-left: 20px;
	}
		
/*dropmenu*/		
#header nav ul#top_nav li .dropmenu {
	visibility: hidden;
	opacity: 0;
	z-index: 1;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;/**/
	position: absolute;
	top: 100%;
	right: 0;
	background: #FFF;
	box-shadow: 0px 3px 5px -3px rgba(0, 0, 0, 0.2);
	width: 320px;
	margin: 0;
}
#header nav ul#top_nav li:hover .dropmenu {
	visibility: visible;
	opacity: 1;
}

/*Font Size*/
	#header nav ul#top_nav li .ul_size {
		padding: 20px 0 15px;
	}
	#header nav ul#top_nav li .ul_size span.btn_name {
		line-height: 45px;
		font-size: 1.2em;
		font-weight: bold;
	}
	#header nav ul#top_nav li .ul_size li {
		padding: 5px 0  0 10px !important;
		margin-left: 15px;
	}
	#header nav ul#top_nav li .ul_size li a {
		font-weight: bold;
		font-size: 15px;
		line-height: 120%;
		color: #FFF;
		opacity: 1;
		transition: opacity .2s ease;
	}
		#header nav ul#top_nav li .ul_size li a:hover {
			text-decoration: none;
			opacity: 0.6;
		}
		#font-size .small,
		#font-size .medium,
		#font-size .large {
			font-size: 1.2em;
			font-weight: bold;
			color: #fff;
			background: #9b97bb;
			padding: 10px 15px 7px 15px;
			float: left;
			cursor: pointer;
			opacity: 1;
			transition: opacity .2s ease;
		}
		#font-size .small:hover,
		#font-size .medium:hover,
		#font-size .large:hover {
			opacity: 0.6;
		}
		#font-size .active {
			background: #ff8868;
		}
/*Language*/		
	#header nav ul#top_nav li .ul_language {
		padding: 10px 0;
	}
		#header nav ul#top_nav li .ul_language li {
			float: none !important;
			margin-left: 30px;
			font-weight: bold;
			font-size: 1.2em;			
		}
		#header nav ul#top_nav li .ul_language li a {
			display: block;
			line-height: 40px;
			color: #999;
		}
			#header nav ul#top_nav li .ul_language li.current a {
				color: #ff2800;
			}
		#header nav ul#top_nav li .ul_language li a:hover {
			text-decoration: none;
			color: #ff2800;
		}
/*Search*/	
#header nav ul#top_nav li .ul_search {
	padding: 20px 0;
	text-align: center;
}
#header nav ul#top_nav li .ul_search li {
	float: none;
	margin-left: 0;
}
	#header nav ul#top_nav li .ul_search li input[type="text"]{
		background: #fff;
		border: 1px solid #ccc;
		padding: 2px 5px;
		-webkit-appearance: none;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
		width: 150px;
	}
	#header nav ul#top_nav li .ul_search li input[type="submit"]{
		background: #ff2800;
		border: none;
		color: #FFF;
		padding: 4px 10px;
		font-size: 90%;
		opacity: 1;
		-webkit-transition: opacity .15s linear;
		-moz-transition: opacity .15s linear;
		-ms-transition: opacity .15s linear;
		-o-transition: opacity .15s linear;
		transition: opacity .15s linear;
	}
		#header nav ul#top_nav li .ul_search li:hover input[type="submit"]{
			opacity: 0.6;
		}
/*sp_menu*/		
#sp_menu {
	display: none;
}

@media screen and (max-width:1100px){
	#top #header,
	#lower #header{
		width: 100%;
	}
		#header #logo {
			padding: 10px 10px 0px 10px;
		}
		#header nav {
			padding-right: 10px;
		}
}

@media screen and (max-width:640px){
	#top #header {
		width: 100%;
		margin: 0;
		padding: 5px;
		box-sizing: border-box;
	}
	#lower #header {
		width: 100%;
		margin: 0;
		padding: 5px;
		box-sizing: border-box;
		visibility: visible;
		height: auto;
	}
	   
		#header #logo {
			width: 35%;
		}
		#header nav {
			padding: 0;
		}
		#header nav ul#top_nav {
			float: left;
			padding-top: 7px;
		}
			#header nav ul#top_nav li {
				margin-left: 5px;
				width: 40px;
			}
			#header nav ul#top_nav li img {
				width: 75%;
			}
	
	#header nav ul#top_nav li .dropmenu {
		right: -5px;
	}		
	#header nav ul#top_nav li .dropmenu li {
		padding: 5px 10px 0;
		width: auto;
		/*line-height: 40px;*/
	}		
	#header nav #sp_menu {
		display: block;
		float: right;
	}
		#header nav #sp_menu li a {
			display: block;
			width: 36px;
			border-left: 1px solid #ff3903;
			background: url(../images/ico_menu.png) no-repeat 7px 7px;
			background-size: 28px 22px;
			padding: 30px 0 6px 0;
			text-align: center;
			margin-left: 5px;
		}
		#header nav #sp_menu li a.selected {
			background: url(../images/ico_menu_close.png) no-repeat center 7px;
			background-size: 28px 22px;
		}
		#header nav #sp_menu li a:hover {
			text-decoration: none;
		}
}
/************************************************

	Gnav

*************************************************/
/*トップページ*/
#top #gnav {
	width: 100%;
	margin: 0 auto;
	/*padding: 25px 0 20px;*/
	background-color: #827daa;
	font-weight: bold;
	box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
	position: absolute;
    /*top: 573px;*/
	bottom: 0;
	/*height: 75px;*/
	/*height: 5.5em;*/
    box-sizing: border-box;
	z-index: 9999;
}
/*下層ページ*/
#lower #gnav {
	width: 100%;
    margin: 0 auto 20px;
    /*padding: 22px 0 20px*/;
    background-color: #827daa;
    font-weight: bold;
    box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
    position: fixed;
	top: 0;
	z-index: 9999;
}
/*以下共通*/	#gnav ul {
		width: 1100px;
		margin: 0 auto;
		padding: 2em 0px;
		display: table;
	}
	#gnav .close_btn {
		display: none;
	}
	#gnav li {
		/*float: left;*/
		text-align: center;
		box-sizing: border-box;
		padding-right: 3em;
		/*line-height: 1em;*/
		font-size: 125%;
		display: table-cell;
		vertical-align: middle;
	}
	#gnav ul li.gnav_logo img {
		margin-top: -5px;
	}
		#gnav li:last-child {
			padding-right: 0;
		}
		#gnav li a {
			position: relative;
			/*display: block;*/
			color: #fff;
			
		}
/*gnav_list*/
	#gnav li.gnav_list a:hover {
		text-decoration: none;
	}
	#gnav li.gnav_list a:after {
		content: "";
		height: 2px;
		position: absolute;
		background: #fff;
		bottom: -5px;
		left: 0;
		width: 100%;
		opacity: 0;
		-webkit-transition: opacity .15s ease-in-out;
		-moz-transition: opacity .15s ease-in-out;
		-ms-transition: opacity .15s ease-in-out;
		-o-transition: opacity .15s ease-in-out;
		transition: opacity .15s ease-in-out;
	}
	#gnav li.gnav_list a:hover:after {
		opacity: 1;
	}
	.fixed {
		position: fixed !important;
		top: 0 !important;
		bottom: auto !important;
		z-index: 10000;
	}

@media screen and (max-width:1100px){
	#gnav ul {
		width: 100%;
		padding-left: 10px;
		box-sizing: border-box;
	}
		#gnav ul li {
			padding-right: 0.65em;
			font-size: 120%;
		}
}
@media screen and (max-width:980px){
	#gnav ul li.gnav_logo {
		padding-right: 10px;
		width: 20%;
	}
	#gnav ul li.gnav_logo img {
		width: 100%;
		height: auto;
		/*margin-top: 0;*/
	}
}
@media screen and (max-width:850px){
	#gnav ul li {
		font-size: 90%;
	}
}
@media screen and (max-width:768px){
	/*#top #gnav {
		height: 5em;
	}*/
}
@media screen and (max-width:640px){
	#top #gnav,
	#lower #gnav {
		display: none;
		margin-bottom: 15px;
		position: static;
		left: 0;
		z-index: 100000;
		width: 100%;
		background: #FFF;
		padding: 0;
		box-shadow: none;
		height: auto;
	}
	#gnav ul {
		padding: 0;
	}
	#gnav ul li {
		width: 100%;
		border-bottom: 1px solid #CCC;
		border-left: none;
		padding-right: 10px;
		display: block;
	}
		#gnav li:last-child {
			padding-right: 10px;
		}
		#gnav ul li.gnav_logo {
			display: none;
		}
		#gnav ul li a {
			display: block;
			padding: 10px;
			text-align: left;
			font-size: 120%;
			color: #ff2800;
			background: url(../images/ico_menu03.png) no-repeat right center;
			background-size: 5px 10px;
		}
		.close_btn {
			background: #999;
			color: #FFF;
			text-align: center;
			width: 90%;
			padding: 10px 0;
			margin: 10px 5%;
			box-sizing: border-box;
		}
}
/************************************************

	Lnav

*************************************************/
dl.lnav {
	width: 1100px;
	padding: 20px 100px;
	box-sizing: border-box;
	margin: 0 auto 20px;
	background-color: rgba(255,255,255,0.7)
}
dl.lnav dt{
	visibility: hidden;
	height: 0;
}	
	dl.lnav dd ul {
		margin-left: -50px;
	}
	dl.lnav dd ul li {
		float: left;
	}
	dl.lnav dd ul li a {
		padding-left: 10px;
		background: url(../images/ico_menu02.png) no-repeat 0 center;
		background-size: 5px 8px;
		font-weight: bold;
		font-size: 135%;
		margin-left: 50px;
	}
	dl.lnav dd ul li.current a {
		color: #ff8868;
	}
@media screen and (max-width:1100px){
	dl.lnav {
		width: 95%;
		padding: 20px 70px;
	}
}
@media screen and (max-width:640px){	
	dl.lnav {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		background: #ff8868;
	}
	dl.lnav dt{
		visibility: visible;
		height: auto;
		color: #FFF;
		padding: 15px 20px;
		font-weight: bold;
		background: #ff8868;
		background: url(../images/ico_open.png) no-repeat right center;
		background-size: 20px 20px;
		margin-right: 15px;
	}
		dl.lnav dt.selected{
			background: url(../images/ico_close.png) no-repeat right center;
			background-size: 20px 20px;
		}
	dl.lnav dd ul {
		margin-left: 0;
		background: #ffe7e1;
	}
	dl.lnav dd ul li {
		width: 100%;
		border-bottom: 1px solid #FFF;
	}
	dl.lnav dd ul li a {
		margin: 0 20px 0 0;
		padding: 15px 0px 15px 20px;
		background: url(../images/ico_menu03.png) no-repeat right center;
		background-size: 4px 7px;
		display: block;
		color: #ff2800;
		font-weight: normal;
		font-size: 115%;
	}
	dl.lnav dd ul li.current a {
		background: url(../images/ico_menu03.png) no-repeat right center;
		background-size: 4px 7px;
	}	
}
/************************************************

	Background-color

*************************************************/
.bg_orange {
		background-color: #ff9b82;
}
.bg_light_orange {
		background-color: #f9f3f2;
}
.bg_light_purple {
		background-color: #ebebf3;
}
/************************************************
	
	Contents
	
*************************************************/
section.contents {
	width: 1100px;
	margin: 0 auto;
	padding-bottom: 100px;
}
section.contents02 {
	width: 1100px;
	margin: 0 auto 50px;
	padding: 70px 100px;
	background: #FFF;
	box-sizing: border-box;
}
section.contents03 {
	width: 1100px;
	margin: 0 auto;
	padding: 100px 0;
}
section.contents04 {
	width: 1100px;
	margin: 0 auto;
	padding: 70px 100px;
	background: #ebebf3;
	box-sizing: border-box;
}
@media screen and (max-width:1100px){
	section.contents {
		width: 100%;
		padding: 0 10px 50px;
		box-sizing: border-box;
	}
	section.contents02 {
		width: 95%;
		padding: 50px 70px;
	}
	section.contents03 {
		width: 100%;
		padding: 70px 10px 50px;
		box-sizing: border-box;
	}
	section.contents04 {
		width: 95%;
		padding: 50px 70px;
	}
}

@media screen and (max-width:640px){
	section.contents02 {
		width: 100%;
		padding: 10px 10px;
		padding-top: 20px;
	}
	section.contents03 {
		width: 100%;
		padding: 50px 10px 50px;
		box-sizing: border-box;
	}
	section.contents04 {
		width: 100%;
		padding: 10px 10px;
	}
}

/************************************************

	Footer

*************************************************/
#footer .footer_inner {
	width: 1100px;
	margin: 0 auto;
	font-size: 90%;
	line-height: 130%;
}
	#footer .footer_address {
		padding: 20px 0 15px;
    	line-height: 130%;
	}
	#footer .footer_menuarea {
		padding: 40px 0 60px;
		border-top: 1px solid #ccc;
	}
	#footer .footer_menuarea .footer_menu {
		float: left;
	}
	
	#footer .footer_menuarea dl{
		margin-right: 70px;
		font-size: 125%;
    	line-height: 200%;
	}
	#footer .footer_menuarea dl dt{
		padding-left: 10px;
		background: url(../images/ico_menu02.png) no-repeat 0 8px;
		background-size: 5px 8px;
		font-weight: bold;
	}
			#footer .footer_menuarea dl dd ul{
				padding-left: 10px;
				line-height: 180%;
			}
			#footer .footer_menuarea dl dd ul li:last-child{
				margin-bottom: 5px;
			}
#footer #copy {
	background-color:#827daa;
}
#footer #copy .copy_inner {
	width: 1100px;
	margin: 0 auto;
	padding: 15px 0;
	color: #FFF;
	font-size: 80%;
}
@media screen and (min-width:641px) and (max-width:1100px){
	#footer .footer_inner {
		padding: 0 10px;
	}
}
@media screen and (max-width:1100px){
	#footer .footer_inner {
		width: 100%;
		margin: 0;
		box-sizing: border-box;
	}
	#footer .footer_menuarea dl{
		margin-right: 30px;
	}
	#footer #copy .copy_inner {
		width: 100%;
		margin: 0;
		padding: 15px 10px;
		box-sizing: border-box;
	}
}

@media screen and (max-width:640px){
	#footer {
		margin-top: 15px;
		padding: 0;
	}
		#footer .footer_inner {
			border-bottom: 1px solid #CCC;
		}
		#footer .footer_address {
			padding: 0px 10px;
		}
		#footer nav ul li {
			display: block;
			text-align: left;
			margin-bottom: 0;
			border-right: none;
			padding: 0;
		}
		#footer nav ul li a {
			display: block;
			background: url(../images/ico_arrow03.gif) no-repeat 98% center;
			color: #4d4d4d;
			font-weight: bold;
			text-decoration: none;
			padding: 10px;
			border-top: 1px solid #CCC;
			
		}
		#footer nav ul li a:hover {
			text-decoration: none;
		}
	#footer .footer_menuarea {
		padding: 10px 0 0;
		border-top: none;
	}
	#footer .footer_menuarea .footer_menu {
		float: none;
	}
	#footer .footer_menuarea dl {
		margin-right: 0;
		border-top: 1px solid #ccc;
	}
	#footer .footer_menuarea dl dt{
		background-position: right center;
		padding: 5px 0 5px 20px;
		margin-right: 10px;
	}
		#footer .footer_menuarea dl dt.selected{
			background: url(../images/ico_menu02_active.png) no-repeat 0 8px;
			background-size: 8px 5px;
			background-position: right center;
			padding: 5px 0 5px 20px;
			margin-right: 10px;
		}
		#footer .footer_menuarea dl:first-child dt{
			border-top: none;
		}
		#footer .footer_menuarea dl dt a{
			display:block;
		}
	#footer .footer_menuarea dl dd ul{
		background-color: #f0f0f6;
		width: 100%;
		padding: 0;
		line-height: 200%;
	}
		#footer .footer_menuarea dl dd ul li {
			border-bottom: 1px solid #ccc;
		}
		#footer .footer_menuarea dl dd ul li:last-child {
			border-bottom: none;
		}
		#footer .footer_menuarea dl dd ul li:first-child {
			border-top: 1px solid #ccc;
		}
		#footer .footer_menuarea dl dd ul li a {
			padding: 5px 0px 5px 20px;
			background: url(../images/ico_menu01.png) no-repeat right center;
			background-size: 4px 7px;
			display: block;
			margin-right: 10px;
		}
	#footer #copy .copy_inner {
		width: 100%;
		text-align: center;
		padding: 15px 10px;
		box-sizing: border-box;
	}
}
/************************************************

	Unit

*************************************************/
.unit_box  {
	margin-bottom: 80px;
}
	.unit_box:last-child  {
		margin-bottom: 0;
	}
.unit_box02  {
	margin-bottom: 50px;
}
	.unit_box02:last-child  {
		margin-bottom: 0;
	}
@media screen and (max-width:640px){
.unit_box02  {
	margin-bottom: 30px;
}
}
/************************************************

	Box

*************************************************/
.purple_box01 {
	background-color: #ebebf3;
	padding: 30px;
	margin: 1.5em 0 0;
}
.purple_box02 {
	background-color: #ebebf3;
	padding: 30px;
	margin: 1.5em 0 3em;
}
@media screen and (max-width:640px){
	.purple_box01 {
		padding: 20px 25px;
		margin: 1em 0 0;
	}
	.purple_box02 {
		padding: 20px 25px;
		margin: 1em 0 1.5em;
	}
}

/************************************************

	Title h1

*************************************************/
/*トップページ*/
.h1_ttl01 {
	font-size: 250%;
	padding: 75px 10px 40px;
	margin: 0 0 25px;
	text-align: center;
	font-weight: bold;
}
.h1_ttl01_02 {
	font-size: 250%;
	padding: 75px 10px 40px;
	margin: 0 0 25px;
	text-align: center;
	font-weight: bold;
	color: #ff2800;/*赤*/
}	
/*下層ページ　メインビジュアル*/
.h1_ttl02 {
	font-size: 250%;
	padding: 260px 10px 250px;
	margin: 0;
	text-align: center;
	font-weight: bold;
	text-shadow: white 1px 1px 7px,
				 white -1px 1px 7px, 
				 white 1px -1px 7px,
				 white -1px -1px 7px;
}
/*下層ページ Faculties and Divisions*/
.h1_ttl03 {
	position: relative;
	font-size: 220%;	
	text-align: center;
	font-weight: bold;
	color: #6e3791;
	padding: 1em 0 1.5em;
	margin: 0 0 1em;
}
	.h1_ttl03::before {
		position: absolute;
		bottom: 0.5em;
		left: 45%;
		right: 0;
		z-index: 3;
		content: '';
		width: 5%;
		height: 3px;
		background-color: #ff3903;
	}
	.h1_ttl03::after {
		position: absolute;
		bottom: 0.5em;
		left: 0;
		right: 0;
		z-index: 2;
		content: '';
		width: 10%;
		height: 3px;
		background-color: #6e3791;
		margin: auto;
	}
@media screen and (max-width:1100px){
	.h1_ttl02 {
		font-size: 250%;
		padding: 160px 10px 150px;
		margin: 0;
		text-align: center;
		font-weight: bold;
	}
}
@media screen and (max-width:640px){
	.h1_ttl01 {
		font-size: 180%;
		padding: 40px 5px 10px;
		margin: 0 0 15px;
	}
	.h1_ttl01_02 {
		font-size: 180%;
		padding: 40px 5px 10px;
		margin: 0 0 15px;
	}
	.h1_ttl02 {
		font-size: 200%;
		padding: 80px 10px 70px;
	}
	.h1_ttl03 {
		padding: 1em 0 1.5em;
		margin: 0 0 0.2em;
	}
	.h1_ttl03::before {
		bottom: .7em;
	}
	.h1_ttl03::after {
		bottom: .7em;
	}
}
/************************************************

	Title h2,h3

*************************************************/
.h2_ttl01 {
	font-size: 200%;
    margin-bottom: 30px;
	color: #ff2800;
	position: relative;
	border-bottom: 2px solid #666;
	background: url(../images/ico_ttl01.gif) no-repeat left center;
	background-size: 5px 26px;
	padding: 20px 0 15px 20px;
}
	.h2_ttl01::after {
		position: absolute;
		bottom: -2px;
		left: -100px;
		z-index: 2;
		content: '';
		width: 15%;
		height: 2px;
		background-color: #ff3903;
	}
.h2_ttl01_02 {
	font-size: 200%;
    margin: -100px 0 30px;
	color: #ff2800;
	position: relative;
	border-bottom: 2px solid #666;
	background: url(../images/ico_ttl01.gif) no-repeat left 82%;
	background-size: 5px 26px;
	padding: 100px 0 15px 20px;
}
	.h2_ttl01_02:after {
		position: absolute;
		bottom: -2px;
		left: -100px;
		z-index: 2;
		content: '';
		width: 15%;
		height: 2px;
		background-color: #ff3903;
	}
.h3_ttl01 {
	position: relative;
	font-size: 170%;
	padding: 0 0 5px 1em;
	margin-bottom: 20px;
	border-bottom:1px solid #666;
}
	.h3_ttl01:after {
		position: absolute;
		bottom: .8em;
		left: 0;
		z-index: 2;
		content: '';
		width: 15px;
		height: 3px;
		background-color: #666;
	}
	.h3_ttl01 span {
		font-size: 60%;
		font-weight:normal;
	}
.h3_ttl01_02 {
	position: relative;
	font-size: 170%;
	padding: 100px 0 5px 1em;
	margin: -100px 0 20px;
	border-bottom:1px solid #666;
}
	.h3_ttl01_02:after {
		position: absolute;
		bottom: .8em;
		left: 0;
		z-index: 2;
		content: '';
		width: 15px;
		height: 3px;
		background-color: #666;
	}
	.h3_ttl01_02 span {
		font-size: 60%;
		font-weight:normal;
	}
	.h3_ttl01_02 span.course {
		font-size: 80%;
		font-weight:normal;
	}
@media screen and (max-width:1100px){	
	.h2_ttl01 {
		font-size: 180%;
		margin-bottom: 20px;
		padding: 15px 0 15px 20px;
		background-size: 5px 20px;
	}
	.h2_ttl01_02 {
		font-size: 180%;
		margin-bottom: 20px;
		padding: 100px 0 15px 20px;
		background-size: 5px 20px;
	}
		.h2_ttl01::after {
			left: -70px;
		}
		.h2_ttl01_02::after {
			left: -70px;
		}
	.h3_ttl01 {
		font-size: 160%;
	}
	.h3_ttl01_02 {
		font-size: 160%;
	}
}
@media screen and (max-width:640px){
	.h2_ttl01 {
		font-size: 150%;
		margin-bottom: 20px;
		padding: 20px 0 15px 20px;
		background-position: left 50%;
		background-size: 5px 20px;
	}
		.h2_ttl01::after {
			left: -10px;
		}
	.h2_ttl01_02 {
		font-size: 150%;
		margin: 0 0 20px;
		padding: 20px 0 15px 20px;
		background-position: left 50%;
		background-size: 5px 20px;
	}
	.h3_ttl01 {
		font-size: 130%;
		margin-bottom: 10px;
	}
		.h3_ttl01:after {
			width: 10px;
			left: 0;
			top: 0;   
			bottom: 0;		
			margin: auto;
		}
	.h3_ttl01_02 {
		font-size: 120%;
		margin: 0 0 10px;
		padding-top: 5px;
	}
		.h3_ttl01_02:after {
			width: 10px;
			left: 0;
			top: 0;   
			bottom: 0;		
			margin: auto;
		}
	.h3_ttl01_02 span.course {
		display: block;
	}
}
/************************************************

	Table

*************************************************/
.table01 {
	border-left: 1px solid #CCC;
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	margin-bottom: 1em;
}
	.table01 thead th {
		background: #9b97b7;
		color: #FFF;
		border-bottom: 1px solid #CCC;
	}
	.table01 tbody th {
		background: #f6f6fa;
		color: #6e3791;
	}
	.table01 th,
	.table01 td {
		border-right: 1px solid #CCC;
		border-bottom: 1px dotted #CCC;
		padding: 0.7em 1.5em;
		text-align: center;
		vertical-align: middle;
		font-weight: normal;
	}
	
.table02 {
	border-left: 1px solid #CCC;
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	width: 100%;
	margin-bottom: 1em;
}	
	.table02 thead th {
		background: #9b97b7;
		color: #FFF;
		border-bottom: 1px solid #CCC;
		white-space: nowrap; 
	}
	.table02 tbody th {
		background: #f6f6fa;
		color: #6e3791;
		text-align: left;
		padding-left: 4em;
	}
		.table02 tbody th:nth-child(even) {
			padding-left: 2em;
		}
		.table02 tbody tr.total01 th,
		.table02 tbody tr.total01 td,
		.table02 tbody tr td.total01 {
			background: #ffffee;
		}
		.table02 tbody tr.total01 th,
		.table02 tbody tr.total01 td {
			border: 1px solid #ccc;
		}
		.table02 tbody tr.number01 th,
		.table02 tbody tr.number01 td {
			background: #ffeee9;
			border: 1px solid #ccc;
		}
		.table02 tbody th.th01 {
			padding-left: 2em;
		}
		.table02 tbody th.th02 {
			padding-left: 3em;
		}
		.table02 tbody th.th03 {
			padding-left: 2em;
		}
	.table02 th,
	.table02 td {
		border-right: 1px solid #CCC;
		border-bottom: 1px dotted #CCC;
		padding: 0.7em 1.5em;
		vertical-align: middle;
		font-weight: normal;
	}
	.table02 td {
		text-align: right;
	}
	
.table03 {
	border-left: 1px solid #CCC;
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	width: 100%;
	margin-bottom: 1em;
	min-width: 750px;
	line-height: 1.5em;
}
	.table03 thead th {
		background: #9b97b7;
		color: #FFF;
		border-bottom: 1px solid #CCC;
		line-height: 1.2em;
		white-space: nowrap;
	}
	.table03 tbody th {
		background: #f6f6fa;
		color: #6e3791;
		width: 20%;
	}
	.table03 th,
	.table03 td {
		border-right: 1px solid #CCC;
		border-bottom: 1px dotted #CCC;
		padding: 0.7em 1.5em;
		vertical-align: middle;
		font-weight: normal;
	}
	
@media screen and (max-width:860px){
	.table01 {
		width:100%;
	}
	.table01 th,
	.table01 td {
		padding: 0.5em 1em;
	}
	.table02 tbody th {
		padding-left: 2em;
	}
		.table02 tbody th.th01 {
			padding-left: 1em;
		}
		.table02 tbody th.th02 {
			padding-left: 1.5em;
		}
	.table02 th,
	.table02 td {
		padding: 0.5em 1em;
	}
	.table03 th,
	.table03 td {
		padding: 0.5em 1em;
	}
}
@media screen and (max-width:640px){
	.table01 th,
	.table01 td {
		padding: 0.5em;
	}
}
/************************************************

	Text_Box

*************************************************/
	.text {
		font-size: 120%;
		line-height: 170%;
		width: 75%;
		padding-right: 25px;
		box-sizing: border-box;
		float: left;
	}	
	.text02 {
		font-size: 120%;
		line-height: 170%;
		box-sizing: border-box;
		margin-bottom: 0.5em;
	}
	.text03 {
		font-size: 120%;
		line-height: 170%;
		width: 100%;
		box-sizing: border-box;
    	padding: 5% 35% 0 0;
	}
	.text04 {
		font-size: 120%;
		line-height: 170%;
		box-sizing: border-box;
		margin-bottom: 0.5em;
		width: 70%;
		float: left;
	}
@media screen and (max-width:860px){
	.text04 {
		width: 100%;
		float: none;
	}
}
@media screen and (max-width:640px){
	.text {
		font-size: 110%;
		line-height: 160%;
		width: 100%;
		padding-right: 0;
	}
	.text02 {
		font-size: 110%;
		line-height: 160%;
	}
	.text03 {
		font-size: 110%;
		line-height: 160%;
		width: 100%;
	}	
}
/************************************************

	Img_Box

*************************************************/
 .box_img {
		text-align: center;
		width: 25%;
		float: right;
	}
	 .box_img p.name {
		color: #574978;
		font-size: 130%;
		font-weight: bold;
		line-height: 150%;
	}
		 .box_img p.name span {
			font-size: larger;
		}	
.box_img02 {
	text-align: center;
	width: 35%;
	float: right;
	padding-left: 20px;
}
.box_img03 {
	text-align: right;
	width: 180px;
	float: right;
	padding-left: 20px;
}
.box_img04 {
	text-align: right;
	width: 235px;
	float: right;
	padding-left: 20px;
}
.box_img05 {
	text-align: right;
	width: 180px;
	float: right;
	padding-left: 20px;
}
.box_img06 {
	width: 30%;
	float: right;
	padding-left: 20px;
	box-sizing: border-box;
}
@media screen and (max-width:1100px){	
	.box_img05 {
		width: 25%;
		box-sizing: border-box;
	}
}
@media screen and (max-width:860px){	
	.box_img06 {
		width: 80%;
		padding-left: 0;
		float:none;
		margin: 1em auto;
	}
}
@media screen and (max-width:640px){
	.box_img {
    	padding-top: 30px;
		width: 100%;
	}
		.box_img p.name {
			font-size: 120%;
		}
		.box_img p img {
			width: 40%;
		}
	.box_img02 {
    	padding: 0 0 20px;
		width: 100%;
	}
	.box_img03 {
    	padding: 0 0 20px 10px;
		width: 40%;
	}
	.box_img04 {
    	padding: 0 0 20px 10px;
		width: 50%;
	}
	.box_img05 {
    	padding: 30px 0 0;
		width: 100%;
		text-align: center;
		margin-bottom: 1em;
	}
	.box_img06 {
		width: 100%;
	}
}
/************************************************

	Scroll

*************************************************/
.scroll_box {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/************************************************

	Link

*************************************************/
a {
	text-decoration: none;
	color: #4d4d4d;
}
a img {
	opacity: 1;
	-webkit-transition: opacity .15s linear;
	-moz-transition: opacity .15s linear;
	-ms-transition: opacity .15s linear;
	-o-transition: opacity .15s linear;
	transition: opacity .15s linear;
}
	a img:hover {
		opacity: 0.7;
	}
a:hover {
	text-decoration: underline;
}
a.link_text {
	color: #ff8868;
	position: relative;
	z-index: 2;
}
a.link_mail {
	color: #ff8868;
	background: url(../images/ico_mail01.png) no-repeat left top;
	background-size: 18px 13px;
	padding-left: 20px;
	margin-left: 0.5em;
}
@media screen and (max-width:640px){
	a.link_mail {
		display: block;
		margin-left: 0;
		background-position: left center;
	}
}
/************************************************

	Btn

*************************************************/
#totop {
	position: fixed;
    right: 0;
    bottom: 0;
	width: 60px;
    height: 60px;
}

/************************************************

	Margin Padding

*************************************************/
.m10 {margin: 10px !important;}
.mb5 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.mt5 {margin-top: 5px !important;}
.mt10 {margin-top: 10px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.ml5 {margin-left: 5px !important;}
.ml10 {margin-left: 10px !important;}
.ml20 {margin-left: 20px !important;}
.ml30 {margin-left: 30px !important;}
.ml40 {margin-left: 40px !important;}
.mr5 {margin-right: 5px !important;}
.mr10 {margin-right: 10px !important;}
.mr20 {margin-right: 20px !important;}
.mr30 {margin-right: 30px !important;}
.mr50 {margin-right: 50px !important;}
.p10 {padding: 10px !important;}
.p20 {padding: 20px !important;}
.pt10 {padding-top: 10px !important;}
.pt30 {padding-top: 30px !important;}
.pt50 {padding-top: 50px !important;}
.pt100 {padding-top: 100px !important;}
.pb10 {padding-bottom: 10px !important;}
.pl40 {padding-left: 40px !important;}

/************************************************

	Width

*************************************************/
.w40 {width: 40px;}
.w50 {width: 50px;}
.w60 {width: 60px;}
.w80 {width: 80px;}
.w100 {width: 100px;}
.w150 {width: 150px;}
.w200 {width: 200px;}
.w300 {width: 300px;}
.w350 {width: 350px;}
.w450 {width: 450px;}
.w700 {width: 700px;}
.w750 {width: 750px;}
.w_full { 
	width: 100%;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
	box-sizing: border-box;
}


/************************************************

	Float Align

*************************************************/
.f_left {float: left;}
.f_right {float: right;}

.center {text-align: center !important;}
.left {text-align: left !important;}
.right {text-align: right !important;}


/************************************************

	Clearfix

*************************************************/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
