@charset "utf-8";

/* clearfix */
.cf{
	zoom: 1;
}
.cf:before, .cf:after{
	content: "";
	display: table;
}
.cf:after{
	clear: both;
}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
全デバイス共通のスタイルとスマートフォンおよび小型タブレット向けレイアウトの指定
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/*==================================================
body
====================================================*/

body{
	width: 100%;
	background-color: #fff;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #000;
	font-size: 16px;
}

a{
	color: #000;
	text-decoration: underline;
}

a:hover{
	color: #000;
	text-decoration: underline;
}

.marker{
	color: #2b319b;
}

.bold{
	font-weight: bold;
}

.red{
	color: #ff0000;
}

/*==================================================
nav
====================================================*/


/* Toggle Button */
#nav-toggle {
    position: absolute;
    right: 12px;
    top: 35px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #666;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 11px;
}
#nav-toggle span:nth-child(3) {
    top: 22px;
}


#top-head, .inner {
	width: 100%;
	padding: 0;
}
#top-head {
	top: 0;
	position: fixed;
	margin-top: 0;
	z-index: 999;
}
	
#top-head a, #top-head {
    color: #000;
    text-decoration: none;
}

#top-head .title p{
	font-size: 12px;
	line-height: 1.5;
	padding-left: 10px;
}

#top-head .title p.logo{
	padding-left: 0;
}
	
/* Fixed reset */
#top-head.fixed {
	padding-top: 0;
	background: transparent;
}
#mobile-head {
	background: #fff;
	width: 100%;
	height: 100px;
	z-index: 999;
	position: relative;
}
#top-head.fixed .title, #top-head .title {
	position: absolute;
	left: 15px;
	top: 15px;
}
#global-nav {
	position: absolute;
	/* 開いてないときは画面外に配置 */
	top: -500px;
	background: #333;
	width: 100%;
	text-align: center;
	padding: 10px 0;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}
#global-nav ul {
	list-style: none;
	position: static;
	right: 0;
	bottom: 0;
	font-size: 14px;
}
#global-nav ul li {
	float: none;
	position: static;
	line-height: 1.5;
	border-bottom: solid 1px #666666;
}

#global-nav ul li:last-child{
	border-bottom: none;
}

#top-head #global-nav ul li a,
#top-head.fixed #global-nav ul li a {
	width: 100%;
	display: block;
	color: #fff;
	padding: 8px 0;
}


/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
}
/* #global-nav スライドアニメーション */
.open #global-nav {
	/* #global-nav top + #mobile-head height */
	-moz-transform: translateY(600px);
	-webkit-transform: translateY(600px);
	transform: translateY(600px);
}


/*==================================================
topimg
====================================================*/

#topimg{
	margin-top: 100px;
}

#topimg .topimgforpc{
	display: none;
}

#topimg .formb img{
	width: 100%;
	max-width: 770px;
}

#topimg ul li{
	list-style-type: none;
}

/*==================================================
meaning
====================================================*/

section#meaning{
	background: url(../img/meaning_bg2.jpg) left bottom no-repeat;
	background-size: cover;
	padding: 20px 20px 20px 20px;
	line-height: 1.5;
	border-bottom: solid 2px #666666;
}

section#meaning #meaningin{
	background-color: #ffffff;
	padding: 15px;
	opacity: 0.7;
}

section#meaning p{
	margin-top: 15px;
}

section#meaning p.mtext{
	border: solid 1px #000000;
	padding: 10px;
	font-weight: bold;
	text-align: center;
}

section#meaning ul li{
	margin-top: 15px;
	margin-left: 25px;
}



/*==================================================
top_news
====================================================*/

section#top_news{
	margin-top: 60px;
	padding: 0 15px 15px 15px;
}

section#top_news h2{
	background-color: #efefef;
	border-bottom: solid 2px #2b319b;
	padding: 10px;
}

section#top_news p.history{
	background-color: #efefef;
	padding: 10px;
	text-align: center;
	margin-top: 30px;
}

section#top_news article{
	margin-top: 30px;
}

section#top_news article h3{
	margin-bottom: 15px;
}

section#top_news article div{
	margin-left: 15px;
}

section#top_news article div p{
	line-height: 1.5;
}


/*==================================================
footer
====================================================*/

footer{
	margin-top: 60px;
}

footer nav#foot_nav{
	background-color: #efefef;
	padding: 10px;
}

footer nav#foot_nav ul li{
	list-style-type: none;
	line-height: 1.5;
}

footer #footbx{
	background-color: #666666;
	color: #ffffff;
	line-height: 1.5;
	border-top: solid 3px #2b319b;
	padding: 10px;
}


/*==================================================
pagetop
====================================================*/

.pagetop {
    display: none;
    position: fixed;
    bottom: 0;
    right: 30px;
}
.pagetop a {
    display: block;
    /*background-color: #ccc;*/
    text-align: center;
    color: #222;
    font-size: 24px;
    text-decoration: none;
}
 
.pagetop a:hover {
    display: block;
    /*background-color: #1b608c;*/
    text-align: center;
    color: #fff;
    font-size: 24px;
    text-decoration: none;
}






/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
メディアクエリによる切り替え
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/* PC向けおよび大型タブレット向けのレイアウトの指定：769px～1320px */
@media only screen and (min-width: 769px){
	
	.kaig3{
		display: none;
	}
	
	/* -----------------nav------------------ */

	#nav-toggle{
		display: none;
	}
		
	/* header */
	#top-head {
		top: -100px;
		position: absolute;
		width: 100%;
		margin: 100px auto 0;
		padding: 0 0 0;
		line-height: 1;
		z-index: 999;
		background-color: #fff;
	}
	#top-head a,
	#top-head {
		color: #000;
		text-decoration: none;
	}
	#top-head .inner {
		position: relative;
	}
	#top-head .title {
		width: 200px;
		float: left;
		font-size: 36px;
	}

	#mobile-head {
		background: transparent;
	}


	#global-nav{
		position: absolute;
		top:60px;
		background: none;
		z-index: 1000;
	}

	#global-nav ul {
		list-style: none;
		position: absolute;
		right: 15px;
		bottom: 0;
		font-size: 14px;
	}

	#global-nav ul li {
		float: left;
		border-bottom: none;
		margin-right: 20px;
		border-bottom: solid 2px #ffffff;
	}
	
	#global-nav ul li:hover{
		border-bottom: solid 2px #2b319b;
	}
	
	#global-nav ul li:last-child{
		margin-right: 0;
		border-bottom: none;
	}
	
	#global-nav ul li span{
		display: block;
		padding: 5px;
	}
	
	#global-nav ul li#m_contact span{
		border: solid 1px #2b319b;
	}
	
	#global-nav ul li#m_contact span:hover{
		background-color: #e5e6ff;
	}
	
	#global-nav ul li a {
		padding: 0 30px;
	}

	#top-head #global-nav ul li a{
		color: #000000;
		padding: 0;
	}

	/* Fixed */
	#top-head.fixed {
		margin-top: 0;
		top: 0;
		position: fixed;
		padding-top: 0;
		padding-bottom: 40px;
		height: 55px;
		background: #fff;
		/* background: rgba(255,255,255,.7); */
		transition: top 0.65s ease-in;
		-webkit-transition: top 0.65s ease-in;
		-moz-transition: top 0.65s ease-in;
	}

	#top-head.fixed #global-nav ul li a {
		color: #000000;
		padding: 0;
	}

	/* -----------------nav end------------------ */
	
	/* topimg */
	#topimg{
		margin-top: 0;
	}	
	
	#topimg .formb{
		display: none;
	}
	
	#topimg .topimgforpc{
		display: block;
		height: 100vh;
	}
	
	#topimg .topimgforpc .toptext{
		margin-top: 50vh;
		text-align: center;
		font-weight: bold;
		visibility: hidden;
		text-shadow: 0 0 3px #ffffff, 0 0 10px #ffffff, 0 0 0.40px #ffffff;
	}
	
	
	
	/* meaning */
	section#meaning h2{
		font-size: 22px;
	}
	
	section#meaning p.mtext{
		font-size: 22px;
	}
	
	section#meaning #meaningbx{
		margin-top: 10%;
		margin-right: 40%;
	}
	

	
	/* top_news */
	section#top_news{
		background: url(../img/news_bg.jpg) right top no-repeat;
		background-size: cover;
	}
	
	section#top_news article{
		background-color: #ffffff;
		padding: 15px;
		opacity: 0.7;
	}
	
	section#top_news article h3{
		width: 25%;
		float: left;
		margin-bottom: 0;
	}
	
	section#top_news article div{
		width: 72%;
		float: right;
	}
	
	/* footer*/
	
	footer nav#foot_nav ul li{
		float: left;
		margin-right: 15px;
	}
	
	footer #footbx #cor{
		text-align: center;
	}

	
}

/* PC向けレイアウトの指定：1321px以上では固定レイアウト */
@media only screen and (min-width: 1321px){
	
	body{
		font-size: 14px;
	}
	
	.kaig2{
		display: none;
	}
	
	/* meaning */
	
	section#meaning #meaningbxout{
		width: 1280px;
		margin: 0 auto;
	}
	
	section#meaning #meaningbx{
		margin: 30% 40% 3% 0;
	}
	
	/* top_news */
	section#top_news #top_newsbx{
		width: 1280px;
		margin: 0 auto;
	}
	
	section#top_news #top_newsbx #top_newsinin{
		margin-right: 510px;
		padding-top: 15px;
	}
	
	/* topimg */
	#topimg .topimgforpc .toptext{
		font-size: 26px;
	}
	

}
